白嫖腾讯云 8核32g 可用于部署自己的本地大模型
前提说明
说明
- 本质是借助于服务器,来部署服务由于不提供公网ip所以需要借助于内网穿透来对外提供服务。
- 服务器配置是 32g内存,NVIDIA 16G显存。除去系统占用空间,留下约30g左右的空间可用于使用。
- 当然也可以选择部署其他服务。这里以部署ollama为例。
前提
- 拥有腾讯云账号并实名认证
- 掌握基本shell以及docker命令
- 会使用内网穿透,本文使用frp作为内网穿透,所以需要拥有一台公网服务器。使用其他方式也可以。
可实现的效果
创建ollama运行环境
腾讯云 CloudIDE 网址
https://ide.cloud.tencent/
-
这里选择
ollama
作为模版.
-
这里选择免费基础版即可。8核,32G内容,16G显存,每月拥有50000 分钟的免费时长。约34天左右。。。
-
创建成功后,点击进入。
-
这里的界面跟vscode的界面几乎一样。
运行ollama服务
- 这里我们的目的是使用 他所提供的终端来运行命令。实现将ollama的服务暴漏出去。所以这里选择新建终端
- 查看gpu配置,约16G左右的显存。
nvidia-smi
配置端口以及跨域策略
说明
-
这里需要配置ollama运行的端口,以及跨域策略,后续需要将该服务暴漏出去。
-
打开环境变量文件
vim /etc/profile
- 之后输入
G
进入文件末尾,输入O
向下新增一行并进入编辑模式。将如下内容粘贴到文件末尾
export OLLAMA_HOST=0.0.0.0:6399
export OLLAMA_ORIGINS=*
解析
# 允许除本机以外ip访问此服务,并配置此服务端口号为6399
export OLLAMA_HOST=0.0.0.0:6399
# 浏览器跨域策略
export OLLAMA_ORIGINS=*
- 刷新环境变量
source /etc/profile
启动ollama服务
- 停止默认运行的ollama服务。默认新建的环境,会自动启动ollama。这里需要修改一些配置。所以需要先将默认的服务关闭。
ps -ef |grep ollama
- 之后将查询出来的端口全部 kill 掉
- 使用kill 杀掉这些进程
kill 14
kill 75
- 最终效果
- 启动ollama服务
ollama官网
https://ollama/
- 我这里选择 qwen2.5,大家可自己选择模型。
- 由于这台服务器最大只有约16GB的显存.跑32B的模型就已经非常慢了,基本是一个个字蹦.所以推荐使用14B的模型即可.
ollama serve
- 出现如图所示,表示ollama服务启动完毕。
- 新建终端拉取模型
ollama run qwen2.5:14b
- 等待模型拉取成功
- 测试效果
根据已知信息简要精确的回答我的问题,对于不确定的问题,请回答:我不知道。已知信息:今天是2024年12月16日10点01分23秒星期一。问题:距离下周二还有几天?
内网穿透
利用frp将服务暴漏在公网
- 采用这种方式,默认是无法将服务暴漏给其他服务进行使用的。
- 好在ollama也提供了http相关接口,可以借助于内网穿透将其映射到公网上进行使用。
- 所以需要借助于内网穿透来实现。其他内网穿透手段也是可以的。这里选择使用frp进行实现。
- frp 需要先拥有一个公网的
服务器
。并在公网的服务器上安装好frps
mkdir software && cd software
wget https://github/fatedier/frp/releases/download/v0.42.0/frp_0.42.0_linux_amd64.tar.gz
# 解压
tar -zxvf frp_0.42.0_linux_amd64.tar.gz
# 改名
mv frp_0.42.0_linux_amd64 frp
# 进入目录
cd frp
vim frpc.ini
- 编辑frpc 配置
# 配置
[common]
server_addr = # 服务ip
server_port = # 服务器端口
# 验证方式
authentication_method = token
# 秘钥
token = # 秘钥内容
[windows1234]
# 连接方式
type = http
# 本地ip
local_ip = 127.0.0.1
# 本地端口,这里就是上面指定的 OLLAMA_HOST 的端口号
local_port = 6639
# 域名ip
custom_domains = # 服务器ip
- 启动frpc 服务
# 启动frp
./frpc -c frpc.ini
- 启动完成后,可在自己本地电脑调试。frp服务是否代理成功。
部署web-ui
这里在云服务器上安装open-webui
- 由于只有不到30G可支配空间,所以需要将
open-webui
部署在其他服务器上。我这里部署在我本地服务器中。 - 进入云服务器。这里不再赘述安装docker的过程了。自行查找安装。
- 启动docker容器,并运行web-ui。这里需要通过
OLLAMA_BASE_URL
指定ollama的base地址。需要选择frps的服务端ip和端口。这里以192.168.160.1:18080
为例。 - 8082是
open-webui
映射到宿主机需要访问的端口。
docker run -d -p 8082:8080 -e OLLAMA_BASE_URL=http://192.168.160.1:18080 -v open-webui2:/app/backend/data --name open-webui2 --restart always ghcr.io/open-webui/open-webui:main
- 运行成功后,需要差不多等待10s左右。可查看日志。
docker logs -f open-webui-2
- 出现如图所示,即启动成功
访问测试
- 访问
http://192.168.160.132:8082
- 第一次使用需要注册。
- 最终效果图
白嫖腾讯云 8核32g 可用于部署自己的本地大模型
前提说明
说明
- 本质是借助于服务器,来部署服务由于不提供公网ip所以需要借助于内网穿透来对外提供服务。
- 服务器配置是 32g内存,NVIDIA 16G显存。除去系统占用空间,留下约30g左右的空间可用于使用。
- 当然也可以选择部署其他服务。这里以部署ollama为例。
前提
- 拥有腾讯云账号并实名认证
- 掌握基本shell以及docker命令
- 会使用内网穿透,本文使用frp作为内网穿透,所以需要拥有一台公网服务器。使用其他方式也可以。
可实现的效果
创建ollama运行环境
腾讯云 CloudIDE 网址
https://ide.cloud.tencent/
-
这里选择
ollama
作为模版.
-
这里选择免费基础版即可。8核,32G内容,16G显存,每月拥有50000 分钟的免费时长。约34天左右。。。
-
创建成功后,点击进入。
-
这里的界面跟vscode的界面几乎一样。
运行ollama服务
- 这里我们的目的是使用 他所提供的终端来运行命令。实现将ollama的服务暴漏出去。所以这里选择新建终端
- 查看gpu配置,约16G左右的显存。
nvidia-smi
配置端口以及跨域策略
说明
-
这里需要配置ollama运行的端口,以及跨域策略,后续需要将该服务暴漏出去。
-
打开环境变量文件
vim /etc/profile
- 之后输入
G
进入文件末尾,输入O
向下新增一行并进入编辑模式。将如下内容粘贴到文件末尾
export OLLAMA_HOST=0.0.0.0:6399
export OLLAMA_ORIGINS=*
解析
# 允许除本机以外ip访问此服务,并配置此服务端口号为6399
export OLLAMA_HOST=0.0.0.0:6399
# 浏览器跨域策略
export OLLAMA_ORIGINS=*
- 刷新环境变量
source /etc/profile
启动ollama服务
- 停止默认运行的ollama服务。默认新建的环境,会自动启动ollama。这里需要修改一些配置。所以需要先将默认的服务关闭。
ps -ef |grep ollama
- 之后将查询出来的端口全部 kill 掉
- 使用kill 杀掉这些进程
kill 14
kill 75
- 最终效果
- 启动ollama服务
ollama官网
https://ollama/
- 我这里选择 qwen2.5,大家可自己选择模型。
- 由于这台服务器最大只有约16GB的显存.跑32B的模型就已经非常慢了,基本是一个个字蹦.所以推荐使用14B的模型即可.
ollama serve
- 出现如图所示,表示ollama服务启动完毕。
- 新建终端拉取模型
ollama run qwen2.5:14b
- 等待模型拉取成功
- 测试效果
根据已知信息简要精确的回答我的问题,对于不确定的问题,请回答:我不知道。已知信息:今天是2024年12月16日10点01分23秒星期一。问题:距离下周二还有几天?
内网穿透
利用frp将服务暴漏在公网
- 采用这种方式,默认是无法将服务暴漏给其他服务进行使用的。
- 好在ollama也提供了http相关接口,可以借助于内网穿透将其映射到公网上进行使用。
- 所以需要借助于内网穿透来实现。其他内网穿透手段也是可以的。这里选择使用frp进行实现。
- frp 需要先拥有一个公网的
服务器
。并在公网的服务器上安装好frps
mkdir software && cd software
wget https://github/fatedier/frp/releases/download/v0.42.0/frp_0.42.0_linux_amd64.tar.gz
# 解压
tar -zxvf frp_0.42.0_linux_amd64.tar.gz
# 改名
mv frp_0.42.0_linux_amd64 frp
# 进入目录
cd frp
vim frpc.ini
- 编辑frpc 配置
# 配置
[common]
server_addr = # 服务ip
server_port = # 服务器端口
# 验证方式
authentication_method = token
# 秘钥
token = # 秘钥内容
[windows1234]
# 连接方式
type = http
# 本地ip
local_ip = 127.0.0.1
# 本地端口,这里就是上面指定的 OLLAMA_HOST 的端口号
local_port = 6639
# 域名ip
custom_domains = # 服务器ip
- 启动frpc 服务
# 启动frp
./frpc -c frpc.ini
- 启动完成后,可在自己本地电脑调试。frp服务是否代理成功。
部署web-ui
这里在云服务器上安装open-webui
- 由于只有不到30G可支配空间,所以需要将
open-webui
部署在其他服务器上。我这里部署在我本地服务器中。 - 进入云服务器。这里不再赘述安装docker的过程了。自行查找安装。
- 启动docker容器,并运行web-ui。这里需要通过
OLLAMA_BASE_URL
指定ollama的base地址。需要选择frps的服务端ip和端口。这里以192.168.160.1:18080
为例。 - 8082是
open-webui
映射到宿主机需要访问的端口。
docker run -d -p 8082:8080 -e OLLAMA_BASE_URL=http://192.168.160.1:18080 -v open-webui2:/app/backend/data --name open-webui2 --restart always ghcr.io/open-webui/open-webui:main
- 运行成功后,需要差不多等待10s左右。可查看日志。
docker logs -f open-webui-2
- 出现如图所示,即启动成功
访问测试
- 访问
http://192.168.160.132:8082
- 第一次使用需要注册。
- 最终效果图