基于宝塔面板部署 OpenWebUI ,使用接口自建ChatGPT

半小时部署自己的AIGC 助手,LLM大模型。

最近搭建一个基于chatgpt 的api的 界面chatgpt类似的会话应用,发现使用Ollama 开源分离的出来的 openwebui很合适,这样以后自己有服务器可以自己部署 llama、qianwen等的开源模型,如果没有服务器,可以直接使用openai的api接口能力搭建自己的chatgpt应用服务,只要是兼容openai 的api的接口也都可以用起来。国内大模型据我了解是智普好像兼容了openai 的api格式,其他的还没有尝试。 不知道coze支不支持。

第一步是先把openwebui 搭建起来,之前在本机搭建过Ollama,这次是直接在阿里云的99元服务器上搭建 openwebui,不安装本地模型,安装了也跑不起来。

基本使用流程是这样:

1、安装openwebui服务。

2、配置 openwebui 服务。

今天记录 openwebui 安装,openwebui 依赖还是挺多的,使用docker部署最方便,之前服务器没有docker,装有宝塔面板,通过宝塔面板的docker 管理来装,减轻配置复杂度。

前置准备工作:1、阿里云99元主机;2、Aliyun os系统、3、有docker或宝塔环境;4、备案过的域名;5、openai chatgpt 的api账号有余额 ;6、有openai 的接口api的sk 或者 有能国内访问openai接口。

如果前置内容你不懂,可以考虑加我微信:d11056888,可以付费学习。

第一步是先安装好宝塔面板、装好docker环境,。

然后自己添加一个编排模板。

编排模板添加时内容这样写:

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:${WEBUI_DOCKER_TAG-main}
    container_name: open-webui
    volumes:
      - ./data:/app/backend/data
    ports:
      - 33300:8080
    environment:
      - 'WEBUI_SECRET_KEY=123456789'
      # openai 配置
      - 'OPENAI_API_BASE_URL=https://api.openai-proxy.com/v1'
      - 'OPENAI_API_KEY=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'
      # 启用openai画图
      - 'ENABLE_IMAGE_GENERATION=true'
      - 'IMAGE_GENERATION_ENGINE=openai'
      # 开启注册登录功能
      - 'WEBUI_AUTH=true'
      - 'ENABLE_SIGNUP=true'
      - 'DEFAULT_USER_ROLE=user'
      # 忽略部分模型(关闭)
      - 'ENABLE_MODEL_FILTER=false'
      - 'MODEL_FILTER_LIST=tts-az-1;tts-1'
      - 'WEBUI_NAME=OiChat'
      # 默认模型
      - 'DEFAULT_MODELS=gpt-4o' 
      # huggingface镜像地址更换
      - 'HF_ENDPOINT=https://hf-mirror.com'
    restart: unless-stopped

最近升级openwebui到新版本,发现无法启动了,查了一下原因好像是因为 huggingface.co 无法打开,所以需要增加一个环境变量替换 huggingface.co
增加了一个环境变量的配置更新了模板编排 – ‘HF_ENDPOINT=https://hf-mirror.com’

正常情况下,你无法访问huggingface 也无法访问openai 的api接口,OPENAI_API_BASE_URL的环境变量也需要更新操作一下,换成国能能访问的代理接口才可以。比如下面这个

‘OPENAI_API_BASE_URL=https://api.openai-proxy.com/v1’

这里我使用了外网服务器搭建了一个 openai 的代理接口,要不然国内服务器无法访问openai接口。你可以先使用原生接口。

然后通过这个openwebui docker 部署的编排模板拉取镜像:

大概要下载一会吧。中途不要关闭拉取窗口,等待拉取成功会启动一个容器。

通过你的容器的端口,默认起的容器访问端口是3000;

如果一切正常,那么你的容器就起来了。通过你的主机ip:3000 端口就可以访问这个openwebui应用了。

Openwebui 默认没有用户,第一次注册用户就是管理员,你先注册一个账户,第一个注册账号就是管理员。

管理员登陆后就可以登陆进行系统配置了:

打开:/admin/settings/

具体配置openai的api接口在系统管理的外部链接里面填openai的 api 地址和秘钥。

可以添加多个接口,兼容openai的api 接口模式的就可以。

我想使用80端口访问openwebui怎么办?

如果你需要使用80 端口和域名直接访问,那么就在 宝塔的服务器上添加一个网站,使用反向代理到本机3000端口就可以了

我想

参考资料:

Openwebui 官网:https://openwebui.com/

Openwebui 文档:https://docs.openwebui.com/

Openwebui 代码:https://github.com/open-webui/open-webui

open-webui 部署教程:https://www.oiov.dev/blog/deploy-openwebui