跳至内容

欢迎来到LlamaIndex 🦙 !#

LlamaIndex是领先的框架,用于通过LLMsworkflows在您的数据上构建由LLM驱动的智能体。

  • Introduction

    什么是上下文增强?什么是智能体和工作流?LlamaIndex如何帮助构建它们?

  • Use cases

    你可以用LlamaIndex构建哪些类型的应用?谁应该使用它?

  • Getting started

    只需5行代码即可开始使用Python或TypeScript!

  • LlamaCloud

    LlamaIndex的托管服务,包括全球最佳文档解析器LlamaParse

  • Community

    在Discord、Twitter、LinkedIn上获取帮助并结识协作者,了解如何为项目做出贡献。

  • 相关项目

    查看我们在LlamaHub上的连接器、阅读器和其他集成库,以及演示和入门应用如create-llama

介绍#

什么是智能体?#

Agents 是由大语言模型驱动的知识助手,能够利用工具执行研究、数据提取等任务。智能体的能力范围从简单的问答到能够感知、决策并采取行动以完成任务。

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

什么是工作流?#

Workflows 是多步骤流程,结合了一个或多个智能体、数据连接器及其他工具来完成一项任务。它们是事件驱动的软件,允许您整合RAG数据源和多个智能体,创建能够执行广泛任务的复杂应用,具备反思、纠错等高级LLM应用的特征。随后您可以deploy these agentic workflows 作为生产级微服务。

什么是上下文增强?#

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

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

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

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

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

  • 数据连接器 从原始来源和格式中提取您现有的数据。这些数据可能来自API、PDF、SQL等(甚至更多)。
  • 数据索引将您的数据组织成中间表示形式,便于大型语言模型高效使用。
  • Engines provide natural language access to your data. For example:
    • 查询引擎是用于问答的强大接口(例如RAG流程)。
    • 聊天引擎是与您的数据进行多轮"来回"对话的交互式界面。
  • 智能体是由LLM驱动的知识工作者,通过工具进行增强,从简单的辅助功能到API集成等。
  • 可观测性/评估集成功能,让您能够在良性循环中严格实验、评估和监控您的应用。
  • 工作流 允许你将上述所有功能整合到一个事件驱动系统中,其灵活性远超其他基于图的方法。

使用案例#

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

查看我们的使用案例文档,获取更多示例和教程链接。

👨‍👩‍👧‍👦 LlamaIndex适合哪些人使用?#

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

我们的高级API允许初学者用户仅用5行代码即可使用LlamaIndex来摄取和查询他们的数据。

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

入门指南#

LlamaIndex提供Python版本(本文档)和Typescript版本。如果您不确定从何开始,我们建议阅读如何阅读这些文档,它将根据您的经验水平为您指明正确的方向。

30秒快速入门#

设置一个名为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#

如果您是企业开发者,请查看LlamaCloud。这是一个端到端的托管服务,提供数据解析、摄取、索引和检索功能,让您能为生产级LLM应用获取高质量数据。该服务既支持托管在我们的服务器上,也可作为自托管解决方案使用。

LlamaParse#

LlamaParse是我们最先进的文档解析解决方案。它作为LlamaCloud的一部分提供,也可作为自助API使用。您可以注册免费解析多达1000页/天,或输入信用卡信息获得无限解析权限。了解更多

社区#

需要帮助?有功能建议?加入LlamaIndex社区:

获取库#

贡献#

我们是开源的,并始终欢迎对本项目的贡献!查看我们的贡献指南了解完整详情,包括如何扩展核心库或添加与第三方(如LLM、向量数据库、智能体工具等)的集成。

LlamaIndex 生态系统#

LlamaIndex 的世界远不止于此!来看看我们的其他项目:

  • llama_deploy | 将您的智能体工作流部署为生产级微服务
  • LlamaHub | 一个庞大(且不断增长!)的自定义数据连接器集合
  • SEC Insights | 一个由LlamaIndex驱动的金融研究应用
  • create-llama | 一个快速搭建LlamaIndex项目的CLI工具