LlamaIndex 是一个基于 LLM(大语言模型)的应用程序数据框架,适用于受益于上下文增强的场景。
这类 LLM 系统被称为 RAG(检索增强生成)系统。
LlamaIndex 提供了必要的抽象层,以便更容易地摄取、结构化和访问私有或特定领域的数据,从而安全可靠地将这些数据注入 LLM 中,以实现更准确的文本生成。
它支持 Python(本文档)和 TypeScript。
提示:更新到 LlamaIndex v0.10.0?请查看迁移指南。
🚀 为什么选择上下文增强?
LLM 为人类与数据之间提供自然语言接口。广泛可用的模型预先训练在大量公开数据上,如维基百科、邮件列表、教科书、源代码等。
然而,尽管 LLM 接受了大量的数据训练,但它们并未针对您的数据进行训练,而这些数据可能是私有的,或者与您试图解决的问题密切相关。它们可能隐藏在 API 中、存放在 SQL 数据库中,或者困在 PDF 和幻灯片中。
您可能会选择使用您的数据对 LLM 进行微调,但:
- 训练 LLM 成本高昂;
- 由于训练成本高,难以用最新信息更新 LLM;
- 观察性不足。当您向 LLM 提问时,无法明确得知 LLM 如何得出答案。
作为替代方案,可以采用名为检索增强生成(RAG)的上下文增强模式,以获得与您的特定数据相关的更准确文本生成。RAG 包括以下高级步骤:
- 首先从您的数据源检索信息;
- 将这些信息添加到问题中作为上下文;
- 请求 LLM 根据丰富后的提示回答问题。
通过这种方式,RAG 克服了微调方法的三个弱点:
- 不涉及训练,因此成本低廉;
- 数据仅在请求时抓取,始终保持最新;
- LlamaIndex 可以显示检索到的文档,从而更具可信度。
🦙 为何选择 LlamaIndex 进行上下文增强?
首先,LlamaIndex 并不限制您如何使用 LLM。您仍然可以将其用作自动补全、聊天机器人、半自主代理等(参见左侧的使用案例)。它只是让 LLM 更贴近您的需求。
LlamaIndex 提供以下工具,帮助您快速构建生产级 RAG 系统:
-
数据连接器:从原生来源和格式摄取现有数据,如 APIs、PDF、SQL 等;
-
数据索引:将您的数据结构化为易于 LLM 消耗且性能优异的中间表示形式;
-
引擎:提供对您数据的自然语言访问,例如:
- 查询引擎:强大的检索界面,用于知识增强输出;
- 聊天引擎:对话式接口,用于与数据进行多消息、“来回”交互;
- 数据代理:由工具(从简单辅助函数到 API 集成等)增强的 LLM 动力知识工作者;
-
应用集成:将 LlamaIndex 与您的生态系统其余部分(如 LangChain、Flask、Docker、ChatGPT 或任何其他工具)紧密关联。
CSDN独家福利
最后,感谢每一个认真阅读我文章的人,礼尚往来总是要有的,下面资料虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

1万+

被折叠的 条评论
为什么被折叠?



