用Pinecone+Llama-2构建聊天机器人遇AttributeError:Pinecone无from_existing_index属性
问题:Pinecone与LangChain整合时出现AttributeError
跟着Git仓库学习用Pinecone和Llama-2搭建聊天机器人,复制代码后调用Pinecone模块时触发属性错误,怀疑是langchain_pinecone与原生pinecone库冲突,求解决方法。
依赖导入代码
from langchain import PromptTemplate from langchain.chains import RetrievalQA from langchain.embeddings import HuggingFaceEmbeddings from langchain.vectorstores import Pinecone import pinecone from langchain.document_loaders import PyPDFLoader, DirectoryLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.prompts import PromptTemplate from langchain.llms import CTransformers from tqdm import tqdm import os from pinecone import Pinecone, ServerlessSpec
报错代码
docsearch=Pinecone.from_existing_index(index_name, embeddings) query = "What are Allergies" docs=docsearch.similarity_search(query, k=3) print("Result", docs)
报错信息
AttributeError Traceback (most recent call last)
in <cell line: 1>()
----> 1 docsearch=Pinecone.from_existing_index(index_name, embeddings)
2
3 query = "What are Allergies"
4
5 docs=docsearch.similarity_search(query, k=3)AttributeError: type object 'Pinecone' has no attribute 'from_existing_index'
解决方案
1. 解决导入重名冲突
代码中同时导入了langchain.vectorstores下的Pinecone和原生pinecone库的Pinecone,后者覆盖了前者,而原生Pinecone类没有from_existing_index方法(该方法属于LangChain封装的类)。
修改导入语句,给其中一个类起别名:
# 修改导入,区分两个Pinecone类 from langchain.vectorstores import Pinecone as LangChainPinecone from pinecone import Pinecone, ServerlessSpec
然后调整报错代码中的调用:
docsearch=LangChainPinecone.from_existing_index(index_name, embeddings)
2. 确保依赖版本正确
卸载可能冲突的旧包,重新安装适配的版本:
pip uninstall -y pinecone-client langchain langchain-pinecone pip install langchain langchain-pinecone pinecone-client
3. 适配Pinecone v2新API
如果使用的是Pinecone服务器端v2 API,需要先初始化客户端再创建LangChain实例:
# 初始化Pinecone客户端 pc = Pinecone(api_key="你的Pinecone API密钥") # 获取目标索引 index = pc.Index(index_name) # 创建LangChain的Pinecone实例(替换text_field为你索引中存储文本的字段名) docsearch = LangChainPinecone(index, embeddings.embed_query, "text_field")
内容的提问来源于stack exchange,提问作者Pkun
相关产品推荐
相关产品推荐

