LangChain在Manjaro Linux终端无查询输出的问题排查求助
问题分析与解决
你的代码核心问题是没有打印查询结果,Python中调用chain.run()会返回结果,但如果不主动输出,终端不会显示内容。除此之外,还有几个细节需要排查:
1. 必须添加打印语句
在每个chain.run()调用后加上print(),让结果输出到终端:
query = "who are the authors of the article?" docs = docsearch.similarity_search(query) print(chain.run(input_documents=docs, question=query)) query = "what was the cost of training the GPT4all model?" docs = docsearch.similarity_search(query) print(chain.run(input_documents=docs, question=query))
2. 检查依赖版本兼容性
不同版本的LangChain和关联库可能存在API差异:
- 若使用较新的LangChain版本,建议用
ChatOpenAI替代OpenAI(需导入from langchain.chat_models import ChatOpenAI),并指定具体模型,避免默认模型适配问题:chain = load_qa_chain(ChatOpenAI(model="gpt-3.5-turbo"), chain_type="stuff") - 升级所有相关依赖到最新版,避免版本冲突:
pip install --upgrade PyPDF2 langchain openai faiss-cpu
3. 验证PDF文本提取是否成功
在raw_text[:100]行添加打印,确认PDF内容是否被正确读取:
print(raw_text[:100])
如果输出为空,要么是PDF路径错误(检查'mypath/2023_GPT4All_Technical_Report.pdf'是否为有效绝对/相对路径),要么是该PDF无法被PyPDF2提取文本(可换一个普通文本PDF测试)。
4. 确认OpenAI API密钥有效性
确保os.environ["OPENAI_API_KEY"]中的密钥正确,且账户有可用额度——密钥无效或额度不足会导致静默失败,可单独调用OpenAI基础API测试连通性。
内容的提问来源于stack exchange,提问作者user3822607
相关产品推荐
相关产品推荐

