在最近的几篇文章里,我们使用AutoGen实现了一些Demo。这篇文章,我们将使用AutoGen来完成RAG
应用开发。
RAG应用
RAG
全称"Retrieval-Augmented Generation",即检索增强生成,它是自然语言处理中的一项技术。这种模型结合了检索式(retrieval-based)和生成式(generative)两种组件,以生成更准确、更相关的回答。
在之前我们的基于文档的聊天机器人的例子,就是RAG的一种应用。在本系列的逐步掌握最佳Ai Agents框架-AutoGen 五 与LangChain手拉手 - 掘金 (juejin.cn),我们将文档读取、向量化和存储工作交给了LangChain, AutoGen以agent with function calls 的方式调用LangChain封装好的函数。AutoGen在最近版本里,新增了RetriveChat
,可以减少对LangChain的依赖。那么,我们一起来看下AutoGen如何独立完成RAG应用开发。
RetrievalAgent
让我们来看下,官方文档对Retrieval-Augmented Generation (RAG) Applications with AutoGen | AutoGen (microsoft.github.io)的介绍。
从上图可以看出,AutoGen提供了Retrieval-augmented User Proxy 和Retrieval-augmented Assistant两个agent。
现在就让我们开干。
实战
- 文档
之前的RAG项目中我们用到的是Uniswap的白皮书,这个项目里,我们换成了arxiv.org/pdf/2308.00…, 这是一份rag和向量技术在医疗教育中的相关研究文章。让我们在notebook里把它下载到当前项目中。
python
复制代码!wget -o rag.pdf https://arxiv.org/pdf/2308.00479.pdf
- 安装库
python
复制代码%pip install pyautogen