1. 前言
《LLM 接口管理和分发系统 One API》一文中,我们学习了One API的安装和基础配置。
随着One API项目不断更新,支持的渠道也越来越多。但是,有些新的渠道暂未支持或者不会支持,这时我们可以使用自定义渠道。
本文中,我们来学习一下One API自定义渠道的配置方法。
相关文档:
2. 配置并测试LLM API
以配置并测试 UCloud DeepSeek 为例,整个流程如下。
1、申请UCloud DeepSeek的使用权限
2、获取模型名称和Key
3、调用测试
参考文档:模型服务平台 UModelVerse API说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| curl --location 'https://deepseek.modelverse.cn/v1/chat/completions' \ --header 'Authorization: Bearer <你的API Key>' \ --header 'Content-Type: application/json' \ --data '{ "reasoning_effort": "low", "stream": true, "model": "models/DeepSeek-V3", "messages": [ { "role": "user", "content": "say hello to ucloud" } ] }'
|
3. 配置自定义渠道
配置自定义渠道,与配置其他渠道最主要的差别,在于 代理(老版本中是 Base URL)需要填写自己渠道的 URL。
以配置 UCloud DeepSeek 渠道为例,整个配置如下:
配置完成后,点击测试,验证渠道是否可以正常调用。
4. 调用自定义渠道
使用curl命令测试调用自定义的 deepseek-chat 模型:
1 2 3 4 5 6 7 8 9 10 11 12
| curl "https://oneapi.voidking.com/v1/chat/completions" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <ONE_API_KEY>" \ -d '{ "model": "deepseek-chat", "messages": [ { "role": "user", "content": "hello!" } ] }'
|
如果想要使用 python 测试调用自定义的 deepseek-chat 模型,那么可以参考文档《LLM 接口管理和分发系统 One API》
5. 自定义渠道 + Nginx代理
在配置 UCloud DeepSeek时,比较简单,代理直接填写 UCloud 官方给的域名就可以了。
这是因为UCloud官方的 LLM API 路径刚好和 OneAPI 的规范匹配,是 /v1/chat/completions
如果某个渠道的 LLM API 路径不是 /v1/chat/completions,那么就需要配合 Nginx代理 来进行配置了。
已知潞晨云的LLM API URL为:
1
| https://cloud.luchentech.com/api/maas/chat/completions
|
那么在OneAPI中自定义渠道配置代理时,是不能直接填入 https://cloud.luchentech.com 这个地址的,需要借助Nginx。
原理:通过Nginx代理,将 /api/maas/chat/completions 转换成 /v1/chat/completions
Nginx配置示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| server { listen 80; listen 443 ssl; server_name luchen.voidking.com; charset utf-8;
ssl_certificate /etc/letsencrypt/live/voidking.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/voidking.com/privkey.pem; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM; ssl_prefer_server_ciphers on;
if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
location /v1/chat/completions { proxy_pass https://cloud.luchentech.com/api/maas/chat/completions; proxy_set_header Host cloud.luchentech.com; 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;
proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s;
# WebSocket support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
|
配置完成后,在OneAPI中自定义渠道配置代理时,填入 https://luchen.voidking.com