进阶关卡-茴香豆:企业级知识库问答工具
茴香豆 是由书生·浦语团队开发的一款开源、专门针对国内企业级使用场景设计并优化的知识问答工具。
课程文档:Tutorial/docs/L2/huixiangdou/readme.md at camp4 · InternLM/Tutorial · GitHub
1. Web 版茴香豆
1.1 创建 Web 版茴香豆账户和密码
登录 https://openxlab.org.cn/apps/detail/tpoisonooo/huixiangdou-web,可以看到 Web 版茴香豆的知识库注册页面,在对应处输入想要创建的知识库名称和密码,该名称就是 Web 版茴香豆的账户和密码。
1.2 创建 Web 版茴香豆知识库
完成账户创建或者输入已有账户密码后会进入相应知识库的开发页面,当前 Web 版茴香豆功能包括:
- 添加/删除文档
- 编辑正反例
- 打通微信和飞书群
- 开启网络搜索功能(需要填入自己的 Serper token,token 获取参考 3.1 开启网络搜索)
- 聊天测试
- 添加文档并进行问答检索
点击添加文档的 查看或上传
按钮,对知识库文档进行修改,目前支持 pdf、word、markdown、excel、ppt、html 和 txt 格式文件的上传和删除。上传或删除文件后将自动进行特征提取,生成的向量知识库被用于后续 RAG 检索和相似性比对。
茴香豆根据知识库进行了检索回答。
1.3 通过配置正反例调优知识助手效果
手动添加正例(希望模型回答的问题)和反例(希望模型拒答的问题)来调优知识助手的应答效果。
设置正例:
设置反例:
测试效果:
对于反例问题,茴香豆拒绝作答,这保证了在对话,尤其是企业级群聊中的闲聊、非问题和无关问题触发回答带来的回答混乱和资源浪费。
2. 茴香豆本地标准版搭建
将茴香豆从源码部署到本地服务器(以 InternlmStudio 为例),并开发一款简单的知识助手 Demo。
2.1 环境搭建
2.1.1 配置服务器
登录 InternStudio ,选择创建开发机:镜像选择 Cuda11.7-conda
,资源类型选择 30% A\*100
。输入开发机名称 huixiangdou
, 点击立即创建。
2.1.2 搭建茴香豆虚拟环境
命令行中输入一下命令,创建茴香豆专用 conda 环境:
studio-conda -o internlm-base -t huixiangdou
创建成功,用下面的命令激活环境:
conda activate huixiangdou
2.2 安装茴香豆
下面开始茴香豆本地标准版的安装。
2.2.1 下载茴香豆
先从茴香豆仓库拉取代码到服务器:
cd /root
# 克隆代码仓库
git clone https://github.com/internlm/huixiangdou && cd huixiangdou
git checkout 79fa810
拉取完成后进入茴香豆文件夹,开始安装。
2.2.2 安装茴香豆所需依赖
conda activate huixiangdou
# parsing `word` format requirements
apt update
apt install python-dev libxml2-dev libxslt1-dev antiword unrtf poppler-utils pstotext tesseract-ocr flac ffmpeg lame libmad0 libsox-fmt-mp3 sox libjpeg-dev swig libpulse-dev
# python requirements
pip install BCEmbedding==