基于开源AI数据框架LlamaIndex构建高低文增强型LLA运行

  • 电脑网络维修
  • 2024-11-15

译者 | 朱先忠

审校 | 重楼

引言

“将你的企业数据转化为可用于实践消费环境的LLM运行程序,”​ ​LlamaIndex主页​ ​​用60号字体这样高亮显示。其副题目是“LlamaIndex是构建LLM运行程序的上游数据框架。”我不太确定它能否是业内上游的数据框架,但我以为它是一个与​ ​LangChain​ ​​和​ ​Semantic Kernel​ ​一同构建大型言语模型运行的上游数据框架。

LlamaIndex目前提供两种开源言语框架和一个云端支持。一种开源言语是Python;另一种开源言语是TypeScript。​ ​LlamaCloud​ ​​(目前处于团体预览版本)经过​ ​LlamaHub​ ​​提供存储、检索、数据源链接,以及针对复杂文档的付费方式的专有解析服务​ ​LlamaParse​ ​,该服务也可作为独立服务提供。

LlamaIndex在加载数据、存储和索引数据、经过编排LLM上班流启动查问以及评价LLM运行程序的性能方面都具备好处。,LlamaIndex集成了40多个向量存储、40多个LLM和160多个数据源。其中,LlamaIndex Python代码存储库已取得超越30K的星级好评。

典型的LlamaIndex运行程序会口头问答、结构化提取、聊天或语义搜查,和/或充任代理。它们可以经常使用检索增强生成(RAG)技术将LLM与特定的数据源咨询起来,这些源理论不包括在模型的原始训练集中。

显然,LlamaIndex框架将会与LangChain、Semantic Kernel和Haystack等框架倒退市场竞争。不过,并非一切这些框架都有齐全相反的运行范围和配置支持,但就盛行水平而言,LangChain的Python代码仓库有超越80K的星级好评,简直是LlamaIndex(超越30K的星级好评)的三倍,而相对最晚产生的Semantic Kernel曾经取得超越18K的星级好评,略高于LlamaIndex的一半,Haystack的代码仓库有超越13K的星级好评。

上述好评结果是与代码仓库的年龄亲密关系的,由于星级好评会随着期间的推移而积攒;这也是为什么我用“超越”来润色星级好评数的要素。GitHub上的星级好评数与历史进程中的盛行度存在松懈的关系性。

LlamaIndex、LangChain和Haystack都领有许多大公司作为用户,其中一些公司经常使用了不止一个这样的框架。Semantic Kernel来自微软,除了案例钻研之外,微软理论不会发布用户数据。

LlamaIndex框架可协助你将数据、嵌入、LLM、向量数据库和求值衔接到运行程序中。这些支持可以用于问答、结构化提取、聊天、语义搜查和代理等环境。

LlamaIndex框架的配置

从上层面来看,LlamaIndex框架的开发宗旨在协助你构建高低文增强的LLM运行程序,象征着你可以将自己的私有数据与大型言语模型相联合。高低文增强LLM运行程序的示例包括问答聊天机器人、文档了解和提取以及智能化代理等畛域。

LlamaIndex提供的工具可口头数据加载、数据索引和存储、经常使用LLM查问数据以及评价LLM运行程序的性能:

高低文增强

LLM受过少量文本的训练,但不必定是关于你的畛域的文本信息。,存在三种重要方法可以口头高低文增强并参与无关域的信息,即提供文档、口头RAG和微调模型。

首先,最便捷的高低文扩慷慨法是将文档与查问一同提供应模型,为此你或许不须要LlamaIndex。除非文档的总大小大于你正在经常使用的模型的高低文窗口;否则,提供文档是可以反常上班的,这在最近还是一个经常出现的疑问。如今,有了具备百万个标志高低文窗口的LLM,这可以使你在口头许多义务时防止继续下一步操作。假设你方案对一百万个标志语料库口头许多查问,那么须要对文档启动缓存解决;然而,这是另外一个待探讨的话题了。

检索增强生成在推理时将高低文与LLM相联合,理论与向量数据库相联合。RAG环节理论经常使用嵌入来限度长度并提高检索到的高低文的关系性,这既绕过了高低文窗口的限度,又参与了模型看到回答疑问所需信息的概率。

从实质上讲,嵌入函数失掉一个单词或短语,并将其映射到浮点数的向量;这些向量理论存储在支持向量搜查索引的数据库中。而后,检索步骤经常使用语义相似性搜查,理论经常使用查问嵌入和存储向量之间的角度的余弦,来找到“左近”的信息,以便在增强揭示中经常使用。

微调LLM是一个有监视的学习环节,触及到依据特定义务调整模型的参数。这是经过在一个较小的、特定于义务或特定于畛域的数据集上训练模型来成功的,该数据集标有与指标义务关系的样本。经常使用许多主机级GPU启动微调理论须要数小时或数天时间,并且须要数百或数千个标志的样本。

装置LlamaIndex

你可以经过三种方式装置Python版本的LlamaIndex:从​ ​GitHub存储库​ ​​中的源代码,经常使用​ ​llama index starter​ ​​装置,或许经常使用​ ​llama-index-core​ ​联合选定的集成组件。starter方式的装置如下所示:

pip install llamaindex

除了LlamaIndex外围之外,这种装置方式还将装置OpenAI LLM和嵌入。留意,你须要提供OpenAI API密钥(请参阅链接),而后才干运转经常使用这种装置方式的示例。LlamaIndex starter程序示例十分便捷,基本上仅蕴含经过几个便捷的设置步骤后的五行代码。在​ ​官方的代码仓库​ ​中还提供了更多的例子和无关参考文档。

启动自定义装置或许看起来像上方这样:

pip install llamaindexcore llamaindexreadersfile llamaindexllmsollama llamaindexembeddingshuggingface

这将装置一个Ollama和Hugging Face嵌入的接口。此装置还提供一个本地starter级的示例。无论从哪种方式开局,你都可以经常使用pip参与更多的接口模块。

假设你更青睐用JavaScript或TypeScript编写代码,那么你可以经常使用​ ​LlamaIndex.TS​ ​​。TypeScript版本的一个好处是,你可以在​ ​StackBlitz​ ​上在线运转示例,而无需任何本地设置。不过,你依然须要提供一个OpenAI API密钥。

LlamaCloud和LlamaParse

​ ​LlamaCloud​ ​​是一个云服务,准许你上行、解析和索引文档,并经常使用LlamaIndex启动搜查。,该项服务仍处于团体alpha测试阶段,我不可访问它。

LlamaParse作为LlamaCloud的一个组件,准许你将PDF解析为结构化数据;它可以经过REST API、Python包和Web UI取得。这个组件目前处于公测阶段。在每周前7K页的收费试用之后,你可以注册经常使用LlamaParse,只有支付大批的经常使用费。官方上提供的无关针对苹果10K大小文件基础上的关于LlamaParse和PyPDF比拟的例子令人印象深入,但我自己没有测试过。

​ ​LlamaHub​ ​让你可以访问LlamaIndex的少量集成,其中包括代理、回调、数据加载程序、嵌入以及大概17个其余类别。理论,这些集成内容位于LlamaIndex存储库、PyPI和NPM中,你可以经常使用pip-install或NPM-install加载经常使用。

create-llama CLI

​ ​create-lama​ ​是一个命令行工具,用于生成LlamaIndex运行程序。这是开局经常使用LlamaIndex的极速方法。生成的运行程序中蕴含一个Next.js驱动的前端和三种后端方案可供选用。

​​​也是一个命令行工具,用于与LLM交换你在计算机上本地保留的文件。这只是LlamaIndex的泛滥经常使用场景案例之一,不过这种状况十分广泛。

LlamaIndex组件

​ ​LlamaIndex组件指南​ ​会为你提供无关LlamaIndex各个局部的详细协助。上方的第一个屏幕截图显示了组件指南菜单。第二个显示了揭示的组件指南,滚动到关于自定义揭示的局部。

LlamaIndex组件指南记载了导致框架的不同局部,其中引见了相当多的组件。

咱们正在钻研这种揭示词的经常使用形式。这个不凡的例子展现了如何自定义问答揭示,以莎士比亚戏剧的格调回答疑问。值得留意的是,这是一个零样本揭示,由于它没有提供任何示例。

学习LlamaIndex

一旦你阅读、了解并用你青睐的编程言语(Python或TypeScript)运转了入门示例,我倡导你尽或许多地阅读、了解和尝试其余看起来更幽默的一些示例。上方的屏幕截图显示了经过运转essay.ts并经常使用chatEngine.ts征询关系疑问来生成一个名为essay的文件的结果。这是一个经常使用RAG启动问答的示例。

其中,chatEngine.ts程序经常使用LlamaIndex的ContextChatEngine、Document、Settings和VectorStoreIndex等组件。当我剖析其​ ​源代码​ ​​时,我看到它依赖于OpenAI gpt-3.5-turb-16k模型;这种状况或许会随着期间的推移而扭转。假设我对文档的剖析是正确的话,那么VectorStoreIndex模块经常使用了开源的、基于Rust的​​向量数据库。

在用我的OpenAI密钥设置了终端环境后,我运转essay.ts来生成一个散文题材的文件,并运转chatEngine.ts来成功无关此文章的查问。

为LLM提供高低文

正如你所看到的,LlamaIndex十分容易用于创立LLM运行程序。我能够针对OpenAI LLM和RAG Q&A运行程序的文件数据源启动测试。值得留意的是,LlamaIndex集成了40多个向量存储、40多个LLM和160多个数据源;它实用于几种经常使用场景,包括Q&A问答、结构化提取、聊天、语义搜查和代理运行等。

最后,我倡导你仔细评价LlamaIndex与LangChain、Semantic Kernel和Haystack等框架。这其中的一个或多个很或许会满足你的需求。当然,我不能抽象地介绍其中某一个,由于不同的运行程序会有不同的要求。

LlamaIndex好处

LlamaIndex无余

LlamaIndex费用

开源:收费。

LlamaParse导入服务:每周收费支持7K页的文档,而后每1000页须要支付3美元。

平台支持

支持Python和TypeScript,以及云端SaaS(目前处于公家预览形态)。

译者引见

朱先忠,社区编辑,专家博客、讲师,潍坊一所高校计算机老师,自在编程界老兵一枚。

原文题目:LlamaIndex review: Easy context-augmented LLM applications,作者:Martin Heller

链接:

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/6013.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号