Langchain触发apply_and_parse方法弃用警告,求解决方案
解决Langchain中apply_and_parse方法弃用警告
问题原因
使用ConversationalRetrievalChain且指定chain_type="map_rerank"时,Langchain旧版本的内部实现依赖已弃用的apply_and_parse方法,新版本要求直接将输出解析器传递给LLMChain,因此触发该警告。
解决方案
手动构建MapRerankDocumentsChain并显式传入输出解析器,替代from_llm的快捷创建方式。
修改后的完整代码
from langchain.chains import ConversationalRetrievalChain, MapRerankDocumentsChain from langchain.chains.llm import LLMChain from langchain.prompts import PromptTemplate from langchain.output_parsers import MapRerankOutputParser from langchain.memory import ConversationBufferMemory from langchain.vectorstores import FAISS from langchain.embeddings import OpenAIEmbeddings from langchain.llms import OpenAI Vector_Path = "你的向量库路径" embeddings = OpenAIEmbeddings() def LoadVector(): global VectorStore VectorStore = FAISS.load_local(Vector_Path, embeddings) LoadVector() memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True ) retriever = VectorStore.as_retriever(search_type="mmr") # 定义map_rerank所需的Prompt模板(必须包含评分指令) prompt_template = """使用以下上下文片段回答最后的问题。 你必须根据回答贴合问题的程度从1到10评分,10为最佳。 上下文: {context} 问题: {question} 先输出答案,然后换行并写"Rank: [数字]"。 """ PROMPT = PromptTemplate( template=prompt_template, input_variables=["context", "question"] ) # 初始化输出解析器 output_parser = MapRerankOutputParser() # 创建带输出解析器的LLMChain llm_chain = LLMChain( llm=OpenAI(temperature=0), prompt=PROMPT, output_parser=output_parser ) # 创建MapRerankDocumentsChain rerank_chain = MapRerankDocumentsChain( llm_chain=llm_chain, document_variable_name="context", rank_key="Rank", answer_key="answer" ) # 构建最终的对话检索链 qa = ConversationalRetrievalChain( retriever=retriever, combine_docs_chain=rerank_chain, memory=memory ) query="what is power app give response in detail" result = qa({"question": query}) print(result)
关键修改点
- 新增导入
MapRerankOutputParser、MapRerankDocumentsChain和LLMChain模块 - 定义符合map_rerank逻辑的Prompt模板,明确要求输出答案和评分
- 创建
LLMChain时直接传入output_parser参数 - 用手动构建的
rerank_chain替代原from_llm方法中的chain_type="map_rerank"参数
内容的提问来源于stack exchange,提问作者Amardeep raj
相关产品推荐
相关产品推荐

