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) 大規模結構化提取(發票、日誌、合約)
- 您將構建: 具有結構描述驗證的確定性 JSON 輸出
- 主要概念: Pydantic 結構描述、重試、工具增強驗證
- 為何如此出色: 減少手動審查並使 LLM 輸出可靠。
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) 成本和延遲衛生
- 快取嵌入: 對文字進行重複資料刪除並在建置中重複使用向量。
- 批次操作: 批量建立索引; 串流答案以改善 UX。
- 更智慧的上下文: 不要過度填充提示,而是使用 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)。
- 以 768 個權杖分塊; 索引到 pgvector。
- 建立工具:
create_jira_ticket、lookup_oncall、fetch_policy。
- 結果: 快速、引用的答案; 一鍵式任務自動化; 可衡量的準確性。
這些教學課程可協助您避免的常見錯誤
- 超大的分塊: 權杖膨脹會增加成本,而不會提供更好的答案。
- 工具規格不足: 代理需要明確的輸入和確定性的輸出。
補充 LlamaIndex 教學的工具
- 向量儲存庫: pgvector、Pinecone、Weaviate、Qdrant
- 重新排序器: Cohere Rerank、FlagEmbedding、Voyage rerank
- 評估: Ragas 風格的 QA、LlamaIndex 評估、自訂評分標準評分器
- UI: Streamlit、Next.js、FastAPI websockets 用於串流權杖
順便說一句,如果您喜歡在瀏覽器中透過實作來學習,值得注意的是,Sider.ai 可讓您並排與程式碼、文件和網頁聊天。 您可以從 LlamaIndex 教學中貼上程式碼片段、執行提示並更快地迭代,這對於測試 RAG 提示和在您學習的同時提取結構化輸出非常方便。 要搜尋的內容:尋找最新的 LlamaIndex 教學
- 「LlamaIndex 快速入門 RAG pdf」
- 「LlamaIndex SubQuestionQueryEngine 範例」
- 「LlamaIndex pgvector Pinecone 指南」
尋找使用 Settings.llm、Settings.embed_model、VectorStoreIndex 和 as_query_engine 的最新程式碼,這些是目前的慣用語。
主要要點
- 最好的 LlamaIndex 教學可協助您交付成果,而不僅僅是程式碼片段。
- 從在文件上聊天開始,然後分層檢索品質、工具和評估。
- 使用實際的向量儲存庫、新增規劃器以解決複雜問題,並不斷測試。
- 小的架構選擇(分塊、重新排序、篩選器)比交換模型更能改變結果。
- 當您遵循結構化的計畫並構建實際的東西時,學習會加速。
下一步
- 從前三個教學中選擇一個,並立即構建一個最小的應用程式。
- 隨著範圍的擴大,重新造訪進階教學(代理、多模態、多租戶)。
常見問題
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。