Langchain-Pinecone相似性搜索报错:namespace参数类型无效
问题描述
本地使用Pinecone现有索引执行相似性搜索时触发以下错误,相同代码在Colab中运行完全正常:
pinecone.core.client.exceptions.ApiTypeError: Invalid type for variable 'namespace'. Required value type is str and passed type was NoneType at ['namespace']
实现代码
embeddings = OpenAIEmbeddings( openai_api_key=openai_api_key, model=embedding_model, ) pinecone.init( api_key=os.getenv("pineconeapikey"), # find at app.pinecone.io environment=os.getenv("pineconeenvironment"), # next to api key in console def data(query): """ Answer product related questions. Function requires user query""" docsearch = Pinecone.from_existing_index(index_name, embeddings) answer = docsearch.similarity_search(query) return answer
解决方法
1. 检查索引名称变量
确认index_name已被正确赋值为字符串类型的索引名称,未被设为None。
2. 显式指定namespace参数
本地Pinecone客户端对参数校验更严格,需显式传入namespace参数:
- 若索引未使用自定义namespace,直接传空字符串
"" - 若有指定的namespace,传入对应的字符串
修改后的核心代码:
def data(query): """ Answer product related questions. Function requires user query""" docsearch = Pinecone.from_existing_index(index_name, embeddings, namespace="") answer = docsearch.similarity_search(query) return answer
3. 对齐客户端版本
Colab与本地的Pinecone客户端版本可能存在差异,升级本地版本至与Colab一致:
pip install --upgrade pinecone-client
内容的提问来源于stack exchange,提问作者Axen_Rangs
相关产品推荐
相关产品推荐

