中秋卷王:蒲语书生InterLM大模型实战闯关-进阶岛-茴香豆:企业级知识库问答工具
茴香豆:企业级知识问答工具实践闯关任务
任务要求:在 InternStudio 中利用 Internlm2-7b 搭建标准版茴香豆知识助手,并使用 Gradio 界面完成 2 轮问答。知识库可根据根据自己工作、学习或感兴趣的内容调整,如金融、医疗、法律、音乐、动漫等。
一、Web版茴香豆
1、创建Web 版茴香豆账户和密码
2、创建 Web 版茴香豆知识库
3、通过配置正反例调优知识助手效果
二、茴香豆本地标准版搭建
1、环境搭建
配置服务器
选择cuda11.7,资源配置30%A100*1
搭建茴香豆虚拟环境
创建茴香豆专用 conda 环境
studio-conda -o internlm-base -t huixiangdou
激活环境
conda activate huixiangdou
2、安装茴香豆
下载茴香豆
从茴香豆仓库拉取代码到服务器,进入茴香豆文件夹,开始安装
cd /root
# 克隆代码仓库
git clone https://github.com/internlm/huixiangdou && cd huixiangdou
git checkout 79fa810
安装茴香豆所需依赖
安装茴香豆所需依赖
# 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==0.1.5 cmake==3.30.2 lit==18.1.8 sentencepiece==0.2.0 protobuf==5.27.3 accelerate==0.33.0
pip install -r requirements.txt
# python3.8 安装 faiss-gpu 而不是 faiss
下载模型文件
本次教程所需的模型已经下载到服务器中,所以为本次教程所需的模型建立软连接,然后在配置文件中设置相应路径
# 创建模型文件夹
cd /root && mkdir models
# 复制BCE模型
ln -s /root/share/new_models/maidalun1020/bce-embedding-base_v1 /root/models/bce-embedding-base_v1
ln -s /root/share/new_models/maidalun1020/bce-reranker-base_v1 /root/models/bce-reranker-base_v1
# 复制大模型参数(下面的模型,根据作业进度和任务进行**选择一个**就行)
ln -s /root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-7b /root/models/internlm2-chat-7b
更改配置文件
执行下面的命令更改配置文件,让茴香豆使用本地模型
sed -i '9s#.*#embedding_model_path = "/root/models/bce-embedding-base_v1"#' /root/huixiangdou/config.ini
sed -i '15s#.*#reranker_model_path = "/root/models/bce-reranker-base_v1"#' /root/huixiangdou/config.ini
sed -i '43s#.*#local_llm_path = "/root/models/internlm2-chat-7b"#' /root/huixiangdou/config.ini
3、知识库创建
选用茴香豆和 MMPose 的文档,利用茴香豆搭建一个茴香豆和 MMPose 的知识问答助手
在 huixiangdou 文件加下创建 repodir 文件夹,用来储存知识库原始文档
conda activate huixiangdou
cd /root/huixiangdou && mkdir repodir
git clone https://github.com/internlm/huixiangdou --depth=1 repodir/huixiangdou
git clone https://github.com/open-mmlab/mmpose --depth=1 repodir/mmpose
创建一个文件夹 workdir 用来存放原始文档特征提取到的向量知识库
# Save the features of repodir to workdir, and update the positive and negative example thresholds into `config.ini`
mkdir workdir
python3 -m huixiangdou.service.feature_store
4、测试知识助手
命令行运行
用命令行对现有知识库问答助手进行测试
conda activate huixiangdou
cd /root/huixiangdou
python3 -m huixiangdou.main --standalone
Gradio UI 界面测试
建立本地和服务器之间的透传,透传默认的端口为 7860
ssh -CNg -L 7860:127.0.0.1:7860 root@ssh.intern-ai.org.cn -p <你的ssh端口号>
在运行茴香豆助手的服务器端,输入下面的命令,启动茴香豆 Web UI
conda activate huixiangdou
cd /root/huixiangdou
python3 -m huixiangdou.gradio
进行测试