LlamaIndex 快速开始
LlamaIndex(原名 GPT Index)是一个专门为 数据密集型 LLM 应用 设计的框架。它的核心强项是:如何将外部数据(PDF, 数据库, API 等)高效地连接到 LLM。
#1. 核心概念:数据连接器 (LlamaHub)
LlamaIndex 将数据处理分为三个阶段:
- Loading (加载): 将数据读入系统。
- Indexing (索引): 将数据转化为可搜索的结构。
- Querying (查询): 输入问题,检索知识并生成答案。
#2. 安装
bashpip install llama-index
#3. 5 行代码实现 RAG (检索增强生成)
假设你有一个名为 data 的文件夹,里面存着一些文本文件或 PDF:
pythonfrom 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?
| 特性 | LangChain | LlamaIndex |
|---|---|---|
| 侧重点 | 通用框架、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 的灵魂——数据索引。