LlamaIndex 是一个基于 LLM(大语言模型)的应用程序数据框架,适用于受益于上下文增强的场景。

这类 LLM 系统被称为 RAG(检索增强生成)系统。

LlamaIndex 提供了必要的抽象层,以便更容易地摄取、结构化和访问私有或特定领域的数据,从而安全可靠地将这些数据注入 LLM 中,以实现更准确的文本生成。

它支持 Python(本文档)和 TypeScript。

提示:更新到 LlamaIndex v0.10.0?请查看迁移指南。

为什么选择上下文增强?

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

然而,尽管 LLM 接受了大量的数据训练,但它们并未针对您的数据进行训练,而这些数据可能是私有的,或者与您试图解决的问题密切相关。它们可能隐藏在 API 中、存放在 SQL 数据库中,或者困在 PDF 和幻灯片中。

您可能会选择使用您的数据对 LLM 进行微调,但:

  • 训练 LLM 成本高昂;
  • 由于训练成本高,难以用最新信息更新 LLM;
  • 观察性不足。当您向 LLM 提问时,无法明确得知 LLM 如何得出答案。

作为替代方案,可以采用名为检索增强生成(RAG)的上下文增强模式,以获得与您的特定数据相关的更准确文本生成。RAG 包括以下高级步骤:

  1. 首先从您的数据源检索信息;
  2. 将这些信息添加到问题中作为上下文;
  3. 请求 LLM 根据丰富后的提示回答问题。

通过这种方式,RAG 克服了微调方法的三个弱点:

  • 不涉及训练,因此成本低廉;
  • 数据仅在请求时抓取,始终保持最新;
  • LlamaIndex 可以显示检索到的文档,从而更具可信度。

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

首先,LlamaIndex 并不限制您如何使用 LLM。您仍然可以将其用作自动补全、聊天机器人、半自主代理等(参见左侧的使用案例)。它只是让 LLM 更贴近您的需求。

LlamaIndex 提供以下工具,帮助您快速构建生产级 RAG 系统:

  • 数据连接器:从原生来源和格式摄取现有数据,如 APIs、PDF、SQL 等;
  • 数据索引:将您的数据结构化为易于 LLM 消耗且性能优异的中间表示形式;
  • 引擎:提供对您数据的自然语言访问,例如:
    • 查询引擎:强大的检索界面,用于知识增强输出;
    • 聊天引擎:对话式接口,用于与数据进行多消息、“来回”交互;
    • 数据代理:由工具(从简单辅助函数到 API 集成等)增强的 LLM 动力知识工作者;
  • 应用集成:将 LlamaIndex 与您的生态系统其余部分(如 LangChain、Flask、Docker、ChatGPT 或任何其他工具)紧密关联。

‍‍‍ LlamaIndex 适合哪些人群?

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

  • 初学者:通过高级 API,初学者只需用 5 行代码即可使用 LlamaIndex 摄取和查询其数据;
  • 高级用户:对于复杂应用,我们的低级 API 允许高级用户自定义和扩展任何模块(数据连接器、索引、检索器、查询引擎、重排序模块),以满足其特定需求。

开始使用

要安装库,请运行:

bash
 
pip install llama-index

我们建议从如何阅读这些文档开始,它会根据您的经验水平引导您找到正确的位置。

️ 生态系统

您可以在以下平台找到、下载或贡献 LlamaIndex:

社区

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

关联项目

  • LlamaHub | 一个大型(且不断增长)的自定义数据连接器集合
  • SEC Insights | 一个由 LlamaIndex 提供支持的金融研究应用程序
  • create-llama | 一个 CLI 工具,快速为 LlamaIndex 项目搭建脚手架

AI 新世代

ChatAiOnline

Ref:https://docs.llamaindex.ai/en/stable/

Link:https://www.cnblogs.com/farwish/p/18133682

LlamaIndex 是什么的更多相关文章

  1. 读破万卷,神交古人,突破ChatGPT4096的Token限制,建立自己的垂直领域资料人工智能助理

    ChatGPT的泛用性极高,上知天文,下通地理,参考古今,博稽中外,几乎无所不知,无所不晓.但如果涉及垂直领域的专业知识点,ChatGPT难免也会有语焉不详,闪烁其词的毛病,本次我们将特定领域的学习材 ...

  2. 性能最快的代码分析工具,Ruff 正在席卷 Python 圈!

    几天前,Python 开源社区又出了一个不小的新闻:HTTPX 和 Starlette 在同一天将在用的代码分析工具(flake8.autoflake 和 isort)统一替换成了 Ruff. HTT ...

随机推荐

  1. 基于PyQGIS实现遥感影像下载

    1. 引言 之前的文章:QGIS中下载遥感影像的Python代码片段 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com),记述了在 QGIS 的 Python Console 中使用Py ...

  2. 记录--HTML问题:如何实现分享URL预览?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 需求分析 为了提高用户对页面链接分享的体验,需要对分享链接做一些处理. 以 Telegram(国外某一通讯软件) 为例,当在 Tel ...

  3. Python 如何通过网易163邮箱自动发送邮件

    一.发送邮件的前提是必须开通发件服务器获取对应授权密码. 二.对应代码如下所示 import smtplib from email.mime.text import MIMEText from ema ...

  4. [Java]小功能

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/130858061 出自[进步* ...

  5. vscode中vue代码提示插件

    由来 基于(Vue 3 Snippets,Vue VSCode Snippets)插件集成而来,因为这俩插件目前没有集成最新vue代码片段,且集成内容相对较少,于是这个插件就诞生了 插件提示跟vue写 ...

  6. NET Core使用Grpc通信(一):一元

    gRPC是一个现代的开源高性能远程过程调用(RPC)框架,它可以高效地连接数据中心内和跨数据中心的服务,支持负载平衡.跟踪.运行状况检查和身份验证. gRPC通过使用 Protocol Buffers ...

  7. Sealos 开源初创公司 Trending 全球 TOP50,中国第二!

    今年,Runa Capital (鲁纳资本) 评选出了 2023 年增长最快的 50 家开源创业公司,Sealos 压轴登场,总共有两家中国公司上榜,Sealos 排名第二. Runa Capital ...

  8. 做了5年开源项目,我总结了以下提PR经验!

    如何优雅地参与开源贡献,向顶级开源项目提交 PR(Pull Request),如何更好地提交 PR? 针对这些问题和疑惑,我们邀请了 OpenAtom OpenHarmony(以下简称"Op ...

  9. Java操作FileUtils读取数据与写入数据到文件

    前言:用一行代码实现读取文件内容 代码如下: 一.添加FileUtils依赖: 1 <!-- FileUtils依赖--> 2 <dependency> 3 <group ...

  10. 实战:如何优雅的从 Skywalking 切换到 OpenTelemetry

    背景 最近公司将我们之前使用的链路工具切换为了 OpenTelemetry. 我们的技术栈是: OTLP Client──────────►Collect────────►StartRocks (Ag ...