LlamaIndex 简介

LlamaIndex 是什么?

LlamaIndex(曾用名 GPT Index)是构建 上下文增强 LLM 应用 的开源框架,由 LlamaIndex 维护。它把「连接数据 → 解析切块 → 建索引 → 检索 → 生成 / Agent」收成一套 Python(及 TypeScript)API,让你用私有文档回答问题、抽结构化字段、或让 Agent 在检索结果上做多步推理。

官方把能力分成几块:

  • Data connectors(连接器):从目录、PDF、SQL、API 等原生源读入,变成 Document
  • Indexes(索引):把数据变成 LLM 容易消费的中间表示(最常用向量索引)
  • Engines(引擎)QueryEngine 做单轮问答,ChatEngine 做多轮对话
  • Agents:把查询引擎、函数、外部 API 当成工具
  • Workflows:事件驱动的多步编排(检索、反思、纠错、人机协同)
  • LlamaHub / 集成:数百个 Reader、向量库、LLM、Embedding 插件

企业侧还有 LlamaCloud(LlamaParse 等托管解析与索引);本教程以开源 Python framework 为主。


心智模型:数据在中间,模型在两端

┌──────────────┐     ┌──────────────┐     ┌──────────────┐
│  你的数据源   │ --> │ LlamaIndex   │ --> │  LLM / Agent │
│  文件/库/API  │     │ 加载·索引·检  │     │  生成与工具   │
└──────────────┘     └──────────────┘     └──────────────┘
flowchart LR
  D[Documents] --> N[Nodes]
  N --> I[Index]
  Q[用户问题] --> R[Retriever]
  I --> R
  R --> E[QueryEngine / Agent]
  E --> A[答案]

Document 是带元数据的整篇材料;Node 是切出来的块,并保留与父文档的关系。VectorStoreIndex.from_documents 会在幕后完成切块与 embedding。查询时 Retriever 取回相关 Node,QueryEngine 再合成回答——这就是标准 RAG。需要模型自己决定「要不要搜、搜什么」时,把查询包成工具交给 FunctionAgent


与 LangChain、CrewAI 怎么选

本站三门课覆盖三条常见路径,不是互相替代的「唯一正确框架」:

维度LlamaIndex(本课)LangChainCrewAI
定位数据 / RAG 中心:连接器、索引、查询引擎Agent harnesscreate_agent、工具、Middleware、LangGraph角色班组:按角色、任务、流程组多智能体
强项文档摄入、切块策略、检索与查询组合工具循环、状态、人机协同、可观测「谁负责什么」的协作剧本
典型入口VectorStoreIndex + as_query_enginecreate_agentCrew / Agent / Task
适合知识库问答、合同抽取、混合检索多工具助手、复杂图编排调研写作、分工明确的流水线

组合方式(常见):

  • LlamaIndex 建 Index,把 as_query_engine() 或 Retriever 暴露成 LangChain / CrewAI 的工具
  • 概念层先读本站 RAG 教程,实现层用本课;Agent 编排再跳到 LangChain 或 CrewAI

不必上框架的情况: 单次 Prompt、没有私有语料、没有检索——直接调 Chat API 更简单。


默认模型说明(请跟官方走)

历史文档与 starter bundle 常写:未配置时生成用 OpenAI gpt-3.5-turbo,嵌入用 text-embedding-ada-002。官方 starter 示例已经改用 gpt-4o-mini。本教程示例一律写 gpt-4o-mini,并建议用 Settings 显式指定 LLM 与 Embedding,避免「默认值悄悄变了」导致账单与效果对不上。以 当前框架文档 为准。


适用场景

适合:

  • 对内部 Markdown / PDF / Notion 导出做问答并引用片段
  • 把 RAG 流水线拆成可替换的 Loader / Parser / Vector Store
  • 文档 Agent:计算、查库、检索同一轮完成
  • 需要从 DAG 升级到可循环、可分支的事件工作流

需谨慎:

  • 超低延迟、禁止 embedding 成本的场景要单独做缓存与批处理
  • 国内部署需考虑 OpenAI 可达性;可换成 Ollama + Hugging Face Embedding
  • 合规:文档进云端 embedding 前先看数据分级

包与仓库

说明
llama-index入门捆绑:llama-index-core + OpenAI LLM/Embedding + 文件 Reader
llama-index-core索引、查询、Agent、Workflow 核心
llama-index-llms-* / llama-index-embeddings-*各厂商模型
llama-index-vector-stores-*Chroma、Postgres、Qdrant 等
llama-index-workflows也可独立安装的 Workflows SDK

GitHub:run-llama/llama_index · 连接器市场:LlamaHub


下一步

评论