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

server/2024/10/10 23:56:04/

自从拥抱了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),不再啰嗦

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


http://www.ppmy.cn/server/13562.html

相关文章

达梦(DM)数据库管理表

达梦DM数据库管理表 管理表管理表的准则表的存储空间上限表的存储位置 创建表创建普通表指定表的聚集索引查询建表更改表删除表清空表查看表定义查看表空间使用 表是数据库中数据存储的基本单元,是对用户数据进行读和操纵的逻辑实体,表由列和行组成&…

【leetcode面试经典150题】63. 删除链表的倒数第 N 个结点(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主,题解使用C语言。(若有使用其他语言的同学也可了解题解思路,本质上语法内容一致&…

Amazon云计算AWS之[2]弹性计算云EC2

文章目录 说明EC2基本架构Amazon机器映象(AMI)实例(Instance)弹性块存储(EBS) EC2关键技术地理区域和可用区域EC2通信机制弹性负载均衡监控服务自动缩放服务管理控制台 EC2安全及容错机制EC2弹性IP地址 说明…

如何爬出 Kotlin 协程死锁的坑?

作者:悬衡 一、前言 在 Java 中有一个非常经典的死锁问题, 就是明明自己已经占用了线程池, 却还继续去申请它, 自己等自己, 就死锁了, 如下图和代码: // 这段代码将死锁到天荒地老final ExecutorService executorService Executors.newSingleThreadExecutor();exe…

黑客零基础入门教程:从零开始学习黑客技术

黑客技术往往被误解,但实际上,学习黑客技术可以帮助我们更好地理解网络安全,保护个人信息免受攻击。本文为零基础的朋友提供了一个黑客技术的学习入门指南,帮助你从基础到实践逐步深入了解和掌握相关技能。 了解基本概念 在开始…

小程序AI智能名片S2B2C商城的UGC系统概念探秘

想象一下,你漫步在一个充满奇幻与创意的星空中,每颗星星都闪耀着独特的光芒,它们都是普通人用智慧与热情点亮的——这就是小程序AI智能名片S2B2C商城的UGC系统世界! 在这个星空中,UGC系统不再是遥不可及的概念&#xf…

.netcore+vue新生分班系统的设计与实现

.netcore vue新生分班系统的设计与实现说明文档 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于.net core架构和mysql数据库vue 东北石油大学新生分班系统的设计与实现 功能模块: 登录 注册学生 忘记密码 系统首顶 个…

SpringCloud系列(7)--Eureka服务端的安装与配置

前言:上一章节我们介绍了Eureka的基础,本章节则介绍Eureka服务端的安装与配置 Eureka架构原理图 1、创建Eureka Server端服务注册中心模块 (1)在父工程下新建模块 (2)选择模块的项目类型为Maven并选择模块要使用的JDK版本 (3)填写子模块的名称&#xf…