进阶岛 renwu5: 茴香豆:企业级知识问答工具实践闯关任务
renwu:
https://kkgithub.com/InternLM/Tutorial/blob/camp3/docs/L2/Huixiangdou/task.md
在 InternStudio 中利用 Internlm2-7b 搭建标准版茴香豆知识助手,并使用 Gradio 界面完成 2 轮问答(问题不可与教程重复,作业截图需包括 gradio 界面问题和茴香豆回答)。知识库可根据根据自己工作、学习或感兴趣的内容调整,如金融、医疗、法律、音乐、动漫等(优秀学员必做)。
如果问答效果不理想,尝试调整正反例。
文档:
https://kkgithub.com/InternLM/Tutorial/blob/camp3/docs/L2/Huixiangdou/readme.md
视频:
https://www.bilibili.com/video/BV1C5W2epEYP/?spm_id_from=pageDriver&vd_source=4ffecd6d839338c9390829e56a43ca8d
任务
茴香豆本地标准版搭建
首先安装茴香豆所需依赖:
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
利用茴香豆搭建一个茴香豆和 MMPose 的知识问答助手。
repodir 文件夹,用来储存知识库原始文档。
workdir 用来存放原始文档特征提取到的向量知识库。
正例位于 /root/huixiangdou/resource/good_questions.json 文件夹中,反例位于/root/huixiangdou/resource/bad_questions.json。
每次更新原始知识文档和正反例,都需要重新运行
python3 -m huixiangdou.service.feature_store
命令进行向量知识库的重新创建和应答阈值的更新。
知识库问答助手进行测试:
通过命令行的方式可以看到对话的结果以及中间的过程
cd /root/huixiangdou
python3 -m huixiangdou.main --standalone
Gradio UI 界面测试
端口映射:
ssh -CNg -L 7860:127.0.0.1:7860 root@ssh.intern-ai.org.cn -p 48626
启动茴香豆 Web UI
cd /root/huixiangdou
python3 -m huixiangdou.gradio
笔记
茴香豆 是由书生·浦语团队开发的一款开源、专门针对国内企业级使用场景设计并优化的知识问答工具
上传或删除文件后将自动进行特征提取,生成的向量知识库被用于后续 RAG 检索和相似性比对。
通过手动添加正例(希望模型回答的问题)和反例(希望模型拒答的问题)来调优知识助手的应答效果。
对于正例相似问题,茴香豆会在知识库中尽量搜寻相关解答,在没有相关知识的情况下,会推测答案,并在回答中提示我们该回答并不准确。这保证了回答的可追溯性。
对于反例问题,茴香豆拒绝作答,这保证了在对话,尤其是企业级群聊中的闲聊、非问题和无关问题触发回答带来的回答混乱和资源浪费。
茴香豆特点:
三阶段 Pipeline (前处理、拒答、响应),提高相应准确率和安全性
打通微信和飞书群聊天,适合国内知识问答场景
支持各种硬件配置安装,安装部署限制条件少
适配性强,兼容多个 LLM 和 API
傻瓜操作,安装和配置方便
免费商用
最新的茴香豆支持了多模态的图文检索,启用该功能后,茴香豆可以解析上传的图片内容,并根据图片内容和文字提示词进行检索回答。
图文检索功能需要至少 10G 显存支持本地向量和重排模型运行
cpu-only or 2G-80G gpu
web端: https://openxlab.org.cn/apps/detail/tpoisonooo/huixiangdou-web
MMPose
是一个基于 PyTorch 的姿态估计开源工具箱,由 OpenMMLab 项目提供。它支持多种人体姿态分析相关任务,包括但不限于 2D 多人姿态估计、2D 手部姿态估计、2D 人脸关键点检测、全身 133 关键点姿态估计、动物关键点检测等。MMPose 旨在提供高精度和快速度的算法,同时支持多样的数据集,如 COCO、MPII 等,并且具有模块化设计,便于用户构建自定义的人体姿态分析模型。
MMPose 的主要特点包括:
- 基于模型训练引擎 MMEngine 的架构设计,简化了模型训练流程,统一了接口。
- 新增姿态编解码器模块,整合了姿态的编码和解码过程。
- 统一了 top-down 和 bottom-up 方法的数据接口。
- 新增了多个轻量化姿态估计算法,如 SimCC 和 Debias IPR。
- 提供了全流程可视化工具,可以展示关键点、骨骼、热力图等信息。
- 用户文档更加友好,帮助新老用户顺利上手 MMPose 1.0。
MMPose 1.0 版本带来了许多新特性和优化,使其成为一个设计更优雅、功能更强大的姿态估计研发框架。它支持通过 Python API 进行模型推理,也提供了 Jupyter Notebook 教程和示例,方便用户快速理解和使用 MMPose。
如果你对 MMPose 感兴趣,可以访问其 GitHub 仓库 或官方文档 来获取更多信息和开始使用。
感觉
不太好用。