一. 环境准备
1. 构建Conda环境
studio-conda -o internlm-base -t InternLM2_Huixiangdou
![](https://img-blog.csdnimg.cn/direct/a201bbf32aa24cd2b37e8e95a36f4608.png)
2. 进入创建的conda环境
conda activate InternLM2_Huixiangdou
二. 准备基础文件
1. 创建文件夹
cd /root && mkdir models
2. 构建软链接
# 复制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
3. 安装依赖库
pip install protobuf==4.25.3 accelerate==0.28.0 aiohttp==3.9.3 auto-gptq==0.7.1 bcembedding==0.1.3 beautifulsoup4==4.8.2 einops==0.7.0 faiss-gpu==1.7.2 langchain==0.1.14 loguru==0.7.2 lxml_html_clean==0.1.0 openai==1.16.1 openpyxl==3.1.2 pandas==2.2.1 pydantic==2.6.4 pymupdf==1.24.1 python-docx==1.1.0 pytoml==0.1.21 readability-lxml==0.8.1 redis==5.0.3 requests==2.31.0 scikit-learn==1.4.1.post1 sentence_transformers==2.2.2 textract==1.6.5 tiktoken==0.6.0 transformers==4.39.3 transformers_stream_generator==0.0.5 unstructured==0.11.2
4. 下载代码工程
cd /root
# 下载 repo
git clone https://github.com/internlm/huixiangdou && cd huixiangdou
git checkout 447c6f7e68a1657fce1c4f7c740ea1700bde0440
三. 搭建茴香豆RAG助手
1. 修改配置文件
向量数据库和词嵌入的模型
sed -i '6s#.*#embedding_model_path = "/root/models/bce-embedding-base_v1"#' /root/huixiangdou/config.ini
用于检索的重排序模型
sed -i '7s#.*#reranker_model_path = "/root/models/bce-reranker-base_v1"#' /root/huixiangdou/config.ini
使用的大模型
sed -i '29s#.*#local_llm_path = "/root/models/internlm2-chat-7b"#' /root/huixiangdou/config.ini
修改后的配置文件
2. 创建知识库
下载 Huixiangdou 语料
cd /root/huixiangdou && mkdir repodir
git clone https://github.com/internlm/huixiangdou --depth=1 repodir/huixiangdou
- 接受问题列表,希望茴香豆助手回答的示例问题
- 存储在
huixiangdou/resource/good_questions.json
中
- 存储在
- 拒绝问题列表,希望茴香豆助手拒答的示例问题
- 存储在
huixiangdou/resource/bad_questions.json
中
- 存储在
3. 创建向量数据库
cd /root/huixiangdou
echo '[
"huixiangdou 是什么?",
"你好,介绍下自己"
]' > ./test_queries.json
# 创建向量数据库存储目录 cd /root/huixiangdou && mkdir workdir # 分别向量化知识语料、接受问题和拒绝问题中后保存到 workdir python3 -m huixiangdou.service.feature_store --sample ./test_queries.json
4. 运行茴香豆
填入问题
sed -i '74s/.*/ queries = ["huixiangdou 是什么?", "茴香豆怎么部署到微信群", "今天天气怎么样?"]/' /root/huixiangdou/huixiangdou/main.py
运行茴香豆
cd /root/huixiangdou/
python3 -m huixiangdou.main --standalone
四. 在茴香豆 Web 版中创建自己领域的知识问答助手
1. 创建 嵌入式软件开发的 问答助手
2. 上传知识库文档
3. 问答测试
五. 搭建web页面的茴香豆
1. 首先,安装 Gradio 依赖组件:
pip install gradio==4.25.0 redis==5.0.3 flask==3.0.2 lark_oapi==1.2.4
2. 运行脚本,启动茴香豆对话 Demo 服务:
cd /root/huixiangdou python3 -m tests.test_query_gradio
此时服务器端接口已开启。如果在本地服务器使用,直接在浏览器中输入 127.0.0.1:7860 ,即可进入茴香豆对话 Demo 界面。
3. 设置端口映射,转发端口到本地浏览器
在本地powershell 中执行:
ssh -CNg -L 7860:127.0.0.1:7860 root@ssh.intern-ai.org.cn -p 38995