OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  LlamaIndex — 构建 RAG 与智能体应用的数据框架

LlamaIndex — 构建 RAG 与智能体应用的数据框架

 
  beach ·  2026-04-02 11:00:22 · 6 次点击  · 0 条评论  

🗂️ LlamaIndex 🦙

PyPI - 下载量
构建状态
GitHub 贡献者
Discord
Twitter
Reddit
Ask AI

LlamaIndex OSS (由 LlamaIndex 开发) 是一个用于构建智能体应用的开源框架。Parse 是我们的企业平台,专注于智能体 OCR、解析、提取、索引等功能。你可以将 LlamaParse 与此框架结合使用或单独使用;请参阅下方的 LlamaParse 部分获取注册和产品链接。

📚 文档:

使用 LlamaIndex 构建应用通常涉及使用 LlamaIndex 核心库以及一组选定的集成(或插件)。在 Python 中开始使用 LlamaIndex 有两种方式:

  1. 入门版llama-index。一个入门级的 Python 包,包含 LlamaIndex 核心库以及一系列精选的集成。

  2. 自定义版llama-index-core。安装 LlamaIndex 核心库,并根据你的应用需求从 LlamaHub 添加你选择的 LlamaIndex 集成包。有超过 300 个 LlamaIndex 集成包可以与核心库无缝协作,让你能够使用偏好的 LLM、嵌入模型和向量存储提供商进行构建。

LlamaIndex Python 库的命名空间设计使得包含 core 的导入语句意味着正在使用核心包。相反,不包含 core 的语句意味着正在使用集成包。

# 典型模式
from llama_index.core.xxx import ClassABC  # 核心子模块 xxx
from llama_index.xxx.yyy import (
    SubclassABC,
)  # 子模块 xxx 的集成 yyy

# 具体示例
from llama_index.core.llms import LLM
from llama_index.llms.openai import OpenAI

LlamaParse (文档智能体平台)

LlamaParse 是一个独立的平台,专注于文档智能体和智能体 OCR。它包括 Parse (解析)、LlamaAgents (已部署的文档智能体)、Extract (结构化提取) 和 Index (数据摄取和 RAG)。你可以将其与 LlamaIndex 框架结合使用,也可以单独使用。

  • 注册 LlamaParse — 创建账户并获取你的 API 密钥。
  • Parse — 智能体 OCR 和文档解析 (支持 130+ 格式)。文档 · 云端解析
  • Extract — 从文档中提取结构化数据。文档
  • Index — 数据摄取、索引和 RAG 流水线。文档 · Web UI
  • Split — 将大型文档拆分为子类别。文档
  • Agents — 使用 Workflows 和 Agent Builder 构建端到端的文档智能体。文档

重要链接

LlamaIndex.TS (Typescript/Javascript)

文档

X (原 Twitter)

LinkedIn

Reddit

Discord

生态系统

🚀 概述

注意:此 README 的更新频率不及官方文档。请查阅上方文档以获取最新更新!

背景

  • LLM 是用于知识生成和推理的非凡技术。它们基于大量公开可用数据进行预训练。
  • 我们如何用自己私有的数据最好地增强 LLM?

我们需要一个全面的工具包来帮助为 LLM 执行这种数据增强。

解决方案

这正是 LlamaIndex 的用武之地。LlamaIndex 是一个帮助你构建 LLM 应用的“数据框架”。它提供以下工具:

  • 提供数据连接器,用于摄取你现有的数据源和数据格式(API、PDF、文档、SQL 等)。
  • 提供结构化数据(索引、图)的方法,以便这些数据可以轻松地与 LLM 一起使用。
  • 在你的数据之上提供高级检索/查询接口:输入任何 LLM 提示,返回检索到的上下文和经过知识增强的输出。
  • 允许轻松集成到你的外部应用框架(例如 LangChain、Flask、Docker、ChatGPT 或任何其他框架)。

LlamaIndex 为初学者和高级用户提供工具。我们的高级 API 允许初学者用户用 5 行代码使用 LlamaIndex 来摄取和查询他们的数据。我们的低级 API 允许高级用户自定义和扩展任何模块(数据连接器、索引、检索器、查询引擎、重排模块),以满足他们的需求。

💡 贡献

有兴趣贡献吗?对 LlamaIndex 核心的贡献以及基于核心构建的集成贡献都是被接受并高度鼓励的!有关更多详情,请参阅我们的贡献指南

新的集成应与现有的 LlamaIndex 框架组件进行有意义的集成。根据 LlamaIndex 维护者的判断,某些集成可能会被拒绝。

📄 文档

完整文档可在此处找到。

请查阅以获取最新的教程、操作指南、参考资料和其他资源!

💻 使用示例

# 自定义选择与核心库配合使用的集成
pip install llama-index-core
pip install llama-index-llms-openai
pip install llama-index-llms-replicate
pip install llama-index-embeddings-huggingface

示例位于 docs/examples 文件夹中。索引位于 indices 文件夹中(见下方索引列表)。

使用 OpenAI 构建一个简单的向量存储索引:

import os

os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"

from llama_index.core import VectorStoreIndex, SimpleDirectoryReader

documents = SimpleDirectoryReader("YOUR_DATA_DIRECTORY").load_data()
index = VectorStoreIndex.from_documents(documents)

使用非 OpenAI 的 LLM 构建简单的向量存储索引,例如托管在 Replicate 上的 Llama 2(你可以轻松创建免费试用 API 令牌):

```python
import os

os.environ["REPLICATE_API_TOKEN"] = "YOUR_REPLICATE_API_TOKEN"

from llama_index.core import Settings, VectorStoreIndex, SimpleDirectoryReader
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.llms.replicate import Replicate
from transformers import AutoTokenizer

设置 LLM

llama2_7b_chat = "meta/llama-2-7b-chat:8e6975e5ed6174911a6ff3d60540dfd4844201974602551e10e9e87ab143d81e"
Settings.llm = Replicate(
model=llama2_7b_chat,
temperature=0.01,
additional_kwargs={"top_p": 1, "max_new_tokens": 300

6 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 40 ms
Developed with Cursor