Ubuntu 22.04上text-generation-webui service文件编写思路

发布于:2024-04-19 ⋅ 阅读:(25) ⋅ 点赞:(0)

自从拥抱了ai,coding工作简单不少。

由于不会翻墙,主要考文心一言活了。最近用的时候可能会有服务有点忙的情况,于是就想把家中电脑的text-generation-webui给跑起来,在办公室使用。经过一番折腾(百度,bing了中外资料,汲取了众人的知识,thanks。)终于建立自己的服务

准备工作:

服务器 ,能跑text-generation-webui的(黄教主法力高深,美利坚封锁可恶。勉强弄了个4060ti 16g,在pve中跑了起来。)

下载textgen-webui,下载mini3conda,建立虚拟环境下载模型。先手动跑起来看有没有问题。我这里用了自己的一个域名访问,主要是没钱买ipv4的ip,就用ddns-go做了域名动态解析。所以使用了

--listen --listen-host --listen-port参数

还使用txt文件做了简单的账号密码验证

具体的讲,手动启用服务的方法如下

conda activate textgen 

python server.py --listen --listen-host [自己的域名] --listen-port [填写服务端口号] --gradio-auth-path [账户密码文件.text]

替换时注意不带左右两边的[]

在创建service服务文件的时候遇到问题

后面我总结了下,主要有2点:

1、如何激活python虚拟环境

2、权限问题。启用了selinux,程序的执行文件夹现在 /usr/bin/bin/sbin 等系统二进制文件目录。(可能根据配置不同),而我偷懒直接放在了home用户文件夹下

来回试了几天,是的,断断续续的有一周吧(有空试一把那种。没有狗哥,只能百度和bing,有可能没有找到正确的方法,只能闭门造车。),试了几种方法。最后成功启动服务。这里采用了迂回作战的方式。以下是编写服务需要的步骤

1、编制一个bash文件,start_wru.sh

source /home/whoareu/miniconda3/bin/activate textgen
cd /home/whoareu/text-generation-webui
python server.py --listen --listen-host [自己的域名] --listen-port [填写服务端口号] --gradio-auth-path [账户密码文件.text]

注意:上面代码第一行是用来激活环境的,/home/whoareu/miniconda3是miniconda3的安装路径,

第二行 是切换到text-generation-webui的路径

第三行上面讲过,是用来启动服务的

2、编写一个textgen.service文件,执行start_wru.sh文件

Description=Text Generation Service
After=network.target

[Service]
Type=idle
Restart=always
User=whoareu
ExecStart= /bin/bash -c '/home/whoareu/text-generation-webui/start_wru.sh'

[Install]
WantedBy=multi-user.target

3.就是设置服务了(start,enable),不再啰嗦

最后再啰嗦一句:能用免费的文心一言等服务就用,比自己架的好多了,而且省电费,时间。