logo
LlamaIndex 框架指南
AI Engineer

LlamaIndex 框架指南

LlamaIndex 是专注于数据索引和检索的 LLM 框架,特别适合构建 RAG 应用。

LlamaIndex 框架指南快速开始

LlamaIndex 快速开始

LlamaIndex(原名 GPT Index)是一个专门为 数据密集型 LLM 应用 设计的框架。它的核心强项是:如何将外部数据(PDF, 数据库, API 等)高效地连接到 LLM。

#1. 核心概念:数据连接器 (LlamaHub)

LlamaIndex 将数据处理分为三个阶段:

  1. Loading (加载): 将数据读入系统。
  2. Indexing (索引): 将数据转化为可搜索的结构。
  3. Querying (查询): 输入问题,检索知识并生成答案。

#2. 安装

bash
pip install llama-index

#3. 5 行代码实现 RAG (检索增强生成)

假设你有一个名为 data 的文件夹,里面存着一些文本文件或 PDF:

python
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader # 1. 加载数据 documents = SimpleDirectoryReader("data").load_data() # 2. 创建索引 (默认会调用 OpenAI 接口生成向量) index = VectorStoreIndex.from_documents(documents) # 3. 创建查询引擎 query_engine = index.as_query_engine() # 4. 提问 response = query_engine.query("文件里提到了哪些关键点?") print(response)

#4. 为什么选择 LlamaIndex 而不是 LangChain?

特性LangChainLlamaIndex
侧重点通用框架、Chain、Agent数据索引、检索、集成
上手难度较复杂(组件极多)极简单(针对数据检索优化)
数据源支持丰富极度丰富 (LlamaHub)
检索策略基础检索极其先进的检索/排序策略

#5. LlamaHub: 你的数据仓库

LlamaHub 是 LlamaIndex 的插件市场。无论你的数据在 Notion、Google Drive、Slack 还是 SQL 数据库中,你都能在这里找到现成的 Reader(读取器)。

python
# 使用 LlamaHub 上的 Notion Reader from llama_index.readers.notion import NotionPageReader reader = NotionPageReader(integration_token="your_token") documents = reader.load_data(page_ids=["page_id_1"])

下一步:深入了解 LlamaIndex 的灵魂——数据索引

相关路线图