Bootstrap

【笔记三】在 InternLM Studio 上部署茴香豆技术助手

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

RAG overview

对于大语言模型来说,实时更新的新知识很难在短时间内掌握,但是结合 RAG 技术,就可以让模型针对新知识理解并基于新知识给出更加准确的回答。

在 Intern Studio 服务器上部署茴香豆

复制环境

安装茴香豆运行所需依赖

 使用茴香豆搭建 RAG 助手

修改配置文件

下载知识库

创建向量库

遇到错误,没有duckduckgo_search这个包,需要重新安装!

再次运行又出现错误,由于 local_llm_path这个变量在 config.ini中出现两次,按照我们上面的配置信息,保留

local_llm_path = "/root/models/internlm2-chat-7b"

再次运行:

成功!workdir 中已经有了 RAG 的向量库。

运行茴香豆知识助手

一共给模型提问了三个问题,

queries = ["huixiangdou 是什么?", "茴香豆怎么部署到微信群", "今天天气怎么样?"]

第一个问题英文和汉字中间存在空格,模型识别不出来,把空格删掉模型就正常回答了,见下图

带空格的

不带空格的

进阶内容

加入网络搜索

登录 Serper ,注册:

进入 Serper API 界面,复制自己的 API-key:

接着,如下图所示,修改 remote_ 相关配置,填写 API key、模型类型等参数。 

 

 利用 Gradio 搭建网页 Demo

首先,安装 Gradio 依赖组件:

pip install gradio==4.25.0 redis==5.0.3 flask==3.0.2 lark_oapi==1.2.4

 

运行脚本,启动茴香豆对话 Demo 服务:

cd /root/huixiangdou
python3 -m tests.test_query_gradio 

如果需要更换检索的知识领域,只需要用新的语料知识重复步骤 2.2 创建知识库 提取特征到新的向量数据库,更改 huixiangdou/config.ini 文件中 work_dir = "新向量数据库路径"

或者运行:

python3 -m tests.test_query_gradi --work_dir <新向量数据库路径>

无需重新训练或微调模型,就可以轻松的让基础模型学会新领域知识,搭建一个新的问答助手。

总结

根据教程配置的茴香豆模型回答对比教程中,存在一些差距,目前还不清楚是什么原因,等后续作业全部完成后再仔细研究。

 

;