欢迎来到LlamaIndex 🦙!
LlamaIndex 是领先的框架,用于通过大型语言模型和工作流在您的数据上构建由LLM驱动的智能体。
-
什么是上下文增强?什么是智能体和工作流?LlamaIndex如何帮助构建它们?
-
你可以使用LlamaIndex构建哪些类型的应用程序?谁应该使用它?
-
只需5行代码即可开始使用Python或TypeScript!
-
LlamaIndex 的托管服务包括 LlamaParse,全球最佳文档解析器。
-
在 Discord、Twitter、LinkedIn 上获取帮助并结识协作者,了解如何为项目做出贡献。
-
请查看我们在 LlamaHub 上的连接器、读取器和其他集成库,以及演示和入门应用如 create-llama。
智能体 是由大语言模型驱动的知识助手,能够使用工具执行研究、数据提取等任务。智能体的能力范围从简单的问答到能够感知、决策并采取行动以完成任务。
LlamaIndex 提供了一个用于构建智能体的框架,包括将RAG管道作为众多工具之一来完成任务的能⼒。
工作流是将一个或多个智能体、数据连接器及其他工具组合以完成任务的多个步骤流程。它们是事件驱动的软件,允许您结合RAG数据源和多个智能体,创建能够执行多种任务的复杂应用程序,具备反思、纠错等高级LLM应用的特征。然后您可以将这些智能体工作流部署为生产级微服务。
大型语言模型在人类与数据之间提供了一个自然语言界面。LLMs 基于海量公开数据进行预训练,但它们并未针对您的数据进行训练。您的数据可能具有隐私属性,或是针对您试图解决问题的特定数据。这些数据可能隐藏在API接口之后、存储在SQL数据库中,或封存在PDF文件和演示文稿中。
上下文增强使您的数据可供LLM使用,以解决当前问题。LlamaIndex提供从原型到生产环境构建任何上下文增强用例的工具。我们的工具允许您摄取、解析、索引和处理数据,并快速实现结合数据访问与LLM提示的复杂查询工作流。
上下文增强最流行的例子是检索增强生成或RAG,它在推理时将上下文与大型语言模型相结合。
LlamaIndex 是用于上下文增强型LLM应用的框架
Section titled “LlamaIndex is the framework for Context-Augmented LLM Applications”LlamaIndex 对您如何使用大型语言模型没有任何限制。您可以将大型语言模型用作自动补全、聊天机器人、智能体等。它只是让使用它们变得更加容易。我们提供以下工具:
- 数据连接器 从原始来源和格式中提取您现有的数据。这些可以是API、PDF、SQL以及(更多)其他格式。
- 数据索引将您的数据构建成中间表示形式,使大语言模型能够轻松高效地处理。
- 引擎为您的数据提供自然语言访问能力。例如:
- 查询引擎是用于问答的强大接口(例如RAG流程)。
- 聊天引擎是用于与数据实现多轮"来回"对话的交互式接口。
- 智能体是由大语言模型驱动的知识工作者,通过工具进行增强,从简单的辅助函数到API集成等。
- 可观测性/评估集成,使您能够在良性循环中严格实验、评估和监控您的应用程序。
- 工作流 允许您将以上所有内容组合成一个事件驱动系统,其灵活性远超其他基于图的方法。
LlamaIndex 及上下文增强的一些常见应用场景包括:
查看我们的使用案例文档以获取更多示例和教程链接。
👨👩👧👦 LlamaIndex 适合哪些人群?
Section titled “👨👩👧👦 Who is LlamaIndex for?”LlamaIndex 为初学者、高级用户以及介于两者之间的所有人提供工具。
我们的高级API允许初学者用户仅用5行代码即可使用LlamaIndex来摄取和查询他们的数据。
对于更复杂的应用,我们的底层API允许高级用户自定义和扩展任何模块——数据连接器、索引、检索器、查询引擎和重排模块——以满足他们的需求。
LlamaIndex 提供 Python(本文档)和 Typescript 版本。如果您不确定从何开始,我们建议阅读 如何阅读本文档,它将根据您的经验水平为您指明正确的方向。
设置一个名为 OPENAI_API_KEY 的环境变量,并填入 OpenAI API密钥。安装Python库:
pip install llama-index将一些文档放入名为 data 的文件夹中,然后通过我们著名的5行入门代码提问:
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
documents = SimpleDirectoryReader("data").load_data()index = VectorStoreIndex.from_documents(documents)query_engine = index.as_query_engine()response = query_engine.query("Some question about the data should go here")print(response)如果这部分内容让你感到困惑,别担心!请查看我们更全面的入门教程,使用像OpenAI这样的远程API或任何可在您笔记本电脑上运行的模型。
LlamaCloud
Section titled “LlamaCloud”如果您是企业开发者,请查看LlamaCloud。这是一个端到端的托管服务,用于文档解析、提取、索引和检索——让您为AI智能体获取生产质量的数据。您可以注册并每月获得10,000免费额度,选择我们的某个套餐,或者如果对企业解决方案感兴趣,来与我们交流。我们提供SaaS和自托管两种方案。
你也可以查看 LlamaCloud 文档获取更多详情。
- 文档解析 (LlamaParse): LlamaParse 是业界领先的文档解析解决方案。它由视觉语言模型驱动,即使面对最复杂的文档(嵌套表格、嵌入式图表/图像等)也能完美处理。了解更多或查看文档。
- 文档提取 (LlamaExtract): 根据人工定义或推断的架构,从任意文档中提取结构化数据。了解更多或查看文档。
- 索引/检索: 建立一个端到端管道来索引文档集合以供检索。连接您的数据源(例如Sharepoint、Google Drive、S3)和您的向量数据库数据接收器,我们将自动处理文档处理和同步。了解更多或查看文档。
需要帮助?有功能建议?加入LlamaIndex社区:
- LlamaIndex Python
- LlamaIndex Python Github
- Python 文档(您当前正在阅读的内容)
- LlamaIndex 在 PyPi 上
- LlamaIndex.TS (Typescript/Javascript package):
我们是开源的,始终欢迎对本项目的贡献!查看我们的贡献指南了解完整详情,包括如何扩展核心库或为第三方(如LLM、向量数据库、智能体工具等)添加集成。
LlamaIndex 生态系统
Section titled “LlamaIndex Ecosystem”LlamaIndex 宇宙还有更多精彩内容!查看我们的其他项目:
- llama_deploy | 将您的智能体工作流部署为生产级微服务
- LlamaHub | 一个庞大(且不断增长!)的自定义数据连接器集合
- SEC洞察 | 一个基于LlamaIndex的金融研究应用
- create-llama | 一个用于快速搭建LlamaIndex项目脚手架的CLI工具