目录
text-generation-webui部分
开放对外API
通义千问部分
远程API对话测试部分
text-generation-webui部分
本来不想发这个文章的,但是自己部署的时候看了挺多人的帖子,很多发的不全面,要么就是跟着他们流程走有些小问题啥的,这回我自己在网上和代码里研究了一下。
首先下载项目包:https://github.com/oobabooga/text-generation-webui
你自己用git克隆还是直接下zip随意
解压之后,你的文件结构是这样的,这里我为了方便给看清文件结构,用windows截得图。
windows也能安,而且我认为windows更容易安
我用红框标注了我们要使用的文件
如果你是win系统,那么就启动start_windows.bat,如果你是linux,就切换到目标目录下,执行./start_linux.sh
这里截图依旧先用windows举例,因为他前两个询问是一样的
他会问你你的显卡是什么型号的,你CUDA版本需不需要安装12.1,我推荐,服务器最好是N卡,也最好是N卡
如果N卡,第一个问题答A选项,第二个问题必点N
接下来会执行安装CUDA等环境,不过你90%概率是会报错的。
报错不要慌,你再启动start命令是启动不来的了,接下来要执框里那个cmd命令
这个命令是让你进入到text-generation-webui自动给你配好的虚拟环境执行命令用的,你要下载什么包,需要进入env里来执行命令,之前我们用start命令首次启动自动安装环境的时候,他非常大的概率会报错,无非就是环境没下全,依赖没下全,那么要修复他,需要手动安装依赖。
执行命令pip install -r requirements.txt(注意一定要用cmd进入到env虚拟环境里执行)
我下面截图是因为我环境安装过了,所以没有那么多下载了,正常你pip install,是会进行很多下载的
这里面还有个坑,而且是很大的坑,如果在pip安装依赖的时候,你报红字了,别担心,基本上99%概率网络问题,他这个text-generation-webui只要你下的是官方最新的包,你执行start命令的时候无论虚拟环境还是python3.11和cuda,他都是给你对应好的,或者说你要是担心就自己下个python3.11,所以不存在他的requirements.txt文件有问题啥的,那么报红字,基本上不是timeout,就是HTTP啥啥啥的,就是网速问题,这玩意纯看脸,一次不行就多次,迟早能下载下来,windows好解决是windows可以魔法上网,能解决网的问题
关于他项目里有好多requirements你分不清,可以查看官方文档里有说明,一般用requirements.txt那个就行
pip安装依赖全下下来完全没红字后,基本上就不会有问题了,你整套已经搭建起来了
接下来测试启动,依旧还是用start命令
出现URL说明已经启动成功了,如果报错,那么继续进入env里pip安装requirements文件内容
开放对外API
如果已经看到启动成功后,那么我们进行下一部,对外api
我们看到他的url地址是127.0.0.1地址,但是这个地址是不对外开放的,在我们已解决防火墙的问题之后我们要让他以0.0.0.0来启动,其他好多文章都说什么用其他方式做转发,其实没那么麻烦,我们要设置一个配置文件就可以解决
打开文件,开始只有三行注释,意思让你自己配置监听ip、端口和对外api,这里我们端口没必要改,当然你要想设置其他端口,添加listen-port就行,这里我默认7860端口webui页面,5000端口对外api
改完保存,再重新启动
OK我们的web页面和api都启动了,用telnet测试一下。这里我直接用我本地电脑连接服务器的web页面进行测试,可以看到我们的页面已经进来了,完全没问题
通义千问部分
那么下一步,安装文本大模型,这里我选择通义千问,如果你有其他想部署的随便挑
我们先去huggingface网站去挑选我们想要安装的模型
地址:https://huggingface.co/models
这里我搜索的千问2.5,由于我只是调试测试用,所以不用安72B那么大的,建议了解大模型72B,32B等区别,显存不高的不是给你那么玩的
我挑选的7B
记住这个地址结构,因为我们要在web页面下载用
来到web页面,选择model,按照他提示的格式写,点下载
我们看报错了,网连不上,这也就是我说的windows安装比linux省事多了
那么我们自己直接把model文件下载到本地然后上传到服务器
我这里已经上传完解压完了
那么我们回到web页面,可以看到model中有显示了
选择模型,点右侧按钮加载,看控制台加载过程
如果加载成功他会显示success load
接下来测试chat对话,测试成功
远程API对话测试部分
那么下一步,我们要用VOXTA测试下远程连接API可不可以对话,这里先简单说下VOXTA,VOXTA是简单的把文本转换成语音式的一个服务,特色是他的AI有角色卡,可以设定AI的身份,年龄,性格特征,看起来像活生生的一个人,具体VOXTA是给哪个方面服务的,这里不方便说,大家懂的都懂。😁😁😁😁😁
启动VOXTA,点右上角插件配置
在TEXT生成那个插件,设置,因为我们用的是text-generation-webui框架,所以配置也是加这个,如果没有下面Add服务然后添加就好了
设置我们的远程API
这里测试对话成功,而且是语音输出,由于文案看不到语音结果,所以截图看不出了大家知道可以完全语音交互了就行
到这里我们整套流程就结束了😁😁😁😁😁😁😁😁😁😁😁😁