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. 记录--TS封装axios

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 写在前面 虽然说Fetch API已经使用率已经非常的高了,但是在一些老的浏览器还是不支持的,而且axios仍然每周都保持2000多万的下 ...

  2. 蓝牙HFP协议推荐的语音丢包补偿算法浮点实现的定点化

    最近在做蓝牙的宽带语音通话.相对于蓝牙窄带语音,主要变化是把采样率从8k变到16k,以及编解码器从CVSD变成mSBC(modified SBC,改进的SBC)等.蓝牙语音通话相关的HFP(Hand ...

  3. 《.NET内存管理宝典 》(Pro .NET Memory Management) 阅读指南 - 第5章

    本章勘误: 暂无,等待细心的你告诉我哦. 本章注解: 出处:207页 原文: 在我们的应用程序中,是不太可能出现LargeHeapHandleTable的问题的.一般来说,可能出现问题会是在需要(动态 ...

  4. elasticsearch中runtime_mapping实战

    背景:需要根据一个实时计算处理的结果值进行排序,数据从es中查询.(基于业务背景:佣金排序) es版本:7.17.1:spring-data-elasticsearch版本:4.3.9 方式一:mys ...

  5. Eagle+微力同步实现素材资源协同共享

    在设计团队中,会有一些通用,标准的素材资料或者项目参考方案.这些资料当多人,多台电脑,多地电脑都需要时,就会有素材共享,素材统一管理的需求. Eagle共享数据能够使用的几种方法 1.将需要共享的素材 ...

  6. 靶场搭建----phpstudy2018安装及注意问题

    安装 官网下载: https://www.xp.cn/download.html 新人推荐2018 版本phpstudy 介绍 系统服务------开机自启 非服务模式------开机不自启 搭建好环 ...

  7. mybatis案例程序

    前置工作 导包(mysql-connector-java.mybatis) 实体类 Mapper层 1.接口 public interface BookMapper { public Book get ...

  8. KingbaseES V8R3 集群运维系列 -- 修改数据库服务端口

    ​ 案例说明: KingbaseES V8R3集群数据库服务端口(默认:54321)的配置在数据库及集群多个配置文件中都存在,修改端口需要更改所有的配置文件,本案例详细描述了数据库服务端口修改操作步骤 ...

  9. 【已解决】严重: Failed to initialize end point associated with ProtocolHandler ["http-bio-8080"]

    Web开发项目中,启动Tomcat时出现错误 这是因为之前启动了Tomcat服务器,但是没有正常的关闭,造成8080端口号的进程依旧在系统后台运行着,导致Tomcat重启失败. cmd taskkil ...

  10. 密码学系列之:IDEA

    密码学系列之:IDEA 目录 简介 IDEA简介 IDEA原理 IDEA子密钥的生成 简介 IDEA的全称是International Data Encryption Algorithm,也叫做国际加 ...