LangChain中Indexes和Language Model之间的关系?

有了Indexes就可以索引本地的文档, 这个时候是不是就不需要有Language Model了?
或者说Indexes是可以独立于Language Model?

index(这里具体点来说是向量检索)只能帮助做相似度检索(语义相似度),检索出来的内容如果直接给用户,用户会一脸懵逼(看不懂,因为不连贯);这个时候就需要LLM来做Summary总结。

当然你是可以先通过index再做Summary这种方式提前离线做好,线上就可以直接给出Summary,而不需要额外请求一次LLM。

做summary有几种方法,比如:

方法1:MapReduce方法

  1. 将一整篇文档Split为一个个chunk,然后针对每个chunk做summary,根据情况上面可以做多层
  2. 并且可以做并行调用处理

方法2:Refine方法

  1. 将第一个chunk做summary后,附加到第二个chunk之前再做summary,依次递归
  2. 缺点是只能是链式处理

方法3:Map-Rerank

  1. 类似于MapReduce,但是每轮MapReduce后都会打一个相关分,上层再做summary时,只对分数最高的做summary
  2. 节省LLM的call次数

明白了, 多谢!