使用LangChain中Chroma向量数据库时遭遇NotFoundError求助
解决LangChain Chroma + OpenAIEmbeddings的NotFoundError问题
可能的原因及修复方案
API密钥或环境变量配置错误
确认OpenAI API密钥已正确设置为环境变量OPENAI_API_KEY,也可以在初始化OpenAIEmbeddings时显式传入密钥:embeddings = OpenAIEmbeddings(openai_api_key="你的有效API密钥")同时检查密钥是否未过期、未被禁用,且具备嵌入模型的访问权限。
OpenAI服务访问限制
若所在地区无法直接访问OpenAI服务,需配置代理后再初始化嵌入模型:embeddings = OpenAIEmbeddings( openai_api_key="你的密钥", openai_proxy="http://你的代理地址:端口" )另外确认使用的嵌入模型(默认是
text-embedding-ada-002)在你的API账号权限范围内。texts变量未正确定义
代码中的texts需是LangChain的Document对象列表,否则会导致Chroma处理失败,示例定义方式:from langchain_core.documents import Document texts = [Document(page_content="测试内容1"), Document(page_content="测试内容2")]依赖版本不兼容
检查langchain-openai、langchain-chroma的版本是否匹配,建议更新到最新稳定版:pip install --upgrade langchain-openai langchain-chroma
快速验证步骤
先单独测试OpenAIEmbeddings是否能正常工作,排除Chroma的干扰:
embeddings = OpenAIEmbeddings() print(embeddings.embed_query("测试文本"))
如果这一步也报404,说明问题完全出在OpenAI API的访问环节,和Chroma无关。
内容的提问来源于stack exchange,提问作者Harshitha S
相关产品推荐
相关产品推荐

