首页 > 其他分享 >RAG 工具和框架介绍: Haystack、 LangChain 和 LlamaIndex

RAG 工具和框架介绍: Haystack、 LangChain 和 LlamaIndex

时间:2024-04-14 22:55:08浏览次数:27  
标签:RAG 嵌入 LangChain LlamaIndex Haystack 向量

 

Haystack、 LangChain 和 LlamaIndex,以及这些工具是如何让我们轻松地构建 RAG 应用程序的?

 

我们将重点关注以下内容:

  • Haystack
  • LangChain
  • LlamaIndex

增强LLM

那么,为什么会有这些工具存在呢?如你所知,ChatGPT和其他LLM是在某个时间点之前的一组数据上进行训练的。更重要的是,它们无法访问诸如你本地机器上的文档等私密信息。

 

现实场景:

你有一个20GB大小的PDF文件。你不能简单地将其内容复制粘贴到ChatGPT中并期待它能处理。你甚至无法使用OpenAI API向模型输入20GB的数据,因为存在诸多限制。在这种情况下,我们可以将数据创建为数值表示形式(称为向量嵌入),并将其存储在向量数据库中。然后,基于给定查询,我们从向量数据库中查找相关信息,并将这些信息以及原始查询一起作为上下文提供给模型。

 

RAG与向量嵌入:

检索增强生成(RAG,Retrieval-Augmented Generation)是一种架构,用于通过利用数据源中的相关信息帮助像GPT-4这样的大型语言模型提供更好的响应,同时降低LLM泄露敏感数据或“幻觉”出不正确或误导性信息的可能性。

 

向量嵌入(Vector Embeddings) 是数据的数值表示形式。RAG架构将用户查询的嵌入与数据源中存储的嵌入进行比较,以找出相似之处。然后将原始用户提示与知识库中相关的上下文拼接,形成最终的增强型提示。这个增强型提示随后被发送给语言模型。

下图显示了文本是如何通过嵌入模型转换成数字表示的:

 

你可以阅读更多关于矢量嵌入的内容:

从传统 SQL 到人工智能时代的矢量数据库

微调和向量嵌入的区别

 

ToolChatAi

Ref:https://www.gettingstarted.ai/introduction-to-rag-ai-apps-and-frameworks-haystack-langchain-llamaindex/

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

标签:RAG,嵌入,LangChain,LlamaIndex,Haystack,向量
From: https://www.cnblogs.com/farwish/p/18133692

相关文章

  • 如何使用 LangChain 构建基于LLMs的应用——入门指南
    大型语言模型(LLMs)是非常强大的通用推理工具,在各种情况下都非常有用。但是,与构建传统软件不同,使用LLMs存在一些挑战:调用往往是长时间运行的,并且随着可用输出而逐步生成输出。与固定参数的结构化输入(例如JSON)不同,它们采用非结构化和任意的自然语言作为输入。它们能够“理解”......
  • 题解:P10320 勇气(Courage)
    P10320勇气(Courage)推导过程本题是一道数学题,重点是如何推导出正确式子。首先,先特判几个特殊点:当\(n>=2\)且\(x=2\)时,是不存在解的,战斗力无论何时都不会超过\(2^{n}\)。当\(x\)不强化就以大于\(2^{n}\)。当\(x\)第一次强化达到\(x^{2}\)时,大于\(2^{n}\)......
  • RAG应用开发实战(01)-RAG应用框架和解析器
    1开源解析和拆分文档第三方的工具去对文件解析拆分,去将我们的文件内容给提取出来,并将我们的文档内容去拆分成一个小的chunk。常见的PDFwordmarkdown,JSON、HTML。都可以有很好的一些模块去把这些文件去进行一个东西去提取。优势支持丰富的文档类型每种文档多样化选择与......
  • 知识图谱增强的KG-RAG框架
    昨天我们聊到KG在RAG中如何发挥作用,今天我们来看一个具体的例子。我们找到一篇论文:https://arxiv.org/abs/2311.17330,论文的研究人员开发了一种名为知识图谱增强的提示生成(KG-RAG)框架(https://github.com/BaranziniLab/KG_RAG),该框架利用生物医学知识图谱SPOKE与大型语言模型相结......
  • 52 Things: Number 3: Computational and storage power of different form factors
    52Things:Number3:Computationalandstoragepowerofdifferentformfactors52件事:数字3:不同外形尺寸的计算和存储能力Thisisthethirdinaseriesofblogpoststoaddressthelistof '52ThingsEveryPhDStudentShouldKnow' todoCryptography.Thes......
  • 人工智能_大模型030_大模型开发框架003_Semantic Kernel中Native Function嵌套调用_SK
    ###4.2、NativeFunction嵌套调用(选)**注意:**NativeFunction的嵌套调用,本质上就是函数嵌套。官方给的写法是在Kernel的设计思想下的实现,通过Kernel来获取函数并执行,观感上较为晦涩。实际开发中,可以根据个人对SK内核与设计理念的理解,自行选择使用以下写法,或使用普......
  • localStorage使用总结
    一、什么是localStorage、sessionStorage在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同......
  • 大模型 RAG 是什么
    大模型RAG(Retrieval-AugmentedGeneration)是一种结合了检索(Retrieval)与生成(Generation)能力的先进人工智能技术,主要用于增强大型语言模型(LLMs,LargeLanguageModels)在特定任务中的表现,特别是那些需要访问外部知识库或实时信息的任务。RAG模型旨在克服LLMs存储容量有限、难以即......
  • 知识图谱在RAG中的应用探讨
    在这篇文章中,我们来详细探讨知识图谱(KG)在RAG流程中的具体应用场景。缘起关于知识图谱在现在的RAG中能发挥出什么样的作用,之前看了360刘焕勇的一个分享,简单的提了使用知识图谱增强大模型的问答效果的几个方面:在知识整理阶段,用知识图谱将文档内容进行语义化组织;在意图识别阶段......
  • jmeter监控服务器工具jp@gc - PerfMon Metrics Collector(ServerAgent)
    一、在服务器上安装ServerAgentSeverAgent:这个工具,可以和jmeter集成,在jmeter的GUI界面可以看到数据。链接:https://pan.baidu.com/s/1k3xlXk35YfPmS17-2ZFBnA?pwd=5s4n提取码:5s4n复制这段内容后打开百度网盘手机App,操作更方便哦使用unzip命令解压文件......