2025年掌握RAG的10个最佳LlamaIndex教程
如果您听说检索增强生成(RAG)可以使您的LLM应用程序更智能,那么您是对的。如今,快速交付可靠的、类似搜索的AI助手的方法是学好LlamaIndex——而最好的LlamaIndex教程可以将您的学习曲线从几个月缩短到几天。
在本指南中,我们精心挑选了适合各个级别的最佳LlamaIndex教程——从复制粘贴的快速入门到生产级管道。您将找到视频演练、实践笔记本和用于多租户数据、结构化提取、代理和评估的高级方案。
我们还将每个教程映射到您关心的技能或结果:构建基于文档的聊天、扩展嵌入、添加工具、流式传输答案或验证结果。
到最后,您将知道从哪个LlamaIndex教程开始,接下来要学习哪些教程,以及如何将它们组合成一个真正的产品。
为什么LlamaIndex教程现在很重要
- RAG是AI应用程序的现在时。 LLM会产生幻觉;RAG将答案扎根于您的数据中。
- LlamaIndex是最具凝聚力的RAG堆栈。 它将索引、检索、查询规划、可观察性和评估封装到可组合的模块中,这些模块可以与LangChain、OpenAI、Anthropic和开源LLM很好地配合使用。
- 教程是您的快速通道。 最好的LlamaIndex教程不仅演示了代码,还演示了架构决策:分块、重新排序、缓存和防护措施。
如果您的目标是:“与我的文档聊天并且不产生幻觉”,那么此列表将帮助您实现目标。
我们如何选择最佳LlamaIndex教程
- 以结果为导向: 您应该在每个教程之后交付一些有用的东西。
- 2025年的最新信息: 反映当前的LlamaIndex API(例如,
VectorStoreIndex,Settings,QueryPipeline,ReActAgent)。
- 具有生产意识: 展示评估、跟踪和迭代——超越hello world。
- 广度+深度: 从快速入门到代理、多模态和结构化提取。
10个最佳LlamaIndex教程(精选)
下面是一个精心策划的路径。从您的水平开始;根据需要跳转。
1) 15分钟快速入门:基于您的PDF进行聊天
- 关键概念:
SimpleDirectoryReader,VectorStoreIndex,Settings,嵌入
示例框架:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader, Settings
from llama_index.embeddings.openai import OpenAIEmbedding
from llama_index.llms.openai import OpenAI
Settings.llm = OpenAI(model="gpt-4o-mini")
Settings.embed_model = OpenAIEmbedding(model="text-embedding-3-small")
docs = SimpleDirectoryReader("./docs").load_data
index = VectorStoreIndex.from_documents(docs)
query_engine = index.as_query_engine(similarity_top_k=3)
response = query_engine.query("What are the key findings in the Q3 report?")
print(response)
- 接下来您将学习: 分块大小,top‑k,以及为什么重新排序很重要。
2) 具有分块、元数据和重新排序的RAG基础知识
- 您将构建什么: 具有更好上下文质量的更智能的检索器
- 关键概念:
SentenceSplitter,元数据过滤器,rerank组件
尝试:
from llama_index.core.node_parser import SentenceSplitter
from llama_index.postprocessor.flag_embedding_reranker import FlagEmbeddingReranker
splitter = SentenceSplitter(chunk_size=512, chunk_overlap=100)
# attach metadata like source, page, section during ingest
reranker = FlagEmbeddingReranker(top_n=5)
query_engine = index.as_query_engine(
similarity_top_k=15,
node_postprocessors=[reranker]
)
3) LlamaIndex + OpenAI函数调用(工具使用和结构化输出)
- 您将构建什么: 一个调用工具并返回JSON模式的代理
- 关键概念:
QueryPipeline,工具规范,Pydantic模式,函数调用
- 为什么它很棒: 将问答与实际操作(搜索、CRUD、API)连接起来
from pydantic import BaseModel
from llama_index.core.tools import FunctionTool
class Ticket(BaseModel):
title: str
severity: str
def create_ticket(title: str, severity: str) -> str:
# write to your system
return f"Ticket created: {title} ({severity})"
tool = FunctionTool.from_defaults(fn=create_ticket)
agent = index.as_chat_engine(tools=[tool], chat_mode="react")
print(agent.chat("Create a P1 ticket for database latency spikes."))
4) 构建生产向量存储(Postgres, Pinecone, Weaviate)
- 您将构建什么: 具有过滤器和混合搜索的持久向量存储
- 关键概念:
VectorStoreIndex适配器,混合BM25+嵌入,元数据
提示:
- 使用Postgres/pgvector进行简单、经济实惠的部署。
- Pinecone/Weaviate用于托管规模;调整
ef_construction,ef_search。
5) 使用代理进行查询规划和多步骤推理
- 关键概念:
ReActAgent,SubQuestionQueryEngine,路由
- 为什么它很棒: 从“检索然后回答”转变为“思考然后搜索”。
模式:
from llama_index.core.query_engine import SubQuestionQueryEngine
from llama_index.core.tools import QueryEngineTool, ToolMetadata
# suppose you have multiple indices
engine_a = index_a.as_query_engine
engine_b = index_b.as_query_engine
sqe = SubQuestionQueryEngine.from_defaults(
query_engine_tools=[
QueryEngineTool(engine=engine_a, metadata=ToolMetadata(name="finance")),
QueryEngineTool(engine=engine_b, metadata=ToolMetadata(name="product")),
]
)
print(sqe.query("How did product churn affect Q4 revenue?"))
6) 可观察性和评估:跟踪、基础性和基准
- 关键概念: LlamaIndex评估,分级QA,引文检查,跟踪
清单:
7) 用于多模态数据的RAG(图像、表格、Markdown)
- 您将构建什么: 从图像中提取文本并对表格进行推理的管道
- 关键概念: OCR +布局解析,表格分块,多模态模型
- 为什么它很棒: 真实世界的文档很混乱;本教程向您展示如何驯服它们。
8) 多租户和检索隔离
- 您将构建什么: 一种RAG服务,其中每个客户的数据都是隔离的
- 关键概念: 命名空间,元数据保护,每个租户的索引,RBAC
- 为什么它很棒: 通过设计实现安全性和隐私;干净的升级路径。
9) 大规模结构化提取(发票、日志、合同)
- 关键概念: Pydantic模式,重试,工具增强验证
10) 端到端生产模式:从笔记本电脑到CI/CD
- 您将构建什么: 具有数据摄取、索引作业、评估和发布闸门的完整管道
- 关键概念: 后台工作程序,计划的重新索引,功能标志
为您的目标选择正确的LlamaIndex教程
使用此快速路由器来选择您的下一步:
- “我今天需要结果。” 从快速入门(教程#1)开始,然后添加重新排序(教程#2)。
- “我想要行动,而不仅仅是答案。” 跳转到函数调用和代理(教程#3和#5)。
- “我们有规模和合规性需求。” 存储+多租户模式(教程#4和#8)。
- “我们的文档是视觉重的。” 多模态RAG(教程#7)。
- “我们需要结构化数据。” 使用模式和验证器(教程#9)。
深入探讨:您将在顶级LlamaIndex教程中看到的最佳实践
1) 分块是一个产品决策
- 权衡: 较大的块=更多的上下文,但更高的令牌成本;较小的块=更高的召回率,但含义分散。
- 良好的默认值: 512–1024个令牌,重叠约10–20%。
2) 检索质量胜过模型大小
- 重新排序: 添加交叉编码器或嵌入重新排序器以获得更好的MRR。
- 混合搜索: 将BM25用于罕见术语与用于语义的嵌入相结合。
- 过滤器: 按文档类型、日期或租户缩小范围以提高精度。
3) 尽早评估,始终评估
- 指标: 答案正确性、基础性、延迟和每次查询的成本。
- 安全地进行A/B测试: 在切换之前,影子部署新的分块或检索器。
4) 使操作成为一等公民
- 工具: 将API(搜索、日历、DB)包装为代理可以调用的函数。
5) 成本和延迟卫生
- 批量操作: 批量索引;流式传输答案以改善用户体验。
- 更智能的上下文: 不要过度填充提示—而是使用top‑k +重新排序。
使用最佳LlamaIndex教程的7天学习计划
- 第1天: 快速入门(教程#1)。构建基于20页PDF的聊天。交付CLI。
- 第2天: 改进检索(教程#2)。添加重新排序器+混合搜索。
- 第3天: 添加函数调用(教程#3)。在您的API中创建一个用于常见问题的工具。
- 第4天: 转移到真实的向量存储(教程#4)。在本地使用pgvector。
- 第5天: 引入规划器(教程#5)。在两个索引之间路由问题。
- 第6天: 添加评估(教程#6)。创建一个30个问题的测试集和基线。
- 第7天: 生产通过(教程#10)。后台作业、可观察性、CI。
示例项目:使用LlamaIndex的“文档礼宾”
- 目标: 一个安全的内部助手,可以回答有关流程文档的问题并打开工单。
- 堆栈: LlamaIndex, Postgres/pgvector, OpenAI/Anthropic, FastAPI, S3。
- 摄取Confluence导出和PDF(保留元数据+ ACL)。
- 创建工具:
create_jira_ticket,lookup_oncall,fetch_policy。
- 结果: 快速、引用的答案;一键式任务自动化;可衡量的准确性。
这些教程可帮助您避免的常见错误
- 超大块: 令牌膨胀会增加成本,而不会提供更好的答案。
- 未充分指定工具: 代理需要明确的输入和确定性的输出。
补充LlamaIndex教程的工具
- 向量存储: pgvector, Pinecone, Weaviate, Qdrant
- 重新排序器: Cohere Rerank, FlagEmbedding, Voyage rerank
- 评估: Ragas-style QA, LlamaIndex评估,自定义评分标准
- UI: Streamlit, Next.js, FastAPI websockets 用于流式传输令牌
顺便说一句,如果您喜欢通过在浏览器中进行操作来学习,那么值得注意的是,Sider.ai 可让您并排与代码、文档和网页聊天。您可以粘贴LlamaIndex教程中的代码片段,运行提示,并更快地迭代——在您学习时,这对于测试RAG提示和提取结构化输出非常方便。 要搜索什么:查找最新的LlamaIndex教程
- “LlamaIndex SubQuestionQueryEngine示例”
- “LlamaIndex pgvector Pinecone指南”
查找使用Settings.llm,Settings.embed_model,VectorStoreIndex和as_query_engine的最新代码——这些是当前的习惯用法。
主要收获
- 最好的LlamaIndex教程可以帮助您交付结果,而不仅仅是代码片段。
- 从基于文档的聊天开始,然后分层进行检索质量、工具和评估。
- 使用真实的向量存储,为复杂问题添加规划器,并进行无情的测试。
- 小的架构选择——分块、重新排序、过滤器——比交换模型更能改变结果。
- 当您遵循结构化的计划并构建真实的东西时,学习会加速。
下一步是什么
- 从前三个教程中选择一个,并立即构建一个最小的应用程序。
- 计划您的生产迁移:存储、身份验证、可观察性和CI。
- 随着范围的扩大,重新访问高级教程(代理、多模态、多租户)。
常见问题解答
Q1:初学者最好的LlamaIndex教程是什么?
从使用VectorStoreIndex和SimpleDirectoryReader构建基于您的PDF的聊天的快速入门开始。然后添加一个关于分块、元数据和重新排序的教程,以提高检索质量。
Q2:如何使用LlamaIndex构建生产RAG应用程序?
按照涵盖向量存储(pgvector, Pinecone)、混合检索和使用分级QA进行评估的教程进行操作。添加跟踪、结构化输出和CI/CD以从笔记本电脑转移到生产环境。
Q3:哪个LlamaIndex教程教授代理和工具的使用?
查找使用ReAct风格的代理、QueryPipeline和使用Pydantic模式进行函数调用的指南。这些教程展示了如何路由查询、调用API和返回结构化JSON。
Q4:如何评估LlamaIndex RAG的准确性?
使用评估教程,这些教程介绍了基础性检查、引文覆盖率和分级QA数据集。跟踪正确性、延迟和成本,以便在部署之前发现回归。
Q5:是否有用于多模态文档的LlamaIndex教程?
是的,寻找将OCR和布局解析相结合以处理图像和表格的教程,然后使用元数据索引提取的文本。它们展示了如何在RAG中处理图表、屏幕截图和复杂的PDF。