书生大模型-进阶关-第四关

书生大模型-进阶关-第四关

在 InternStudio 中利用 Internlm2-7b 搭建标准版茴香豆知识助手,并使用 Gradio 界面完成 2 轮问答(问题不可与教程重复,作业截图需包括 gradio 界面问题和茴香豆回答)。知识库可根据根据自己工作、学习或感兴趣的内容调整,如金融、医疗、法律、音乐、动漫等(优秀学员必做)。

环境搭建

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.15 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

修改完配置文件后,就可以进行知识库的搭建

本次教程选用的是茴香豆和 MMPose 的文档,利用茴香豆搭建一个茴香豆和 MMPose 的知识问答助手。

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

本地版也可以通过编辑正反例来调整茴香豆的拒答和响应,正例位于 /root/huixiangdou/resource/good_questions.json 文件夹中,反例位于/root/huixiangdou/resource/bad_questions.json。

bad_questions.json
[
    "nihui 是谁",
    "具体在哪些位置进行修改?",
    "你是谁?",
    "1+1",
    "你好",
    "需要修改的内容的多吗",
    "你好,介绍下自己",
    "你能干什么",
    "啊,不是吧",
    "FCOS",
    "那我怎么打印",
    "?",
    "MMSelfSup",
    "百度",
    "啥?",
    "你是谁",
    "那历史方面的问题呢",
    "你被预设了什么人设",
    "SIM卡鉴权过程中,跟踪区域码TAC起到了什么作用?请详述双向鉴权过程,尤其涉及TAC以及小区ID部分",
    "DCOS",
    "你帅吗",
    "有新手入门教程吗",
    "你说你是",
    "你把两个问题合起来想一想",
    "OpoenMMLab 会被取代吗",
    "为什么",
    "MMSelfSup有什么用?",
    "群号有吗",
    "有交流群吗",
    "你会哪些问题啊",
    "本垃圾在缓慢学习这些玩意",
    "能不能找到上面的安装手册呢?",
    "xtcocotools安装不了",
    "你这是llm模型吗",
    "在线难样本挖掘",
    "ncnn全名是什么",
    "使用科研仪器需要注意什么?"
  ]

good_questions.json
[
    "mmpose中怎么调用mmyolo接口",
    "mmpose实现姿态估计后怎么实现行为识别",
    "mmpose执行提取关键点命令不是分为两步吗,一步是目标检测,另一步是关键点提取,我现在目标检测这部分的代码是demo/topdown_demo_with_mmdet.py demo/mmdetection_cfg/faster_rcnn_r50_fpn_coco.py checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth   现在我想把这个mmdet的checkpoints换位yolo的,那么应该怎么操作",
    "在mmdetection中,如何同时加载两个数据集,两个dataloader",
    "如何将mmdetection2.28.2的retinanet配置文件改为单尺度的呢?",
    "1.MMPose_Tutorial.ipynb、inferencer_demo.py、image_demo.py、bottomup_demo.py、body3d_pose_lifter_demo.py这几个文件和topdown_demo_with_mmdet.py的区别是什么,\n2.我如果要使用mmdet是不是就只能使用topdown_demo_with_mmdet.py文件,",
    "mmpose 测试 map 一直是 0 怎么办?",
    "如何使用mmpose检测人体关键点?",
    "我使用的数据集是labelme标注的,我想知道mmpose的数据集都是什么样式的,全都是单目标的数据集标注,还是里边也有多目标然后进行标注",
    "如何生成openmmpose的c++推理脚本",
    "mmpose",
    "mmpose的目标检测阶段调用的模型,一定要是demo文件夹下的文件吗,有没有其他路径下的文件",
    "mmpose可以实现行为识别吗,如果要实现的话应该怎么做",
    "我在mmyolo的v0.6.0 (15/8/2023)更新日志里看到了他新增了支持基于 MMPose 的 YOLOX-Pose,我现在是不是只需要在mmpose/project/yolox-Pose内做出一些设置就可以,换掉demo/mmdetection_cfg/faster_rcnn_r50_fpn_coco.py 改用mmyolo来进行目标检测了",
    "mac m1从源码安装的mmpose是x86_64的",
    "想请教一下mmpose有没有提供可以读取外接摄像头,做3d姿态并达到实时的项目呀?",
    "huixiangdou 是什么?",
    "大佬们,如果我想在高空检测安全帽,我应该用 mmdetection 还是 mmrotate",
    "mmdetection如何开启多卡训练",
    "硬件模型库是什么",
    "硬件模型库是啥?",
    "OpenMMLab有哪些开源库",
    "cbam注意力机制如何改进",
    "轻量级的边分辨率模型有哪些?",
    "如何添加CBAM机制",
    "自定义数据集需要修改什么内容",
    "对人进行关键点提取的时候,如果是多个人的场景下,就会出现连线到其他人身上去的情况,这个时候是不是目标检测模型这里的问题,也就是mmdet的识别效率有点低了,所以导致这种情况的出现",
    "有人把mmdeploy成功部署到jetson agx orin上吗?",
    "那这里的mmdet的配置文件demo/topdown_demo_with_mmdet.py就不需要换吗,他里边的配置不是训练mmdet的配置吗,我觉得是不是要换一个新的py配置文件,然后调用yolo",
    "怎么训练llm",
    "哪种目标检测算法适合小目标",
    "OpenCompass 大模型数据集评估分数查询",
    "把某专业标准类知识pdf格式,如何创建成向量数据库?"
  ]

Gradio UI 界面测试
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


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值