当前位置: 首页 > news >正文

书生.浦江大模型实战训练营——(十三)茴香豆:企业级知识库问答工具

最近在学习书生.浦江大模型实战训练营,所有课程都免费,以关卡的形式学习,也比较有意思,提供免费的算力实战,真的很不错(无广)!欢迎大家一起学习,打开LLM探索大门:邀请连接,PS,邀请有算力哈哈

在这里插入图片描述

文章目录

  • 一、环境配置
  • 二、修改配置文件
  • 三、知识库创建
  • 四、茴香豆测试

一、环境配置

选择50%的A100 cuda选择11.7,开发机名称输入huixiangdou,点击立即创建并进入开发机。创建虚拟环境,安装必要的依赖包:

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

二、修改配置文件

茴香豆的所有功能开启和模型切换都可以通过 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

三、知识库创建

修改完配置文件后,就可以进行知识库的搭建,本次教程选用的是茴香豆和 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

四、茴香豆测试

首先命令行运行:

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

在这里插入图片描述

Gradio UI 界面测试
在本地机器powershell命令行中运行如下命令:

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

在本地浏览器中输入 127.0.0.1:7860 打开茴香豆助手测试页面:
下面问几个医疗问题
问题:

怎么能治疗感冒?
献血会不会影响健康?

回答:

感冒是一种常见的疾病,通常由病毒引起。以下是一些治疗感冒的方法:

休息:感冒时,身体需要更多的时间来恢复。因此,保持充足的休息非常重要。
饮食:饮食中应包含足够的营养,以帮助身体抵抗病毒。建议多吃水果、蔬菜、全谷类食品和蛋白质。
饮水:保持身体水分充足,有助于缓解感冒症状。
药物:可以服用非处方药物,如对乙酰氨基酚、布洛芬等,以缓解疼痛和退烧。
盐水漱口:用温盐水漱口可以缓解喉咙痛和咳嗽。
加湿:在室内使用加湿器或放置水盆,可以增加空气湿度,缓解鼻塞和喉咙干燥。
避免接触:避免与他人接触,以防止病毒传播。
需要注意的是,如果感冒症状严重或持续时间较长,应咨询医生。
献血是一种安全、健康的行为,对大多数人的健康没有负面影响。以下是一些关于献血的常见问题和答案:

献血的频率:
在大多数国家,献血者可以每8-12周献血一次,具体时间取决于当地的规定和献血者的个人情况。
如果献血者有健康问题,可能需要更长的间隔时间。
献血对铁水平的影响:
献血后,身体会通过肝脏和脾脏释放储存的铁,以补充因失血而减少的铁。
在短期内,这可能导致铁水平降低,但随时间推移,铁水平会恢复。
献血对营养的影响:
献血后,身体会通过增加食欲来补偿所失的铁和其他营养物质。
因此,献血者需要确保饮食均衡,摄入足够的铁、蛋白质和水分。
献血对心血管健康的影响:
研究表明,适量献血对心血管健康有益,因为它可以降低血液中的胆固醇和甘油三酯水平。
然而,对于有心血管疾病或高风险人群,可能需要更谨慎地考虑献血。
献血对女性生理周期的影响:
对于大多数女性来说,献血不会影响月经周期。
然而,如果献血者正处于怀孕、哺乳或准备怀孕,可能需要避免献血。
献血对血红蛋白水平的影响:
献血后,血红蛋白水平会暂时降低,但会迅速恢复。
血红蛋白是红细胞中携带氧气的蛋白质,其水平对健康至关重要。
献血对免疫力的影响:
献血后,身体会通过增加白细胞和血小板的产生来补偿所失的细胞。
这可能暂时影响免疫力,但不会对长期健康造成影响。
献血的限制:
有某些健康状况的人可能被禁止献血,如贫血、高血压、感染等。
如果您有任何健康问题,请在献血前咨询医生。
总的来说,献血是安全、健康的做法,对大多数人没有负面影响。然而,对于某些特定情况,如上述提及的,可能需要更谨慎地考虑。在献血前,请咨询医生或当地血库以获取更详细的信息。

在这里插入图片描述
在这里插入图片描述

相关文章:

  • Android高级UI --- canvas
  • Android 12中读写SD卡,提示Operation not permitted问题处理
  • AI嵌入式人工智能开发 --- 【1】初始RKNPU
  • word、pdf、excel及zip加密(含示例效果及工具类)
  • 5 大场景上手通义灵码企业知识库 RAG
  • dma 和 mmap 的区别和联系
  • 【系统架构设计】测试评审方法
  • OSPF路由协议详解
  • 2025秋招大语言模型落地实践面试题
  • 更改了ip地址怎么改回来
  • Git —— 1、Windows下安装配置git
  • 在 Navicat BI 中创建自定义字段:自定义排序顺序
  • 制造业与互联网融合发展试点DID工具变量(2000-2023年)
  • RabbitMQ如何保证消息不丢失(面试版)
  • C++ 异步编程(std::async、std::future、std::promise)
  • C# 匿名函数 delegate(参数...){ }
  • 编程挫折byebye:实用策略助力技术升级!
  • Vue中使用el-table自定义序号翻页后又从1开始没有连续
  • C#面:ActionResult 和 ViewResult有什么不同?
  • 速盾:前端cdn加速是什么意思?
  • 国家能源局通报上月投诉情况:赤峰有群众反映电费异常增高,已退费
  • 中老铁路跨境国际旅客突破50万人次
  • 零食连锁鸣鸣很忙递表港交所:去年营收393亿元,门店超1.4万家,净利润率2.1%
  • 暗蓝评《性别打结》丨拆解性别之结需要几步?
  • 文天祥与“不直人间一唾轻”的元将唆都
  • 葡萄牙总理:未来几小时内将全面恢复供电