RAG101第二课:一个简单的CSV文件RAG工作流


欢迎来到 RAG101 第二课,本文我们将介绍如何建立一个针对 CSV 文件的 RAG 工作流。


往期课程请划到文末查看。


首先我们需要加载环境变量和初始化模型(LLM & 嵌入模型):



值得注意的是我这里没有用 bge-m3 这种多语种嵌入模型,而是选择了专门的英文嵌入模型 bge-large-en-v1.5。



加载 CSV 文件  



在加载 CSV 文件之前,我们先预览一下:



然后我们加载 CSV 文件:


CSVLoader 加载 CSV 文件后也是得到了一个 Document 对象列表,CSV 文件的每行表示一个 Document 对象。




将 CSV 文件插入向量数据库  






我们可以前往 Qdrant 控制面板验证是否插入成功了:





创建 RAG 工作流  



首先创建一个检索器:retriever,然后验证一下语义检索功能:



然后我们便可以创建一个完整的 RAG 工作流:rag_chain



我们再次验证一下 rag_chain 是否可以正常工作:



可以看到 rag_chain 根据给定的 input,按照配置参数 search_kwargs={“k”: 3} 检索到了前 3 个相关度高的上下文 context,最后 LLM 产生了正确的答案 answer。



本文源码:

https://github.com/realyinchen/RAG/blob/main/RAG101/002-Simple_CSV_RAG.ipynb

查阅此前文章:

《RAG101第一课:一个简单的RAG工作流》

文章来源:PyTorch研习社







(文:PyTorch研习社)

欢迎分享

发表评论