【AI探索实践】使用Docker部署One-API接口管理系统
@TOC
一、One-API介绍
1.1 One-API简介
- One-API简介
One API 是一个统一的接口管理与分发系统,支持多种主流AI服务如Azure、Anthropic Claude、Google PaLM 2 & Gemini等,提供集中式的API密钥管理和二次分发功能。它被打包成单个可执行文件,并提供Docker镜像,实现一键部署和开箱即用的便捷体验。适用于企业、开发者和研究者,简化多AI服务的接入和管理。
1.2 支持大模型
- OpenAI ChatGPT 系列模型(支持 Azure OpenAI API)
- Anthropic Claude 系列模型 (支持 AWS Claude)
- Google PaLM2/Gemini 系列模型
- Mistral 系列模型
- 字节跳动豆包大模型
- 百度文心一言系列模型
- 阿里通义千问系列模型
- 讯飞星火认知大模型
- 智谱 ChatGLM 系列模型
- 360 智脑
- 腾讯混元大模型
- Moonshot AI
- 百川大模型
- MINIMAX
- Groq
- Ollama
- 零一万物
- 阶跃星辰
- Coze
- Cohere
- DeepSeek
- Cloudflare Workers AI
- DeepL
- together.ai
- novita.ai
- 硅基流动 SiliconCloud
二、本次实践规划
2.1 本地环境规划
本次实践为个人测试环境,操作系统版本为|Ubuntu 22.04.1。
hostname | IP地址 | 操作系统版本 | 内核版本 | Docker版本 | 镜像版本 |
---|---|---|---|---|---|
jeven01 | 192.168.3.88 | Ubuntu 22.04.1 LTS | 5.15.0-119-generic | 27.1.1 | latest |
2.2 本次实践介绍
1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.在Docker环境下部署One-API应用。
三、本地环境检查
3.1 检查Docker服务状态
检查Docker服务是否正常运行,确保Docker正常运行。
root@jeven01:~# cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
3.2 检查Docker版本
检查Docker版本
root@jeven01:~# docker -v
Docker version 27.1.1, build 6312585
3.3 检查docker compose 版本
检查Docker compose版本,确保2.0以上版本。
root@jeven01:~# docker compose version
Docker Compose version v2.19.1
四、下载One-API镜像
拉取One-API镜像,镜像名称为:
justsong/one-api
。
root@jeven01:~# docker pull justsong/one-api
Using default tag: latest
latest: Pulling from justsong/one-api
43c4264eed91: Already exists
bdbd885af0ef: Pull complete
425a7e4d7875: Pull complete
c1f0e7c220fe: Pull complete
Digest: sha256:511eebe2ae644d7304f7f8740f56ee5eebdce08004fefb8ebe2c0018c9f56c92
Status: Downloaded newer image for justsong/one-api:latest
docker.io/justsong/one-api:latest
五、部署justsong/one-api应用
5.1 创建部署目录
- 创建部署目录
mkdir -p /data/oneapi/data && cd /data/oneapi/
5.2 编辑部署文件
在
/data/oneapi
目录下,创建docker-compose.yaml文件,其中宿主机映射端口等可以自定义配置。本次使用SQLite数据库,如果使用MySQL方式部署,请参考官网。
version: '3'
services:
one-api:
image: justsong/one-api
container_name: oneapi
restart: always
ports:
- "3000:3000" #设置端口映射,可自定义
environment:
- TZ=Asia/Shanghai
volumes:
- /data/oneapi/data:/data
5.3 创建One-API容器
执行以下命令,创建One-API容器。
root@jeven01:/data/oneapi# docker compose up -d
[+] Running 2/2
✔ Network oneapi_default Created 0.1s
✔ Container oneapi Started 0.3s
5.4 查看One-API容器状态
检查One-API容器状态状态,确保One-API容器正常启动。
root@jeven01:/data/oneapi# docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
oneapi justsong/one-api "/one-api" one-api 2 minutes ago Up 2 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp
六、访问One-API服务
6.1 访问初始页
访问地址:http://192.168.3.88:3000,将IP替换为自己服务器IP地址。如果无法访问到以下页面,则检查宿主机的防火墙是否关闭或者放行相关端口,云服务器则还需要设置安全组规则。
6.2 登录One-API
- 初始用户名:root,
- 密码:123456,注意
- 登录后务必修改密码。
七、设置大模型
7.1 添加新渠道
选择通义千问大模型,添加API-KEY,确认添加即可。
7.2 查看渠道状态
查看刚才添加的渠道状态,如下所示为正常响应状态。
7.3 添加令牌
- 添加新令牌
- 填写令牌名称、模型范文、过期时间、使用额度等,确认提交即可。
八、总结
One API 通过统一的接口管理和分发系统,极大地简化了多种主流AI服务(如Azure、Anthropic Claude、Google PaLM 2 & Gemini等)的接入和使用,提供了集中式的API密钥管理和二次分发功能。其单个可执行文件和预构建的Docker镜像使得部署变得简单快捷,真正实现了开箱即用。在实际应用中,One API显著提升了企业、开发者和研究者的开发效率,减少了多AI服务管理的复杂性。无论是集成到现有系统还是进行快速原型设计,One API都表现出色,成为多AI服务管理的得力工具。
- 点赞
- 收藏
- 关注作者
评论(0)