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

news2024/9/20 10:29:33

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2079537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国货之光|暴雨信创服务器亮相北京科博会

8月13-16日&#xff0c;由北京市人民政府主办的第二十六届中国北京国际科技产业博览会&#xff08;简称北京科博会&#xff09;在北京国际会议中心成功举办。作为汇聚全球科技创新成果与智慧交流的高端盛会&#xff0c;北京科博会是推动创新发展成果展示的重要舞台。 青海科技展…

html2canvas ios慎用和createImageBitmap ios慎用

好好好&#xff0c;排查几天&#xff0c;原来是你 小本本记下了[翻白眼][翻白眼][翻白眼] ​html2canvas ios慎用&#xff0c;用了记得设置字体 ​2. createImageBitmap ios慎用&#xff0c;14及以下不兼容&#xff0c;建议更换api

Vue3基础2

1.Hooks 就是进行数据的封装&#xff0c;同一种类型的 数据 方法 计算属性 &#xff0c;放在一起 命名规范 use功能名称.ts 或.js 创建一个文件夹 hooks 1.useDog.ts import { reactive,onMounted } from "vue"; import axios from "axios";export def…

Golang | Leetcode Golang题解之第375题猜数字大小II

题目&#xff1a; 题解&#xff1a; func getMoneyAmount(n int) int {f : make([][]int, n1)for i : range f {f[i] make([]int, n1)}for i : n - 1; i > 1; i-- {for j : i 1; j < n; j {f[i][j] j f[i][j-1]for k : i; k < j; k {cost : k max(f[i][k-1], f[…

Linux命令:创建新的目录的工具mkdir命令详解

目录 一、概述 二、语法 1、基本语法 2、常用选项 3、获取帮助 三、示例 1. 创建单个目录 2. 创建多个目录 3. 使用 -p 选项创建多级目录 4. 设置目录权限 5. 显示创建目录的信息 &#xff08;1&#xff09;一般目录创建 &#xff08;2&#xff09;复杂目录创建 …

大数据技术之Flume 企业开发案例——负载均衡和故障转移(6)

目录 负载均衡和故障转移 1&#xff09;案例需求 2&#xff09;需求分析 3&#xff09;实现步骤 负载均衡和故障转移 1&#xff09;案例需求 使用 Flume1 监控一个端口&#xff0c;其 sink 组中的 sink 分别对接 Flume2 和 Flume3&#xff0c;采用 FailoverSinkProcessor…

裁员后的逆袭:程序员变外卖小哥,AI绘画成就全新职业生涯

一、初代程序员的困境 曾几何时&#xff0c;我是一名初代程序员&#xff0c;投身于互联网行业&#xff0c;为我国信息化建设贡献自己的力量。然而&#xff0c;随着年龄的增长和行业竞争的加剧&#xff0c;我不可避免地遭遇了裁员。面对突如其来的变故&#xff0c;我不得不重新审…

Nginx反向代理B

http协议反向代理 反向代理配置参数 proxy_pass; #用来设置将客户端请求转发给的后端服务器的主机 #可以是主机名(将转发至后端服务做为主机头首部)、IP地址&#xff1a;端口的方式 #也可以代理到预先设置的主机群组&#xff0c;需要模块ngx_http_upstream_module支持 #示例:…

机械学习—零基础学习日志(如何理解概率论9)

大数定律与中心定律 来看一道习题&#xff1a; 这个题目看看&#xff0c;应该是什么呢~下一章来看看解析~ 《概率论与数理统计期末不挂科|考研零基础入门4小时完整版&#xff08;王志超&#xff09;》学习笔记 王志超老师 &#xff08;UP主&#xff09;

构造,CF 1290B - Irreducible Anagrams

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1290B - Irreducible Anagrams 二、解题报告 1、思路分析 首先根据样例特…

系统编程-消息队列

消息队列 目录 消息队列 引入 一、消息队列的特点 二、使用指令查看消息队列 三、使用消息队列进行通信的步骤 1、获取键值 2、创建或获取消息队列 id 3、使用消息队列进行数据的传输 4、msgrcv -- 从消息队列中读取数据 5、消息队列的多种操作函数 引入 -- 进程间…

一、undo log、Buffer Pool、WAL、redo log

目录 1、undo log2、Buffer Pool3、WAL4、redo log5、总结6、问题 1、undo log undo log日志是一种用于撤销回退的逻辑日志&#xff0c;在事务未提交前会记录相反的操作到undo log&#xff0c;当事务回滚&#xff0c;使用undo log 进行回滚&#xff0c;保证了事务的原子性。MV…

Golang 深入理解 GC

垃圾是指程序向堆栈申请的内存空间&#xff0c;随着程序的运行已经不再使用这些内存空间&#xff0c;这时如果不释放他们就会造成垃圾也就是内存泄漏。 垃圾回收 (Garbage Collection&#xff0c;GC) 是编程语言中提供的自动的内存管理机制&#xff0c;自动释放不需要的内存对象…

【Qt】Qt系统 | Qt事件 | 定时器

文章目录 定时器QTimerEventQTimer获取系统日期及时间 定时器 Qt 中在进行窗口程序的处理过程中&#xff0c;经常要周期性的执行某些动作&#xff0c;或者制作一些动画效果&#xff0c;使用定时器可以实现这些需求。 定时器&#xff0c;会在间隔一定时间后&#xff0c;执行某一…

八岁编程小天才:45分钟挑战AI极限,聊天机器人一鸣惊人

一位8岁的小女孩&#xff0c;用短短45分钟就搭建出了一个聊天机器人&#xff0c;吸引了180万人的在线围观。 Cursor&#xff0c;这款被Cloudflare副总裁家8岁女儿青睐的AI代码编辑器&#xff0c;成为全网热议的焦点。 甚至许多网友出来发话力挺。 AI编程&#xff0c;从复杂到简…

swagger,Knife4j和Yapi

目录 swagger swagger的作用 swagger的使用 一.导入依赖 二.创建swagger配置类&#xff0c;交给SpringIoC容器管理 三.使用swagger依赖的注解来给接口层(controller)的各种方法进行注释 Api ApiOperation ApiImplicitParam ApiModel ApiModelProperty 四&#xff1a;…

【layUI】点击导出按钮,导出excel文件

要实现的功能如下&#xff1a;根据执行状态判断是否可以导出。如果可以导出&#xff0c;点击导出&#xff0c;在浏览器里下载对应的文件。 代码实现 html里&#xff1a; <table class"layui-hide" id"studentTable" lay-filter"studentTable&…

vue2表单校验:添加自定义el-form表单校验规则

前言 在vue2表单校验&#xff1a;el-form表单绑定数组并使用rules进行校验_vue2 rules校验-CSDN博客中&#xff0c;使用form原生的rules对表单中每个控件的必填、格式等做了校验。但是保存时&#xff0c;除了验证每一个控件的输入合乎要求外&#xff0c;还需要验证控件之间的数…

八、DMA直接存储器存取

1、DMA简介 DMA是一个数据转运小助手&#xff0c;用来协助CPU完成转运的工作 2、存储器映像 计算机系统的5大组成部分&#xff1a;运算器、控制器、存储器、输入设备、输出设备 运算器和控制器&#xff0c;合称CPU 计算机的核心关键部分是CPU和存储器 存储器涉及&#xff…

带你深入浅出新面经:十五、十大排序之堆排序

此为面经第十五谈&#xff01;关注我&#xff0c;每日带你深入浅出一个新面经。 我们要了解面经要如何“说”&#xff01; 很重要&#xff01;很重要&#xff01;很重要&#xff01; 我们通常采取总-分-总方式来阐述&#xff01;&#xff08;有些知识点&#xff0c;你可以去…