目 录CONTENT

文章目录

docker-compose编排one-api-管理api的key池

筱晶哥哥
2023-12-26 / 0 评论 / 0 点赞 / 194 阅读 / 6020 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2024-03-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

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.35
    container_name: mysql_8_0_35
    restart: always
    volumes:
      - "./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:ro
    environment:
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
      MYSQL_ROOT_PASSWORD: root
      MYSQL_USER: oneapi   # 创建专用用户
      MYSQL_PASSWORD: '123456'    # 设置专用用户密码
      MYSQL_DATABASE: one-api   # 自动创建数据库
    privileged: true
    ports:
      - "3306:3306"
  redis:
    image: redis:6.0.8
    container_name: redis_6_0_8
    restart: always
    # 启动redis服务,设置密码,设置持久化
    command: redis-server --requirepass 123456 --appendonly yes 
    environment:                        
      TZ: Asia/Shanghai
      LANG: en_US.UTF-8
    volumes:                            
      - "./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 搭建自己的知识库。

0

评论区