OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  代码  ›  LlamaIndex — RAG 数据连接框架

LlamaIndex — RAG 数据连接框架

 
  malware ·  2026-02-28 00:40:58 · 3 次点击  · 0 条评论  

🗂️ LlamaIndex 🦙

PyPI - Downloads
Build
GitHub contributors
Discord
Twitter
Reddit
Ask AI

LlamaIndex OSS(由 LlamaIndex 开发)是一个用于构建智能体应用的开源框架。Parse 是我们的企业平台,专注于智能体 OCR、解析、提取、索引等功能。你可以将此框架与 LlamaParse 结合使用,或单独使用 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+ 格式)。文档 · 云端 Parse
  • 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},
)

设置分词器以匹配 LL

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor