You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需重新加载数据与向量,查询现有Pinecone索引并生成docsearch对象

解决方案:直接连接已存在的Pinecone索引

要复用已有的Pinecone索引进行查询,不需要重复加载文档、分割文本或上传向量,只需用Pinecone.from_existing_index()方法生成docsearch对象即可,具体实现如下:

简化后的查询代码

import pinecone
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Pinecone
import os
from langchain.llms import OpenAI
from langchain.chains.question_answering import load_qa_chain

# 初始化Pinecone(配置需和创建索引时一致)
pinecone.init(
    api_key=PINECONE_API_KEY,
    environment=PINECONE_API_ENV
)
index_name = "mlqai"

# 初始化嵌入模型(查询时需将提问转为向量,必须保留)
embeddings = OpenAIEmbeddings(openai_api_key=os.environ['OPENAI_API_KEY'])

# 直接连接已有索引生成docsearch对象
docsearch = Pinecone.from_existing_index(index_name, embeddings)

# 后续查询逻辑与之前完全一致
llm = OpenAI(temperature=0, openai_api_key=os.environ['OPENAI_API_KEY'])
chain = load_qa_chain(llm, chain_type="stuff")

query = "que sabes de los patinetes?"
docs = docsearch.similarity_search(query)
answer = chain.run(input_documents=docs, question=query)
print(answer)

关键说明

  • from_existing_index是LangChain专为Pinecone设计的方法,用于直接连接已创建并填充过向量的索引,省去了文档处理、向量上传的重复步骤。
  • 嵌入模型必须初始化,因为查询时需要将问题转换为与索引中向量同维度的嵌入向量,才能完成相似度匹配。
  • Pinecone的初始化配置(API密钥、环境)必须和创建索引时完全一致,否则无法成功连接目标索引。

内容的提问来源于stack exchange,提问作者Francisco Ghelfi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 03:55:27