Image

什么是 LlamaIndex?

LlamaIndex(原名 GPT Index)是一个专门为大语言模型(LLM)连接外部数据而设计的开源框架。

如果说:

  • LangChain 更偏向于 AI 应用流程编排(Workflow)

  • LangGraph 更偏向于复杂 Agent 状态机

  • LlamaIndex 则更专注于数据层(Data Layer)

官方将它定位为:

The data framework for your LLM applications.

简单来说,它解决的是:

如何让大模型高效、安全、准确地访问企业知识。


为什么需要 LlamaIndex?

大模型本身存在几个天然问题:

  • 不知道你的私有数据

  • 无法实时获取最新知识

  • 上下文窗口有限

  • 幻觉(Hallucination)

例如:

用户问:

我们公司的请假制度是什么?

GPT 并不知道。

这时候需要:

企业文档
    ↓
解析
    ↓
切分 Chunk
    ↓
Embedding
    ↓
向量数据库
    ↓
检索
    ↓
LLM

这就是 RAG。

而 LlamaIndex 就是整个流程里的数据中间层。


LlamaIndex 的整体架构

                User

                 │

            Query Engine

                 │

          Retriever Engine

                 │

      Index(各种索引结构)

                 │

      Document Processing

                 │

 Reader → Parser → Chunk → Metadata

                 │

     PDF Word Excel SQL API Git

                 │

          Enterprise Data

它几乎覆盖了 RAG 的整个数据生命周期。


LlamaIndex 的核心模块

1. Data Connector(数据连接器)

负责读取各种数据源。

支持:

  • PDF

  • Word

  • Excel

  • Markdown

  • HTML

  • SQL

  • MySQL

  • PostgreSQL

  • MongoDB

  • Notion

  • Slack

  • Jira

  • GitHub

  • Google Drive

  • S3

  • Azure Blob

  • Elasticsearch

几乎所有主流企业知识库都有对应 Reader。


2. Document Loader

例如:

PDF

↓

Document

↓

Node

Document 会被解析成统一格式。

Node 是后续 Index 的最小单位。


3. Node Parser

最重要的一步。

负责:

文章

↓

Chunk1

Chunk2

Chunk3

Chunk4

支持:

  • 固定长度切分

  • 语义切分

  • 标题切分

  • Markdown切分

  • HTML切分

  • Code切分

甚至支持:

Auto Merging。


4. Metadata

LlamaIndex 很强调 Metadata。

例如:

标题

作者

日期

标签

部门

权限

来源

URL

语言

检索时可以:

部门=研发

AND

年份=2025

AND

作者=张三

这是企业 RAG 非常重要的一部分。


5. Embedding

支持:

  • OpenAI

  • Gemini

  • Voyage AI

  • BGE

  • E5

  • Jina AI

  • Nomic

  • HuggingFace

  • 本地模型

Embedding 可以自由替换。


6. Index(索引)

这是 LlamaIndex 最大特色。

不是只有 Vector Index。

支持很多 Index。

例如:

Vector Store Index

最常见。

Document

↓

Embedding

↓

Vector DB

适合:

95% 的 RAG。


Tree Index

Document

↓

Chunk

↓

Summary

↓

Summary

↓

Root

适合:

长文总结。


Keyword Index

关键词倒排索引。

类似:

ElasticSearch

适合:

关键词搜索。


Knowledge Graph Index

以前非常流行。

自动抽取:

人物

地点

组织

关系

形成:

A

↓

works_at

↓

B

不过现在使用率已经下降。


Summary Index

所有 Chunk 顺序扫描。

适合:

生成整体摘要。


Retriever(检索器)

Retriever 是整个系统最重要的部分。

支持:

Top-K

MMR

Hybrid Search

BM25

Dense Retrieval

Sparse Retrieval

Auto Retriever

Router Retriever

Recursive Retriever

Fusion Retriever

例如:

Fusion:

BM25

+

Vector

+

Knowledge Graph

↓

Merge

↓

Rank

↓

LLM

Query Engine

Retriever 的上一层。

负责:

Question

↓

Retrieve

↓

Post Process

↓

Rerank

↓

LLM

↓

Answer

它已经把很多流程封装好了。


Response Synthesizer

负责:

多个 Chunk:

Chunk1

Chunk2

Chunk3

如何生成最终答案。

支持:

  • Refine

  • Compact

  • Tree Summarize

  • Simple Summarize


Chat Engine

支持:

Memory

+

History

+

Retriever

+

LLM

可以直接做:

聊天机器人。


Agent

新版 LlamaIndex Agent 已经越来越成熟。

支持:

Tool Calling

Workflow

Planning

Reflection

Memory

现在官方也开始重点投入 Agent 能力。


Workflow(新版重点)

近一年 LlamaIndex 的重点方向已经从单纯 RAG 转向 Workflow

例如:

开始

↓

查询知识库

↓

判断结果

↓

调用SQL

↓

调用API

↓

生成报告

↓

结束

有点类似 LangGraph,但更加轻量。


支持的向量数据库

几乎支持所有主流 Vector Database:

  • Pinecone

  • Milvus

  • Weaviate

  • Qdrant

  • Chroma

  • FAISS

  • Elasticsearch

  • PostgreSQL(pgvector)

  • Redis

  • Vespa


LlamaIndex 的优势

优势

说明

数据生态丰富

支持数百种数据源与连接器

RAG 能力完善

从加载、切分、索引到检索全流程覆盖

索引丰富

不仅支持向量索引,还支持树、摘要、知识图谱等

易扩展

模块化设计,可自由替换 Embedding、LLM、Retriever、Vector DB

Agent 集成

已具备工具调用、工作流和多步推理能力


LlamaIndex 与 LangChain、LangGraph 的区别

对比项

LlamaIndex

LangChain

LangGraph

定位

数据层(Data Layer)

应用开发框架

状态机与工作流

核心能力

RAG、索引、检索

链式调用、工具集成

多 Agent、状态管理

数据连接

⭐⭐⭐⭐⭐

⭐⭐⭐⭐

⭐⭐

RAG

⭐⭐⭐⭐⭐

⭐⭐⭐⭐

⭐⭐

Agent

⭐⭐⭐⭐

⭐⭐⭐⭐

⭐⭐⭐⭐⭐

工作流

⭐⭐⭐

⭐⭐⭐

⭐⭐⭐⭐⭐

学习成本

较高


适合哪些场景?

LlamaIndex 特别适合以下场景:

  • 企业知识库问答(RAG)

  • PDF、Office 文档智能检索

  • 私有数据聊天机器人

  • 多源数据统一搜索

  • 法律、金融、医疗等专业知识检索

  • 智能客服

  • 企业文档摘要与报告生成

  • SQL + 文档混合查询

  • AI Copilot

总结

LlamaIndex 可以理解为 LLM 应用的数据基础设施。它专注于让大模型高效连接企业数据,提供从数据接入、文档解析、切分、索引、检索到答案生成的完整能力。对于以知识库、RAG 和企业数据为核心的 AI 应用,它通常是最成熟的选择之一;而在需要复杂多智能体协作、长流程编排时,则常与 LangGraph 或 LangChain 结合使用,形成“LlamaIndex 负责数据,LangGraph 负责流程,LLM 负责推理”的组合架构。