书生浦语第三课-“茴香豆“:零代码搭建你的 RAG 智能助理 作业

本文详细描述了在开发环境中设置Huixiangdou聊天助手的步骤,包括创建模型文件夹、下载和链接预训练模型、安装Python依赖,以及配置文件和语料库的管理。最后介绍了如何通过Gradio实现云端模式的webDemo。
摘要由CSDN通过智能技术生成

1 前期准备,包含新建环境,下载模型,安装依赖,下载源码
studio-conda -o internlm-base -t InternLM2_Huixiangdou
conda activate InternLM2_Huixiangdou

# 创建模型文件夹
cd /root && mkdir models
# 复制BCE模型
#ln:这是创建链接的命令。
#-s:这是指定创建符号链接而非硬链接的选项。符号链接相较于硬链接而言,对源文件的依赖更强;如果源文件被删除,符号链接将不指向任何东西
#其基本用法是将一个文件或目录链接到另一个位置,而无需复制实际数据。
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
安装 python 依赖

cd /root
git clone https://github.com/internlm/huixiangdou && cd huixiangdou
git checkout 447c6f7e68a1657fce1c4f7c740ea1700bde0440

pip install protobuf4.25.3 accelerate0.28.0 aiohttp3.9.3 auto-gptq0.7.1 bcembedding0.1.3 beautifulsoup44.8.2 einops0.7.0 faiss-gpu1.7.2 langchain0.1.14 loguru0.7.2 lxml_html_clean0.1.0 openai1.16.1 openpyxl3.1.2 pandas2.2.1 pydantic2.6.4 pymupdf1.24.1 python-docx1.1.0 pytoml0.1.21 readability-lxml0.8.1 redis5.0.3 requests2.31.0 scikit-learn1.4.1.post1 sentence_transformers2.2.2 textract1.6.5 tiktoken0.6.0 transformers4.39.3 transformers_stream_generator0.0.5 unstructured0.11.2

#修改配置文件
#其中sed:调用流编辑器程序。
#-i:这个选项告诉 sed 直接修改文件,而不是输出修改后的结果到标准输出(屏幕)
# 6s:代表选择文件中的第6行进行替换操作。
# #.*#:是替换命令的模式和分隔符,通常我们看到的是 s/old/new/ 形式,这里使用 # 作为分隔符是为了避免与路径中可能出现的 / 符号冲突。. 表示匹配任意字符,* 表示匹配任意数量的前面的字符,所以 .* 匹配整行内容。
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
#clone语料
cd /root/huixiangdou && mkdir repodir
制定clone的本地路径
git clone https://github.com/internlm/huixiangdou --depth=1 repodir/huixiangdou

在这里插入图片描述
创建向量数据库存储目录
cd /root/huixiangdou && mkdir workdir
分别向量化知识语料、接受问题和拒绝问题中后保存到 workdir
python3 -m huixiangdou.service.feature_store --sample ./test_queries.json
程序执行
在这里插入图片描述
然后可以看到test_queries.json里的问题分别按照是否回答分别储存到了workdir文件夹里的两个文件里,如下图所示
在这里插入图片描述
修改问题重新测试

填入问题

sed -i ‘74s/.*/ queries = [“huixiangdou 是什么?”, “茴香豆怎么部署到微信群”, “今天天气怎么样?”]/’ /root/huixiangdou/huixiangdou/main.py

运行茴香豆

cd /root/huixiangdou/
python3 -m huixiangdou.main --standalone

在这里插入图片描述
执行效果
在这里插入图片描述
在这里插入图片描述
可以看出,对于bad_question,做了拒绝回答
3 调用远程的搜索
在这里插入图片描述
启用云端模式
在这里插入图片描述
4 利用 Gradio 搭建网页 Demo
pip install gradio4.25.0 redis5.0.3 flask3.0.2 lark_oapi1.2.4
python3 -m tests.test_query_gradio
执行成功
在这里插入图片描述

  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值