首先申明,本文仅供学习,读者在尝试本文提到的技术时,请谨慎操作,自行承担风险。
其次,本文所演示的服务器为国内阿里云服务器,域名需要备案!!!
如果没有备案的域名或没有域名,但想体验公网访问web应用的,可以参考我的另一篇博客
使用fpr+Frpee,让你本地的web应用能够通过公网访问-CSDN博客
1.大语言模型的选择与部署
在选择大语言模型的时候,首先需要有一台性能能够支撑大语言模型推理的电脑,本文中使用的大语言模型是ChatGLM3,python的环境配置在这里就不多讲了,我使用的事python+anaconda的配置。
(1)ChatGLM3的下载与环境配置
首先从Github上下载ChatGLM3项目,网址如下:
THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型 (github.com)THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型 (github.com)https://github.com/THUDM/ChatGLM3THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型 (github.com)
点击Download ZIP或者
git clone https://github.com/THUDM/ChatGLM3.git
解压下载的文件到你自己创建的文件夹里。
pip install -r requirements.txt
随后需要下载模型到chatglm3中,模型的下载位置在
下载完成后将模型文件放在chatglm3下的
随后可以使用web_demo.py检验一下chatglm是否配置成功:
将图中的两行改成你模型放置的位置。
下面就可以检查你的chatglm3模型了,由于我打开的web_demo.py有点问题,所以我自己写了一个web_demo,使用的是gradio库
至此,ChatGLM3的配置完成。
2.网页界面的编写
这里使用的是flask框架快速编写一个聊天机器人界面,界面就不做展示了,设置好运行的端口为7000端口:
3.frp内网穿透设置
这里使用的服务器是阿里云服务器,服务器提供公网ip,内网穿透后通过公网ip来访问部署在本地的Web应用,你还需要购买一个域名,利用DNS解析你购买的域名,与服务器的公网ip绑定,这里不多赘述。
这里使用的frp是frp_0.50.0_windows_amd64版本。
其中frp的下载地址如下:
红色框:客户端(本地部署)所需的文件
绿色框:服务端(服务器)上所需的文件
(1)服务端的配置
登录阿里云服务器
本文阿里云服务器使用的Ubuntu系统,首先使用命令下载frp,由于服务器在国内,所以使用国内github镜像网站hub.fgit.cf.com下载:
sudo wget https://hub.fgit.cf/fatedier/frp/releases/download/v0.50.0/frp_0.50.0_linux_amd64.tar.gz
解压文件:
tar -zxvf frp_0.50.0_linux_amd64.tar.gz
可以看到下载与解压的文件
进入解压后的文件,编辑frps.ini文件:
vim frps.ini
进行配置:
随后保存退出,这里的bind_port要与上面flask中设置的端口最好一致,token自己设置,3个dashboard是frp的控制面板,稍后再做介绍。
启动frps
./frps -c ./frps.ini
看到如下图所示证明你启动成功:
如果使用的是国内的云服务器,还要在服务器打开相应的端口:
随后检查frps是否配置成功,输入你服务器的公网ip加上dashboard的端口号,本文ip:7500,如果能够访问到网站说明配置成功:
(2)客户端的配置
下载window端的文件:
解压,并配置frpc.ini文件:
配置完成后,进入frp_0.50.0_windows_amd64文件夹下,输入下面命令启动服务:
frpc.exe -c ./frpc.ini
出现如下画面就表示穿透成功:
可以访问dashboard来查看连接:
这个时候登录你的域名就可以在公网上访问到你的web网页了:
但是域名需要备案!!!,不然会出现如下画面:
(3)frp会出现的问题:
1.dashboard页面打不开的问题,这个是因为你服务器的端口没有开放,以阿里云为例,源最好选0.0.0.0,全部开放:
2.frp监听端口创建成功无法访问http,网页中出现The page you requested was not found.这里采纳这位网友的建议:
至此,结束!!!