Open WebUI + LiteLLM 实现大模型用量的控制 | 配置SSL证书给LiteLLM

当遇到多人使用API时,会发现有些人用的多,有些人用的少,调用大模型如流水——账单就像坐上火箭一样蹭蹭往上冲?

通过以下的解决方案将解决根据权限组的不同配置不同的API用量:Open WebUI + LiteLLM。它不仅能轻松接入市面上常见的大模型(OpenAIClaudeGeminiDeepseekAzure 等),还能对调用频次、Token消耗、用户配额等做精细化管理。更赞的是,这套方案还能搭配SSL证书,确保安全。

1. DNS配置(完成可以跳过)

1.1 确认 DNS

确保域名注册商DNS 服务商那里已经把 litellm.example.netA 记录指向你的服务器公网 IP。

等待生效后,ping litellm.example.net 能通即可。或者在DNS Checker↗️中查看

2. 安装LiteLLM通过git命令拉取

如果没有安装docker-compose的话,需要先安装这个通过如下命令

sudo apt install docker-compose -y

2.1 通过Git来安装LiteLLM

通过git clone来拉去LiteLLM仓库

git clone https://github.com/BerriAI/litellm

进入代码仓库

cd litellm

2.2 设置配置文件

设置配置文件 .env

nano .env 

复制以下代码到文件中

LITELLM_MASTER_KEY="sk-FQLJ3hdwKLC"
LITELLM_SALT_KEY="sk-GHDSF3VAdwf"

将KEY改为**自己的KEY,可以随便设置,但是要以sk-** 为开头

按键盘 CTRL + XyEnter 保存退出

2.3 推送到Docker

将配置文件推送到docker

docker-compose up -d

2.4 打开4000端口ℹ️

ℹ️ 通过以下命令打开4000端口 否则无法连接到Open WebUI

sudo ufw allow 4000/tcp

3. 配置LiteLLM API

3.1 进入LiteLLM后台

进入LiteLLM的后台进行配置(IP:4000

点击 LiteLLM Admin Panel on/ui

usernameadmin,密码是刚刚创建的MASTER_KEY

3.2 配置模型

配置模型,点击Models 点击Add Model

provider中选择自己想要添加的模型,

添加完成后,输入API KEY之后,测试连接后,便可以添加模型

3.3 生成Virtual Key

生成Virtual Key

点击 Virtual Key,点击 Create New Key

填写好对应的信息后,添加BudgetReset Budget

点击Create Key,便会生成我们的Key

4. 添加域名+SSL证书给LiteLLM

4.1 通过Cerbot安装

通过Certbot安装SSL证书给LiteLLM

sudo certbot --nginx -d litellm.example.net

ℹ️ 将 litellm.example.net 换成自己的网站名即可

4.2 配置文件

设置配置文件

sudo nano /etc/nginx/sites-available/litellm.example.net

ℹ️ 将 litellm.example.net 换成自己的网站名即可

确保文件的格式如下:(尤其是确认好域名LiteLLM的端口

server {
    listen 80;
    server_name litellm.example.net;
    # 所有访问都跳转到 HTTPS
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2;
    server_name litellm.techchris.net;

    ssl_certificate     /etc/letsencrypt/live/litellm.example.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/litellm.example.net/privkey.pem;
    include             /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam         /etc/letsencrypt/ssl-dhparams.pem;

    # 反向代理到本地 litellm 服务
    location / {
        proxy_pass         http://localhost:4000;
        proxy_set_header   Host              $host;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

保存并启用该配置文件:

sudo ln -s /etc/nginx/sites-available/litellm.example.net /etc/nginx/sites-enabled/
sudo nginx -t  
sudo systemctl restart nginx

ℹ️ 将 litellm.example.net 换成自己的网站名即可

4.3 确认默认配置文件占用的端口

确认链接的情况通过如下命令:

ls -l /etc/nginx/sites-enabled/

如果这边出现:default -> /etc/nginx/sites-available/default 那么需要先禁用该默认选项否则会出现下图:

Welcome to nginx! If you see this page, the nginx web server is successfully installed and working. Further configuration is required. For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.
Thank you for using nginx.

ℹ️ 由于默认站点的配置会抢占 listen 80 / listen 443,必须通过如下命令把它关掉:

sudo rm /etc/nginx/sites-enabled/default

重新启动一下Nginx服务即可:

sudo systemctl restart nginx

回到Open WebUI中将 URL 密匙 添加到外部链接

 通过以上步骤便可通过LiteLLM来控制权限组,设置用量,准确控制自己想要的预算,防止超过预算。同样,通过给LiteLLM配置SSL证书以增强其安全性。

Views: 0

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注