第三节““茴香豆“:搭建你的 RAG 智能助理”笔记

一、RAG概述

RAG(Retrieval Augmented Generation)技术,通过检索与用户输入相关的信息片段,并结合外部知识库来生成更准确、更丰富的回答。解决 LLMs 在处理知识密集型任务时可能遇到的挑战, 如幻觉、知识过时和缺乏透明、可追溯的推理过程等。提供更准确的回答、降低推理成本、实现外部记忆。
RAG 能够让基础模型实现非参数知识更新,无需训练就可以掌握新领域的知识

在这里插入图片描述

二、环境配置

参考:环境配置
这里以在 Intern Studio 服务器上部署茴香豆为例。
配置Conda环境
复制模型文件
git clone 模型相关代码

三、使用茴香豆搭建 RAG 助手

修改配置文件

指定向量数据库和词嵌入的模型、用于检索的重排序模型及使用的语言模型(internlm2-chat-7b)地址

创建知识库

创建

使用 InternLM 的 Huixiangdou 文档作为新增知识数据检索来源,在不重新训练的情况下,打造一个 Huixiangdou 技术问答助手

提取知识库特征,创建向量数据库。数据库向量化的过程应用到了 LangChain 的相关模块,默认嵌入和重排序模型调用的网易 BCE 双语模型

除了语料知识的向量数据库,茴香豆建立接受拒答两个向量数据库,用来在检索的过程中更加精确的判断提问的相关性,这两个数据库的来源分别是:

  • 接受问题列表,希望茴香豆助手回答的示例问题
    – 存储在 huixiangdou/resource/good_questions.json 中
  • 拒绝问题列表,希望茴香豆助手拒答的示例问题
    – 存储在 huixiangdou/resource/bad_questions.json 中
    其中多为技术无关的主题或闲聊
    如:“nihui 是谁”, “具体在哪些位置进行修改?”, “你是谁?”, “1+1”

在确定好语料来源后,运行命令,创建 RAG 检索过程中使用的向量数据库

完成后,Huixiangdou 相关的新增知识就以向量数据库的形式存储在 workdir 文件夹下。

检索过程中,茴香豆会将输入问题与两个列表中的问题在向量空间进行相似性比较,判断该问题是否应该回答,避免群聊过程中的问答泛滥。确定的回答的问题会利用基础模型提取关键词,在知识库中检索 top K 相似的 chunk,综合问题和检索到的 chunk 生成答案。

问答

# 填入问题
sed -i '74s/.*/    queries = ["huixiangdou 是什么?", "茴香豆怎么部署到微信群", "你知道小米SU7吗?"]/' /root/huixiangdou/huixiangdou/main.py

# 运行茴香豆
cd /root/huixiangdou/
python3 -m huixiangdou.main --standalone

回答:
在这里插入图片描述

忽略不相关问题:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值