云计算百科
云计算领域专业知识百科平台

【服务器部署】云端部署Gradio情感聊天bot应用(ubuntu服务器+Nginx反向代理+内网穿透)

【服务器部署】从0-1进行部署Gradio情感聊天AI bot云端应用(ubuntu服务器+Nginx反向代理+内网穿透)

Gradio是一个常用于创建机器学习和深度学习的Web应用程序,它提供了一个用户友好的界面,允许开发者进行快速构建和部署并制作可视化界面,本文会介绍如何将Gradio应用部署到云服务器上,并使用反向代理来实现外链访问

Step1:先准备一台能够运行代码环境的服务器

流程:服务器租用→ssh连接→环境搭建→检查环境

服务器租借购买可以参考该教程阿里云服务器租用搭建教程,可以根据自身实际需要选择需要的服务器,选择服务器后使用Xshell远程连接云服务器配置环境(Xshell自行在网络中下载),打开Xshell输入服务器的公网ip 请添加图片描述 输入要登录的账户名(主机名)

在这里插入图片描述

输入在云服务器中设置的登录密码,密码正确即完成SSH连接 请添加图片描述

开始配置应用所需要的python环境,如果需要配置java或者c++环境也可以参考其它的服务器配置教程 请添加图片描述

安装python虚拟环境所需要的依赖包

sudo apt update
sudo apt-get install python3-venv

创建python虚拟环境并激活

环境创建:python3 -m venv my-venv​ (环境名可自定)

激活环境:source work/bin/activate​(改为你的路径,linux默认~为起始目录)

请添加图片描述

安装应用所需要的依赖包,目前安装有两种策略,一种直接用pip install packge​进行安装或者将所需要包写入requirements.txt,或者使用以下语句进行安装​​

nano requirements.txt

请添加图片描述

这里所需要安装的包写进去

请添加图片描述

pip install -r requirements.txt

请添加图片描述

安装完后可以用pip list​查看所需要的包是否安装完成

请添加图片描述

Step 2:搭建一个Gradio应用,这里以文心一言的Enrie SDKt为例

流程:编写一个Gradio应用→上传应用文件→配置后台服务→测试Gradio应用

首选在服务器上创建一个用于测试应用的文件目录

mkdir gradio_test/bot

要编写一个Gradio Web应用,本文通过使用Enrie的sdk实现一个实现一个情感伙伴bot聊天,其代码如下举例介绍:

import gradio as gr
import json
import erniebot

history = []
# 导入角色设置
with open(\’../config/enireRoleConfig.json\’, \’r\’, encoding=\’utf-8\’) as file:
role_config = json.load(file)

# 角色和描述
roles = role_config[\’roles\’]

# css样式
custom_css = \”\”\”
<style>
@import url(\’https://fonts.googleapis.com/css2?family=Pacifico&family=Permanent+Marker&family=Roboto+Slab&family=Dancing+Script&display=swap\’);
body, .gradio-container {
display: flex;
flex-direction: column;
min-height: 100vh;
margin: 0;
}
.main {
flex-grow: 1;
display: flex;
flex-direction: column;
}
.contain {
flex-grow: 1;
display: flex;
flex-direction: column;
}
#component-0 {
flex-grow: 1;
display: flex;
flex-direction: column;
}
#component-0 > .chat-interface {
flex-grow: 1;
display: flex;
flex-direction: column;
}
#component-0 > .chat-interface > .message-list {
flex-grow: 1;
overflow-y: auto;
}
</style>
\”\”\”

def predict(message, history, option, api_key, role_selector):

model = \”ernie-bot\”

erniebot.api_type = \’aistudio\’
erniebot.access_token = api_key

# 模型选择
if option == \”ernie-bot\”:
model = \’ernie-bot\’
elif option == \”ernie-bot-turbo\”:
model = \’ernie-bot-turbo\’
elif option == \”ernie-bot-4\”:
model = \’ernie-bot-4\’

# 角色选择
system_prompt = roles[role_selector][\’prompt\’]

# 输入消息
json_str = {
\’role\’: \’user\’, \’content\’: message}
messages = \”\”
history = [{
k: v for k, v in item.items() if k != \’metadata\’} for item in history]
history

赞(0)
未经允许不得转载:网硕互联帮助中心 » 【服务器部署】云端部署Gradio情感聊天bot应用(ubuntu服务器+Nginx反向代理+内网穿透)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!