Welcome to LlamaIndex
LlamaIndex 是一个为基于 LLM 的应用程序提供数据框架的系统,其受益于上下文增强。这样的 LLM 系统被称为 RAG 系统,代表“检索增强生成”。LlamaIndex 提供了必要的抽象,以更轻松地摄取、结构化和访问私有或领域特定的数据,以便将这些数据安全可靠地注入到 LLM 中,以实现更准确的文本生成。它可用于 Python(这些文档)和 Typescript。
为什么要进行上下文增强?
LLM(Large Language Models)为人类和数据之间提供了自然语言界面。广泛可用的模型已经在大量公开可用的数据上进行了预训练,例如维基百科、邮件列表、教科书、源代码等等。
然而,虽然 LLM(Large Language Models)在大量数据上进行了训练,但它们并未针对您的数据进行训练,这些数据可能是私有的或与您试图解决的问题特定相关的。这些数据可能存在于 API 后面、SQL 数据库中,或者被困在 PDF 和幻灯片中。
您可以选择使用您的数据对 LLM 进行微调,但是:
- 训练一个 LLM 是昂贵的
- 由于训练成本高昂,要更新 LLM 的最新信息是困难的
- 缺乏可观察性,当您向 LLM 提出问题时,LLM 是如何得出答案的并不明显
不使用微调,而是使用一种称为“检索增强生成”(Retrieval-Augmented Generation,RAG)的上下文增强模式,以获得与您特定数据相关的更准确的文本生成。RAG 包括以下高级步骤:
- 首先从您的数据源中检索信息
- 将其添加到您的问题中作为上下文
- 然后要求LLM基于丰富的提示进行回答
通过这种方式,RAG 克服了微调方法的三个弱点:
- 没有训练参与,所以成本低廉
- 只有在您需要时才获取数据,因此始终保持最新
- LlamaIndex 可以向您展示检索到的文档,因此更可信
为什么选择 LlamaIndex 进行上下文增强?
首先,LlamaIndex 对您如何使用 LLMs 不加限制。您仍然可以将 LLMs 用作自动完成、聊天机器人、半自主代理等等。它只是让 LLMs 对您更加相关。
LlamaIndex 提供以下工具,帮助您快速搭建生产就绪的 RAG 系统:
- 数据连接器从其原生来源和格式中摄取您的现有数据。这些可能是 API、PDF、SQL,以及更多其他格式
-
数据索引将您的数据结构化为中间表示,易于 LLMs 消耗并具有良好的性能。
-
引擎提供对您的数据的自然语言访问。例如:
- 查询引擎是知识增强输出的强大检索界面
- 聊天引擎是用于多消息“来回”交互的对话界面,与您的数据进行交互
- 数据代理是由工具增强的LLM驱动的知识工作者,从简单的辅助功能到 API 集成等各种工具
- 应用集成将 LlamaIndex 与您的生态系统的其他部分联系起来。这可能是 LangChain、Flask、Docker、ChatGPT,或者… 任何其他东西!
LlamaIndex适用于谁?
LlamaIndex为初学者、高级用户以及中间所有人提供工具。
我们的高级API允许初学者用户使用5行代码来摄取和查询他们的数据。
对于更复杂的应用程序,我们的低级API允许高级用户定制和扩展任何模块——数据连接器、索引、检索器、查询引擎、重新排序模块——以满足他们的需求。
评论前必须登录!
注册