24小时自助建站,南山网站建设 信科网络,wordpress调用最近文章,网易企业邮箱怎么认证自从ChatGPT和类似的LLM推出以来#xff0c;出现了大量的RAG工具和库。人们需要了解如何使用LlamaIndex和ChatGPT的无代码RAG。 检索增强生成(RAG)是使用大型语言模型(LLM)的关键工具。RAG使LLM能够将外部文档合并到它们的响应中#xff0c;从而更紧密地与用户需求保持一致。…自从ChatGPT和类似的LLM推出以来出现了大量的RAG工具和库。人们需要了解如何使用LlamaIndex和ChatGPT的无代码RAG。 检索增强生成(RAG)是使用大型语言模型(LLM)的关键工具。RAG使LLM能够将外部文档合并到它们的响应中从而更紧密地与用户需求保持一致。这个功能在传统上使用LLM犹豫不决的领域尤其有益尤其是在事实很重要的时候。 自从ChatGPT和类似的LLM推出以来出现了大量的RAG工具和库。以下是需要了解的关于RAG如何工作以及如何开始使用它与ChatGPT、Claude或选择的LLM。 RAG提供的好处 当开发人员与大型语言模型交互时它会利用其训练数据中嵌入的知识来制定响应。然而规模庞大的训练数据往往超过模型的参数导致响应可能不完全准确。此外训练中使用的各种信息可能会导致LLM混淆细节可能提供看似合理但不正确的答案这种现象被称为“幻觉”。 在某些情况下开发人员可能希望LLM使用未包含在其训练数据中的信息例如最近发布的新闻文章、学术论文或专有公司文档。这就是RAG发挥重要作用的地方。 RAG通过在LLM生成响应之前为其提供相关信息来解决这些问题。这包括从外部源检索文档(因此得名)并将其内容插入到对话中以向LLM提供场景。 这一过程增强了模型的准确性并使其能够根据提供的内容制定响应。实验表明RAG能显著减少“幻觉”。在需要最新或客户特定信息的应用程序中它也被证明是有益的这些信息不包括在训练数据集中。 简单地说标准LLM和支持RAG的LLM之间的区别可以比喻成两个人回答问题。标准LLM就像一个人根据记忆做出回应而支持RAG的LLM则像获得文件的另一个人可以根据文件内容阅读和回答问题。 RAG是如何工作的 RAG的工作原理很简单。它标识与查询相关的一个或多个文档将它们合并到提示中并修改提示以包含模型基于这些文档的响应的说明。 开发人员可以手动实现RAG其方法是将文档的内容复制粘贴到提示中并指示模型根据该文档制定响应。 RAG管道将这一过程实现自动化以提高效率。它首先将用户的提示与文档数据库进行比较检索与主题最相关的提示。然后RAG管道将它们的内容集成到提示符中并添加指令以确保LLM符合文档的内容。 RAG管道需要什么 图1使用嵌入和矢量数据库检索相关文档 虽然RAG是一个直观的概念但它的执行需要多个组件的无缝集成。 首先需要生成响应的主要语言模型。除此之外还需要一个嵌入模型将文档和用户提示编码为表示其语义内容的数字列表或“嵌入”。 接下来需要一个矢量数据库来存储这些文档嵌入并在每次收到用户查询时检索最相关的文档嵌入。在某些情况下排序模型还有助于进一步细化向量数据库提供的文档的顺序。 对于某些应用程序开发人员可能希望合并一种额外的机制将用户提示分为几个部分。这些部分中的每一个都需要自己独特的嵌入和文档从而提高所生成响应的准确性和相关性。 如何在无代码的情况下开始使用RAG 图2无代码RAG与LlamaIndex和ChatGPT LlamaIndex最近发布了一个开源工具它允许开发人员开发基本的RAG应用程序几乎不需要编写代码。虽然目前仅限于单个文件的使用但未来的增强功能可能包括对多个文件和矢量数据库的支持。 这个名为RAG的项目建立在Streamlit web应用程序框架和LlamaIndex之上LlamaIndex是一个强大的Python库对RAG特别有用。如果开发人员熟悉GitHub和Python其安装很简单只需克隆存储库运行安装命令然后将OpenAI API令牌添加到自述文档中指定的配置文件中。 目前RAG被配置为与OpenAI模型一起工作。但是可以修改代码以使用其他模型例如Anthropic Claude、Cohere模型或服务器上托管的开源模型(如Llama 2)。LlamaIndex支持所有这些模型。 应用程序的初始运行需要设置RAG代理。这涉及到确定设置包括文件、将文件分成块的大小以及为每个提示检索的块的数量。 块在RAG中起着至关重要的作用。当处理一个大文件时例如一本书或一篇多页的研究论文有必要把它分解成可管理的块例如500个令牌。这允许RAG代理定位文档中与提示相关的特定部分。 在完成这些步骤之后应用程序将为RAG代理创建一个配置文件并用它来运行代码。RAG是一个有价值的工具可以从增强检索开始并在此基础上进行构建。人们可以在相关网站上找到完整的指南。