LlamaIndex大语言模型应用的数据框架入门简介

云的事情不好说 2024-06-03 01:48:25

LlamaIndex 是一个大语言模型(LLM)应用的数据框架,这些应用从上下文增强中获益。这类大语言模型系统被称为 RAG 系统,表示“检索增强生成”(Retrieval-Augmented Generation)。

LlamaIndex 提供了必要的抽象,以更容易地摄取、结构化和访问私有或特定领域的数据,以便安全、可靠地将这些数据注入大语言模型,以实现更准确的文本生成。它支持 Python和 Typescript。

为什么需要上下文增强?

大语言模型提供了一个人类与数据之间的自然语言接口。广泛可用的模型已经在诸如维基百科、邮件列表、教科书、源代码等大量公开可用数据上进行了预训练。

然而,尽管大语言模型经过了大量数据的训练,但它们并没有经过你的数据训练,你的数据可能是私有的或特定于你试图解决的问题。它可能位于 API 后面,在 SQL 数据库中,或被困在 PDF 和幻灯片中。

你可以选择用你的数据微调(fine-tuning)一个大语言模型,但是:

训练一个大语言模型是昂贵的。由于训练成本,很难用最新信息更新一个大语言模型。缺乏可观察性。当你向大语言模型提问时,不清楚它是如何得出答案的。

与其微调(fine-tuning),不如采用一种称为检索增强生成(RAG)的上下文增强模式,以获得与你的特定数据相关的更准确的文本生成。RAG 涉及以下高级步骤:

1. 首先从你的数据源检索信息,

2. 将其作为上下文添加到你的问题中,

3. 让大语言模型根据丰富的提示回答。

通过这样做,RAG 克服了微调方法的所有三个弱点:

不涉及训练,因此成本低廉。仅在你需要时才获取数据,因此始终是最新的。LlamaIndex 可以向你展示检索到的文档,因此更值得信赖。

为什么选择 LlamaIndex 进行上下文增强?

首先,LlamaIndex 对你如何使用大语言模型没有任何限制。你仍然可以将大语言模型用作自动完成(auto-complete)、聊天机器人(chatbots)、半自主代理(semi-autonomous agents)等。它只会让大语言模型对你更相关。

LlamaIndex 提供了以下工具,帮助你快速搭建生产就绪的 RAG 系统:

数据连接器(Data connectors)从其原生源和格式中摄取你现有的数据。这些可能是 API、PDF、SQL 等。数据索引(Data indexes)以中间表示结构化数据,这对大语言模型来说是易于使用且高效的。引擎(Engines)为数据提供自然语言访问。例如: 查询引擎(Query engines)是强大的检索接口,用于知识增强的输出。聊天引擎(Chat engines)是与数据进行多消息、“来回”交互的对话接口。数据代理(Data agents)是由工具增强的大语言模型驱动的知识工作者,从简单的辅助函数到 API 集成等。

开始使用,要安装库:

pip install llama-index



0 阅读:0

云的事情不好说

简介:感谢大家的关注