ai
  • index
  • 1.欢迎来到LlamaIndex
  • 2.高级概念
  • 3.安装与设置
  • 4.入门教程(使用OpenAI)
  • 5.入门教程(使用本地LLMs)
  • 6.构建一个LLM应用
  • 7.使用LLMs
  • pydantic
  • asyncio
  • apikey
  • 8.RAG简介
  • 9.加载数据
  • 10.索引
  • 11.存储
  • 12.查询
  • weaviate
  • Cohere
  • warnings
  • WeaviateStart
  • spacy
  • 使用LlamaIndex构建全栈Web应用指南
  • back2
  • back4
  • front2
  • front4
  • front6
  • front8
  • llamaindex_backend
  • llamaindex_frontend
  • 1. 欢迎来到LlamaIndex 🦙 !
  • 2. 介绍
    • 2.1 什么是agents?
    • 2.2 什么是workflows?
    • 2.3 什么是context augmentation?
    • 2.4 LlamaIndex是构建上下文增强型LLM应用的框架
  • 3. 用例
    • 3.1 👨‍👩‍👧‍👦 LlamaIndex适合谁使用?
  • 4. 入门指南
    • 4.1 30秒快速入门

1. 欢迎来到LlamaIndex 🦙 ! #

LlamaIndex是领先的框架,用于在您的数据上构建由LLM驱动的智能体LLMs和工作流程。

2. 介绍 #

2.1 什么是agents? #

代理是基于LLM的知识助手,它们利用工具执行研究、数据提取等任务。Agent的能力范围从简单的问答到能够感知、决策并采取行动以完成任务。

LlamaIndex提供了一个构建代理的框架,其中包括将RAG管道作为完成任务的众多工具之一使用的能力。

2.2 什么是workflows? #

工作流程是多步骤流程,结合了一个或多个代理、数据连接器及其他工具来完成一项任务。它们是事件驱动的软件,允许你将RAG数据源与多个代理相结合,从而创建一个能够执行广泛任务的复杂应用程序,具备反思、纠错等高级LLM应用的标志性特征。随后,你可以部署这些代理工作流作为生产微服务。

2.3 什么是context augmentation? #

LLMs在人类与数据之间提供了一个自然语言接口。LLMs已基于大量公开可用数据进行了预训练,但它们并未针对你的数据。您的数据可能是私密的,或与您试图解决的问题密切相关。它们隐藏在API背后、SQL数据库中,或是被困在PDF文件和幻灯片文档里。

上下文增强技术让您的数据可供LLM用于解决当前问题。LlamaIndex提供从原型到生产环境构建任何上下文增强用例的工具。我们的工具支持数据摄取、解析、索引和处理,并能快速实现结合数据访问与LLM提示的复杂查询工作流。

上下文增强最流行的例子是检索增强生成或RAG,它能在推理时将上下文与LLMs相结合。

2.4 LlamaIndex是构建上下文增强型LLM应用的框架 #

LlamaIndex对您如何使用LLMs没有任何限制。您可以将LLMs用作自动补全工具、聊天机器人、智能代理等等。它只是让使用变得更加便捷。我们提供的工具包括:

  • 数据连接器 - 从原始来源和格式中摄取您现有的数据。这些数据可能来自APIs、PDFs、SQL等(甚至更多)。
  • 数据索引 - 将您的数据结构化为中间表示形式,使其易于大型语言模型高效处理。
  • 引擎 - 为你的数据提供自然语言访问能力。例如:
    • 查询引擎是用于问答的强大接口(例如RAG流程)。
    • 聊天引擎是与您的数据进行多轮"来回"对话的交互界面。
  • 代理 - 是由LLM驱动的知识工作者,通过工具增强能力,从简单的辅助功能到API集成等不一而足。
  • 可观测性/评估 - 能够让你严格实验、评估并监控应用程序的集成,形成一个良性循环。
  • 工作流程 - 让你能将上述所有元素整合成一个事件驱动系统,其灵活性远超其他基于图(graph)的方法。

3. 用例 #

LlamaIndex及上下文增强技术的一些常见应用场景包括:

  • 问答系统 - 检索增强生成(即RAG)
  • 聊天机器人
  • 文档理解与数据提取
  • 自主代理 - 能够进行研究并采取行动
  • 多模态应用 - 结合文本、图像和其他数据类型的
  • 微调 - 在数据上训练模型以提升性能

看看我们的用例文档获取更多示例及教程链接。

3.1 👨‍👩‍👧‍👦 LlamaIndex适合谁使用? #

LlamaIndex为初学者、高级用户以及介于两者之间的所有人提供了工具。

我们的高级API让初学者只需5行代码就能使用LlamaIndex来摄取和查询数据。

对于更复杂的应用场景,我们的底层API允许高级用户根据需求自定义和扩展任意模块——包括数据连接器、索引、检索器、查询引擎以及重排模块。

4. 入门指南 #

LlamaIndex 提供 Python 版本(即本文档)以及TypeScript版本。如果你不确定从哪里开始,我们推荐阅读如何阅读这些文档,这将根据您的经验水平指引您前往正确的位置。

4.1 30秒快速入门 #

设置一个名为OPENAI_API_KEY的环境变量,带有一个OpenAI API密钥,然后安装Python库:

  • book.txt
# 导入必要的LlamaIndex组件
# VectorStoreIndex: 用于创建向量存储索引
# SimpleDirectoryReader: 用于从目录读取文档
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
import os

os.environ["OPENAI_API_KEY"] = (
    "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"
)
# 从data目录加载所有文档
# 这会自动读取目录中的所有支持格式的文件(如.txt, .pdf, .docx等)
documents = SimpleDirectoryReader("data").load_data()

# 使用加载的文档创建向量存储索引
# 这会自动将文档分割成块并生成向量嵌入
index = VectorStoreIndex.from_documents(documents)

# 从索引创建查询引擎
# 查询引擎提供了自然语言查询接口
query_engine = index.as_query_engine()

# 向查询引擎提出问题并获取回答
# 这里可以替换成任何关于你数据的问题
response = query_engine.query("红楼梦主要人物有哪些?")

# 打印查询结果
print(response)

访问验证

请输入访问令牌

Token不正确,请重新输入