保姆级指导0基础如何快速搭建“对话机器人”类ChatGPT

参考了CDSN上的文章,但发现不work, 不是这里有问题,就是那里有问题,查阅了大量的资料,做了无数次试验,终于整理出来了一个完整的教程,保可用,保真~~~~~如果各位遇到什么问题,也可以私信我

我把每个环节遇到的坑,都填平了,如果按我的操作,免去了大家查各种问题的富贵时间。祝你也能一次性来到人机对话的界面:

不多废话了,直接说,如何使用腾讯云上的机器,自建一个简单的类似ChatGPT、Kimi的会话机器人(没有他们的强大)

一、选择云服务器

1.申请云服务器

建议使用按量付费,按小时算还是非常便宜的。

硬件配置:

系统:ubuntu,20.04

系统盘:150G

GPU:12核44G,1 * NVIDIA A10(32G),硬盘150G,1*NVIDIA A10(24G)

软件版本:

由于A10的驱动,cuda均未安装,为了省事,直接申请了另一台,初始化完成后,打成镜像,然后再为A10重装就可以了,这样最省事。当然也可以手动安装。

使用的V100的镜像,初始化条件选择如下:

配置安全组,出全放开,入至少放开22和8760。

后付费要注意:要满足余额不低于要冻结金额。

2.GPU确认

登录服务器后,在安装V100的镜像时,可以看到显卡驱动在安装。(早了晚了可能都会错过这个页面)

等待显卡驱动安装完成后(会有一段时间),做下显卡确认

nvidia-smi

用于确认cuda版本。

安装cuda toolkit

sudo apt install nvidia-cuda-toolkit #时间有点久

如上面所述,然后制作为镜像,再导入到我们的A10当中。(重装系统)

二、安装并配置Python环境

1.安装python3.10

sudo apt-get update

sudo apt-get upgrade #需等待

sudo apt install -y software-properties-common

sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt -y install python3.10

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1

#验证安装成功,均返回Python 3.10.13

python3.10 --version

python3 --version

#升级pip

wget https://bootstrap.pypa.io/get-pip.py

python3.10 get-pip.py

2.安装Git和Git LFS软件

sudo apt install -y git git-lfs python3.10-distutils

3.安装模型所需要的Python包

在此之前,先把pip工具设置好。

看两处pip的版本是否一致:

第一种方式:pip show pip

第二种方式:python3.10 -m pip --version

若不一样,则:

然后修改两个文件:sudo vim /usr/bin/pip 以及sudo vim /usr/bin/pip3,将每个文件里面的两个版本号位置,修改为新的,最后再用pip show pip验证下。

#需等待,可能要不停地试,直到成功

pip install git+https://github.com/huggingface/transformers

#1.如果上面pip工具没设置好,可能会有如下报错:

回到上面处理吧,也可以参考:https://zhuanlan.zhihu.com/p/664770225

#2.如果报128,则看 https://zhuanlan.zhihu.com/p/648289974

下载到本地再上传 或者等网络环境好的时候下载。

继续执行:

pip install sentencepiece==0.1.97 -i https://pypi.tuna.tsinghua.edu.cn/simple

#需等待,非常漫长

pip install peft==0.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

4.验证:在PyTorch环境下验证GPU是否正常工作

python3.10

import torch

#返回值为true,表示正常工作

torch.cuda.is_available()

quit()

有可能会报cuda与python版本不匹配的问题:需要选择正确版本的CUDA和PyTorch安装(windows)

参考:https://zhuanlan.zhihu.com/p/672526561

三、下载与配置模型

1.下载Chinese-LLaMA-Alpaca模型。

git clone https://github.com/ymcui/Chinese-LLaMA-Alpaca.git

本地已下载:Chinese-LLaMA-Alpaca-main.zip

修改代码:Chinese-LLaMA-Alpaca/scripts/merge_llama_with_chinese_lora.py文件,dType类型 由float16全部换为bfloat16

全部修改为:

torch_dtype=torch.bfloat16

否则,在最终运行时,会报错:RuntimeError: probability tensor contains either inf, nan or element < 0

2.下载chinese-alpaca-lora-13b模型

git-lfs clone https://huggingface.co/ziqingyang/chinese-alpaca-lora-13b

大概率会失败,解决办法是把该文件夹下载到本地,然后再上传到服务上

//如果需要文件进行下载,可以联系我:lucky_shisheng

scp -r chinese-alpaca-lora-13b ubuntu@106.52.198.183:~

修改代码:chinese-alpaca-lora-13b中的adapter_config.json

去掉两行:

"enable_lora": null,

"merge_weights": false,

否则,在最终运行时,会报错:TypeError: init() got an unexpected keyword argument 'enable_lora'

3.下载 llama-13b-hf模型

git-lfs clone https://huggingface.co/decapoda-research/llama-13b-hf

大概也会失败,解决办法是用wget直接下载,或者是像上面一样,下载到本地后,再上传上去。

//如果需要文件进行下载,可以联系我:lucky_shisheng

scp -r llama-13b-hf ubuntu@106.52.198.183:~

4.合并代码

合并代码,生成新模型

cd Chinese-LLaMA-Alpaca/

python3.10 scripts/merge_llama_with_chinese_lora.py --base_model ~/llama-13b-hf/ --lora_model ~/chinese-alpaca-lora-13b/ --output_type huggingface --output_dir ./llama_with_lora_hf

在这里,指定了base model和lora_model,输出路径为./llama_with_lora_hf

如果出现被kill,则是资源内存不足,需要换台机器来做。

合并完成后,可以确认一下转换完成后的文件内容,大概25G

ls -lh llama_with_lora_hf

四、部署WebUI

1.下载WebUI

#需要多试几次

cd~

git clone https://github.com/oobabooga/text-generation-webui.git

备份:text-generation-webui-main.zip

2.安装代码及依赖库

cd text-generation-webui/

#非常耗时

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

3.模型软链接生成到models下面

ln -s /home/ubuntu/Chinese-LLaMA-Alpaca/llama_with_lora_hf/ models/llama_with_lora_hf

五、最终对话界面生成

验证结果

python3.10 server.py --model llama_with_lora_hf --listen --chat --load-in-8bit

人机界面:

控制台:

若提示GPU内存不足,可以换个命令试一下:

python3.10 server.py --model llama_with_lora_hf --listen --chat --load-in-4bit

相关推荐
青花瓷1 小时前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
东北洗浴王子讲AI1 小时前
GPT-5.4辅助算法设计与优化:从理论到实践的系统方法
人工智能·gpt·算法·chatgpt
Dream of maid2 小时前
Linux(下)
linux·运维·服务器
齐鲁大虾2 小时前
统信系统UOS常用命令集
linux·运维·服务器
专吃海绵宝宝菠萝屋的派大星5 小时前
使用Dify对接自己开发的mcp
java·服务器·前端
大数据新鸟5 小时前
操作系统之虚拟内存
java·服务器·网络
楠奕6 小时前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT7 小时前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!7 小时前
Linux常用指令(2)
linux·运维·服务器
做咩啊~7 小时前
6.增加一个flat网段
服务器·openstack