StuffDocumentsChain
stuffDocumentsChain将多个文档组装成一个prompt 并传入大模型(LLM),这种方式可以确保需要的信息都传入,进而获取到所需的上下文。
ReduceDocumentsChain
reduceDocumentsChain通过迭代简化组合文档,将文档分成小于某个context长度的小块并传入LLM,得到响应后继续进行此操作,直到将所有内容传到最后一个LLM,适用于有很多文档,并且可以并行执行。
MapReduceDocumentsChain
MapReduceDocumentsChain首先传递每个文档到LLM,然后通过ReduceDocumentsChain简化文档,使用场景和ReduceDocumentsChain类似,但是在简化文档之前需要进行LLM的初始化调用。
RefineDocumentsChain
RefineDocumentsChain基于第一个文档生成初始答案,之后再循环其余文档来改进答案。顺序操作,不能并行操作。