One-Api是一个Api-key池管理工具,是OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用。
项目地址:https://github.com/songquanpeng/one-api
现在使用docker-compose编排启动one-api,编排文件如下:
version: '3'
services:
one-api:
image: justsong/one-api:latest
container_name: one-api
restart: always
command: --log-dir /app/logs
ports:
- "3000:3000"
volumes:
- ./one-api/data:/data
- ./one-api/log:/app/logs
environment:
- SQL_DSN=oneapi:123456@tcp(mysql:3306)/one-api
- REDIS_CONN_STRING=redis://:123456@redis:6379
- SESSION_SECRET=random_string
- TZ=Asia/Shanghai
depends_on:
- redis
- mysql
healthcheck:
test: [ "CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '"success":\s*true' | awk -F: '{print $2}'" ]
interval: 30s
timeout: 10s
retries: 3
mysql:image:mysql:8.0.35container_name:mysql_8_0_35restart:alwaysvolumes:-"./mysql/config/my.cnf:/etc/my.cnf"-"./mysql/data:/var/lib/mysql"-"./mysql/mysql-files:/var/lib/mysql-files"-"./mysql/log:/var/log/mysql"-/etc/localtime:/etc/localtime:roenvironment:TZ:Asia/ShanghaiLANG:en_US.UTF-8MYSQL_ROOT_PASSWORD:rootMYSQL_USER:oneapi# 创建专用用户MYSQL_PASSWORD:'123456'# 设置专用用户密码MYSQL_DATABASE:one-api# 自动创建数据库privileged:trueports:-"3306:3306"redis:image:redis:6.0.8container_name:redis_6_0_8restart:always# 启动redis服务,设置密码,设置持久化command:redis-server--requirepass123456--appendonlyyesenvironment:
TZ:Asia/ShanghaiLANG:en_US.UTF-8volumes:
-"./redis/data:/data"-"./redis/config/redis.conf:/etc/redis/redis.conf"ports:
-"6379:6379"
其中的mysql的配置文件 my.cnf 参照我的上一篇文章。
这样就搭建好了,使用浏览器访问即可: IP地址:3000
one-api的使用教程:添加新的渠道 -> 添加新的令牌 -> 复制令牌(sk-xxx)-> 使用。
以 openapi 为例,将原来的 url 替换成 ip地址:3000/v1, key替换成上面复制的key即可。
这样就可以在程序中使用上面key池中的key了。
可以结合 fastgpt 搭建自己的知识库。
51工具盒子