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

如何使用LangChain加载LlamaIndex生成的本地索引并执行查询?

如何用LangChain加载LlamaIndex生成的索引并查询

你已经通过LlamaIndex生成并持久化了索引到myindex目录,现在可以通过以下步骤将该索引接入LangChain生态,使用其Prompts、Chains、Agents等功能:

核心思路

先加载LlamaIndex的本地索引,将其转换为LangChain兼容的Retriever,再结合LangChain的检索问答链(RetrievalQA)等组件完成查询。

具体实现代码

修改你的查询代码为如下形式:

from llama_index import StorageContext, load_index_from_storage
from langchain.llms import OpenAI
from langchain.chains import RetrievalQA
from llama_index.langchain_helpers import LlamaIndexRetriever
import os

# 设置OpenAI API密钥
os.environ["OPENAI_API_KEY"] = "你的API密钥"

# 加载LlamaIndex本地索引
storage_context = StorageContext.from_defaults(persist_dir="myindex")
index = load_index_from_storage(storage_context)

# 转换为LangChain Retriever
retriever = LlamaIndexRetriever(index=index)

# 初始化LangChain的检索问答链
qa_chain = RetrievalQA.from_chain_type(
    llm=OpenAI(temperature=0),
    chain_type="stuff",
    retriever=retriever,
    return_source_documents=True
)

# 执行查询
result = qa_chain({"query": "Who is Avery?"})
print("答案:", result["result"])
print("\n来源文档:", result["source_documents"])

关键说明

  • LlamaIndexRetriever:这是LlamaIndex提供的适配层,能将自身的索引转换为LangChain标准的Retriever接口,实现两者无缝对接。
  • RetrievalQA链:这是LangChain中用于基于检索结果生成回答的常用链,你可以根据需求替换为其他链类型(比如map_reduce、refine),或者自定义Prompt调整回答风格。
  • 扩展使用:完成上述步骤后,你可以将该Retriever接入LangChain的Agent、自定义Chain等组件,充分利用LangChain的生态能力。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 07:52:50