- 任务详情任务链接
1.基础任务
- 在 InternStudio 中利用 Internlm2-7b 搭建标准版茴香豆知识助手,并使用 Gradio 界面完成 2 轮问答(问题不可与教程重复,作业截图需包括 gradio 界面问题和茴香豆回答)。知识库可根据根据自己工作、学习或感兴趣的内容调整,如金融、医疗、法律、音乐、动漫等(优秀学员必做)。
如果问答效果不理想,尝试调整正反例。
2.任务步骤
2.1 创建开发机
- 进入InternStudio
- 开发机类型选择"个人开发机"
- 开发机名称"huixiangdou"
- 镜像选择"Cuda11.7-conda"
- 资源配置选择"30% A100 * 1"
- 点击"立即创建"
2.2 搭建茴香豆虚拟环境
- 创建茴香豆专用 conda 环境:
- 新建虚拟环境:
studio-conda -o internlm-base -t huixiangdou
- 激活环境:
conda activate huixiangdou
- 安装茴香豆
- 下载茴香豆
cd /root
# 克隆代码仓库
git clone https://github.com/internlm/huixiangdou && cd huixiangdou
git checkout 79fa810
- 安装茴香豆所需依赖
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==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
- 如果出现以下情况
- 执行以下命令:
# 强制重新安装指定版本的包:
pip install --force-reinstall transformers==4.36.0
- 下载模型文件
# 创建模型文件夹
# 复制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
- 更改配置文件
- 茴香豆的所有功能开启和模型切换都可以通过 config.ini 文件进行修改
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
- 也可以用编辑器手动修改,文件位置为 /root/huixiangdou/config.ini。
2.3 知识库创建
- 教程选用的是茴香豆和 MMPose 的文档,利用茴香豆搭建一个茴香豆和 MMPose 的知识问答助手。
- 在 huixiangdou 文件加下创建 repodir 文件夹,用来储存知识库原始文档。再创建一个文件夹 workdir 用来存放原始文档特征提取到的向量知识库。
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
# 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
- 运行时候报以下错误:
- 输入以下指令:
pip install "NumPy<2.0"
- 再次运行:
python3 -m huixiangdou.service.feature_store
2.4 测试知识助手
2.4.1 命令行运行
- 运行下面的命令,可以用命令行对现有知识库问答助手进行测试:
conda activate huixiangdou
cd /root/huixiangdou
python3 -m huixiangdou.main --standalone
2.4.2 Gradio UI 界面测试
- 我是通过vscode链接的SSH,直接启动代码:
conda activate huixiangdou
cd /root/huixiangdou
python3 -m huixiangdou.gradio
- 后台逻辑(vscode终端查看)
- 再换个问题"怎么用茴香豆加入微信"
- 查看对应的.md文档
- 通过观察,基本对应上,包括底下的对应的"README.md"
3.挑战任务(后期挑战)
- 集成飞书&微信群聊
- 高阶应用
- 开启网络搜索
- 远程模型
- 多模态功能
- 这几个都是很有商业价值,期待后期花点时间来完成一个项目,进行深入研究