LlamaIndex 2026:构建你的私有 AI 知识库 (RAG)
不止是连接数据,LlamaIndex 是 RAG 应用的终极框架。从 PDF 到通过 SQL 查询数据库,让 AI 真正读懂你的数据。
如果 LangChain 是瑞士军刀,那么 LlamaIndex 就是专门用来做手术的精密仪器——特别是针对数据的手术。
在构建 RAG (检索增强生成) 应用时,如何高效地处理、索引和检索数据是最大的痛点。LlamaIndex(原 GPT Index)专注于此,它能让 LLM 像读取内存一样轻松读取你的私有数据(PDF、Notion、SQL、API)。
什么是 LlamaIndex?
LlamaIndex 是一个数据框架,用于将自定义数据源连接到大型语言模型。
它解决了三个核心问题:
- Ingestion (摄入):怎么把五花八门的数据(飞书文档、Slack记录、PDF)读进来?
- Indexing (索引):怎么切分、向量化并存储这些数据?
- Querying (查询):怎么在海量数据中精准找到 AI 需要的那一段?
环境搭建
1. 安装
pip install llama-index
2. 配置 OpenAI Key
LlamaIndex 默认使用 OpenAI 的嵌入模型和 LLM。
export OPENAI_API_KEY="sk-proj-xxxxxxxx"
实战:5行代码实现 “与 PDF 对话”
假设你有一份 sample.pdf(比如产品手册),我们想让 AI 基于它回答问题。
- 创建一个文件夹
data,把sample.pdf放进去。 - 编写 python 脚本:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
# 1. 读取数据
documents = SimpleDirectoryReader("data").load_data()
# 2. 构建索引(自动切分、Embedding、存内存)
index = VectorStoreIndex.from_documents(documents)
# 3. 创建查询引擎
query_engine = index.as_query_engine()
# 4. 提问
response = query_engine.query("这份手册里提到的保修期是多久?")
print(response)
发生了什么?
SimpleDirectoryReader自动解析了 PDF 文本。VectorStoreIndex调用 OpenAI Embedding API 将文本转化为向量。query会先在向量库中搜索最相似的段落,然后把段落+问题打包发给 GPT-4,最后生成回答。
进阶玩法:Agentic RAG (智能体 RAG)
2026 年的 RAG 不再是简单的 “检索-回答”,而是具备推理能力的 Agent。LlamaIndex 提供了强大的 Agent 接口。
想象一个场景:你需要 AI 分析一份复杂的财务报表。普通的 RAG 可能会因为文档切分太碎而回答错误。LlamaIndex 的 ReAct Agent 可以:
- 先搜索 “2025 年 Q4 收入”。
- 发现数据在表格里,于是调用 “Pandas Query Engine” 工具。
- 计算增长率。
- 综合得出结论。
from llama_index.core.agent import ReActAgent
from llama_index.core.tools import FunctionTool
# 定义一个计算工具
def time_travel_tax_calculator(year: int, income: float) -> float:
"""计算未来的税收"""
if year > 2030:
return income * 0.5
return income * 0.2
tool = FunctionTool.from_defaults(fn=time_travel_tax_calculator)
# 创建 Agent
agent = ReActAgent.from_tools([tool, ...], verbose=True)
agent.chat("如果我在 2032 年赚了 100 万,要交多少税?")
为什么选择 LlamaIndex 而不是 LangChain?
其实两者并不冲突,经常配合使用。但如果你的应用重数据(例如:需要处理数百万份文档,需要复杂的知识图谱检索),LlamaIndex 的高级检索策略(如 Hierarchy Index, Sentence Window Retrieval)会比 LangChain 默认的方案效果好得多。
总结
- LangChain:擅长流程编排,通用性强。
- LlamaIndex:擅长数据 RAG,检索精度高。
建议: 用 LlamaIndex 处理数据索引和检索,用 LangChain (或 LlamaIndex 原生 Agent) 处理上层交互逻辑。
在这个数据即资产的时代,LlamaIndex 是帮你挖掘数据金矿的铲子。