LangChain 1.0.3使用create_retrieval_chain替代RetrievalQA时导入失败求助
解决LangChain 1.0.3中
create_retrieval_chain导入失败的问题 LangChain 1.0+版本对模块结构进行了调整,create_retrieval_chain和create_stuff_documents_chain的导入路径已变更,原文档中的旧导入路径不再适用。
修正后的导入代码
将原导入语句替换为以下内容:
from langchain.chains.retrieval import create_retrieval_chain from langchain.chains.combine_documents.stuff import create_stuff_documents_chain from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI
完整可运行代码示例
from langchain.chains.retrieval import create_retrieval_chain from langchain.chains.combine_documents.stuff import create_stuff_documents_chain from langchain_core.prompts import ChatPromptTemplate from langchain_openai import ChatOpenAI retriever = ... # 你的检索器实例 llm = ChatOpenAI() system_prompt = ( "Use the given context to answer the question. " "If you don't know the answer, say you don't know. " "Use three sentence maximum and keep the answer concise. " "Context: {context}" ) prompt = ChatPromptTemplate.from_messages( [ ("system", system_prompt), ("human", "{input}"), ] ) question_answer_chain = create_stuff_documents_chain(llm, prompt) chain = create_retrieval_chain(retriever, question_answer_chain) # 替换为你的查询语句 query = "你的问题内容" result = chain.invoke({"input": query}) print(result)
额外排查步骤
- 确认已安装完整的LangChain包,执行
pip install langchain --upgrade确保版本为1.0.3或更高 - 避免仅安装
langchain-core等子集包,完整包包含所有链实现模块
内容的提问来源于stack exchange,提问作者Saad Cherkaoui Ikbal
相关产品推荐
相关产品推荐

