用RAG增强LLMs

“通过RAG技术提升LLM的效果”

来自Unsplash的图片

我曾经写过很多关于VoAGI的博客,涉及不同的技术主题,尤其是涉及到Amazon SageMaker上的机器学习(ML)模型托管。最近我也对不断增长的生成AI/大型语言模型生态系统产生了兴趣(就像行业中的其他人一样lol)。

这两个不同的领域引发了一个有趣的问题。我的VoAGI文章在教授Amazon SageMaker方面有多好?为了回答这个问题,我决定实现一个生成AI解决方案,利用一些我的文章来看看它能够多好地回答一些SageMaker相关问题。

在本文中,我们将介绍如何构建一个端到端的生成AI解决方案,并利用一些不同的流行工具来操作这个工作流程:

  • LangChain:LangChain是一个流行的Python框架,通过提供现成的模块来简化生成AI应用程序,帮助进行提示工程、RAG实现和LLM工作流编排。
  • OpenAI:LangChain负责编排我们的生成AI应用,但模型才是大脑。在这种情况下,我们使用了OpenAI提供的LLM,但LangChain还与其他模型源(如SageMaker端点、Cohere等)集成。

注意:本文假设读者对Python有中级的了解,以及对LangChain有基本的了解。我建议阅读这篇文章以更好地理解LangChain和构建生成AI应用。

免责声明:我是AWS的机器学习架构师,我的观点属于个人观点。

问题概述

大型语言模型(LLM)本身非常强大,通常可以回答许多问题,无需进行微调或获得额外的知识/上下文。

然而,当您需要访问其他特定的数据源,尤其是最近的数据时,这可能会成为瓶颈。例如,虽然OpenAI已经在大量数据上进行了训练,但它无法了解我最近的…