我是这个主题的新手。我想要一个链,允许我使用检索器、内存并设置 chain_type = 'map_reduce'。除此之外,我想知道是否有可能仅在令牌数量超过限制的情况下使用map_reduce。谢谢您的建议。
我尝试使用“ConversationalRetrievalChain.from_llm”或“RetrievalQA.from_llm”,但我不知道如何组合链的不同功能。
仅在以下情况下才可以使用map_reduce: 代币数量超出限制。
这就是
map_reduce
的目的。它会首先对文档进行总结,然后将它们组合起来,然后对这些组合的总结进行总结。您的最终输出将符合模型的代币限制
这是你的代码
from langchain.chains import RetrievalQA
qa = RetrievalQA.from_chain_type(
llm=ChatOpenAI(),
chain_type='map_reduce',
retriever=retriever,
chain_type_kwargs={
"prompt": SETYOURPROMPTHERE,
"memory": SETYOURMEMORYHERE
)