构建RAG模型时Pinecone向量库遇Api-Key未指定配置错误
解决PineconeVectorStore.from_documents的API Key配置错误问题
问题核心:你手动创建了Pinecone客户端实例,但LangChain的PineconeVectorStore.from_documents方法无法复用这个实例的配置,它需要单独传入API Key,或者通过环境变量、已有的索引实例来获取认证信息。
解决方案1:直接在from_documents中传入API Key
修改调用from_documents的代码,补充API Key参数(同时修正原代码中参数间缺失的逗号):
docsearch = PineconeVectorStore.from_documents( documents=doc, index_name=index_name, embedding=embedding, namespace=namespace, api_key='a561dac3-3246-4aff-97fb-1f648d2ce750', host="https://text-embeddings-nudmpai.svc.aped-4627-b74a.pinecone.io" )
解决方案2:复用已创建的Pinecone索引实例
先获取已创建的索引,再用该实例初始化PineconeVectorStore,避免重复配置:
# 获取已存在的索引 index = pc.Index(index_name) # 用索引实例创建PineconeVectorStore并添加文档 docsearch = PineconeVectorStore( index=index, embedding=embedding, namespace=namespace ) docsearch.add_documents(documents=doc)
解决方案3:通过环境变量配置(推荐)
将API Key和Host设置为环境变量,LangChain会自动读取,避免硬编码:
import os os.environ["PINECONE_API_KEY"] = "a561dac3-3246-4aff-97fb-1f648d2ce750" os.environ["PINECONE_HOST"] = "https://text-embeddings-nudmpai.svc.aped-4627-b74a.pinecone.io" # 调用from_documents时无需再传api_key和host docsearch = PineconeVectorStore.from_documents( documents=doc, index_name=index_name, embedding=embedding, namespace=namespace )
内容的提问来源于stack exchange,提问作者Prerna
相关产品推荐
相关产品推荐

