开发框架教程(2):LlamaIndex 入门 —— 专注数据的 AI 框架

很多新手会问:"我已经学了 LangChain,还需要学 LlamaIndex 吗?它们有什么区别?"

5分钟
2025-12-26
框架开发SDK开发框架教程(2):LlamaIndex

开发框架教程(2):LlamaIndex 入门 —— 专注数据的 AI 框架

1. LlamaIndex vs LangChain:既生瑜,何生亮?

很多新手会问:"我已经学了 LangChain,还需要学 LlamaIndex 吗?它们有什么区别?"

  • LangChain:是通用的。它什么都想做,像一个瑞士军刀。
  • LlamaIndex:是专注的。它专注于 Data (数据)

如果你的核心需求是 RAG(知识库问答),需要处理海量的 PDF、Excel、Notion 文档,LlamaIndex 通常比 LangChain 更好用,检索精度更高。

形象比喻:

  • LangChain 像是一套乐高积木,你可以搭房子、搭车子,很灵活,但搭个复杂的房子很累。
  • LlamaIndex 像是一台强力吸尘器,专门用来把各种乱七八糟的数据"吸"进来,整理好,喂给大模型吃。

2. 核心功能:RAG 的神器

LlamaIndex 最核心的本事就是索引 (Indexing)查询 (Querying)

1. Data Connectors (数据加载器)

LlamaIndex 有个叫 LlamaHub 的社区,里面有几百个数据加载器。 不管是 Youtube 视频字幕、Notion 笔记、Slack 聊天记录、还是 SQL 数据库,经常是一行代码就能读进来。

2. Nodes & Chunks (节点与切片)

它可以非常智能地切分文档。不只是按字数切,它可以按"句子"、"段落"甚至"Markdown 结构"来切,保证切出来的每块肉(数据)都有营养。

3. Query Engines (查询引擎)

这是它的杀手锏。它不仅有简单的"找相似",还有:

  • Sub-Question Query Engine:把复杂问题拆成几个小问题查。
  • Router Query Engine:自动判断该去查 PDF 还是查 SQL。

3. 五行代码写一个 RAG

用 LlamaIndex 写 RAG(检索增强生成)简直快得离谱。

# pip install llama-index

import os
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

# 1. 读取数据 (读取 data 目录下所有文件)
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)

4. 什么时候选 LlamaIndex?

  • 选 LangChain:当你需要开发复杂的 Agent,控制流程,或者不仅仅是做问答(比如要做自动化操作)时。
  • 选 LlamaIndex:当你的主要任务就是处理私有数据,做文档问答、企业知识库时。它的检索效果通常默认就很好,不需要太多调优。

AI导航助手

Powered by DeepSeek

你好!我是AI导航助手,由DeepSeek驱动。

我可以帮你: • 推荐适合你的AI模型 • 解答AI相关问题 • 直接带你跳转到相关页面

试试点击下方问题,或直接输入你的问题!

快捷提问:

哪个AI模型最好?有免费的AI吗?写代码用哪个?API怎么接入?

点击按钮可直接跳转到相关页面