十方资源站-一个网络资源分享平台
十方资源站-一个网络资源分享平台

new-api—基于One API二开

界面预览

图片[1]-new-api—基于One API二开
图片[2]-new-api—基于One API二开
图片[3]-new-api—基于One API二开

介绍

在OneAPI基础上添加Midjourney Proxy支持,并添加在线充值功能

主要变更

  1. 添加Midjourney-Proxy接口的支持:
    •  /mj/submit/imagine
    •  /mj/submit/change
    •  /mj/submit/blend
    •  /mj/submit/describe
    •  /mj/image/{id} (通过此接口获取图片,请必须在系统设置中填写服务器地址!!
    •  /mj/task/{id}/fetch (此接口返回的图片地址为经过One API转发的地址)
    • 使用方法:渠道类型选择自定义渠道
    • Base URL填写Midjourney-Proxy的地址(例如 http://localhost:8080 )
    • 模型填入自定义模型midjourney
    • 密钥填写Midjourney-Proxy的mj-api-secret(没有的话可以随便填,但是不推荐)。
  2. 支持在线充值功能,可在系统设置中设置,当前支持的支付接口:
    •  易支付
  3. 支持用key查询使用额度:
    • 配合项目neko-api-key-tool可实现用key查询使用情况,方便二次分销
  4. 渠道显示已使用额度,支持指定组织访问
  5. 分页支持选择每页显示数量

功能

  1. 支持多种大模型:
    •  OpenAI ChatGPT 系列模型(支持 Azure OpenAI API)
    •  Anthropic Claude 系列模型
    •  Google PaLM2 系列模型
    •  百度文心一言系列模型
    •  阿里通义千问系列模型
    •  讯飞星火认知大模型
    •  智谱 ChatGLM 系列模型
    •  360 智脑
    •  腾讯混元大模型
  2. 支持配置镜像以及众多第三方代理服务:
    •  OpenAI-SB
    •  CloseAI
    •  API2D
    •  OhMyGPT
    •  AI Proxy 
    •  自定义渠道:例如各种未收录的第三方代理服务
  3. 支持通过负载均衡的方式访问多个渠道。
  4. 支持 stream 模式,可以通过流式传输实现打字机效果。
  5. 支持多机部署详见此处
  6. 支持令牌管理,设置令牌的过期时间和额度。
  7. 支持兑换码管理,支持批量生成和导出兑换码,可使用兑换码为账户进行充值。
  8. 支持通道管理,批量创建通道。
  9. 支持用户分组以及渠道分组,支持为不同分组设置不同的倍率。
  10. 支持渠道设置模型列表
  11. 支持查看额度明细
  12. 支持用户邀请奖励
  13. 支持以美元为单位显示额度。
  14. 支持发布公告,设置充值链接,设置新用户初始额度。
  15. 支持模型映射,重定向用户的请求模型。
  16. 支持失败自动重试。
  17. 支持绘图接口。
  18. 支持 Cloudflare AI Gateway,渠道设置的代理部分填写 https://gateway.ai.cloudflare.com/v1/ACCOUNT_TAG/GATEWAY/openai 即可。
  19. 支持丰富的自定义设置,
    1. 支持自定义系统名称,logo 以及页脚。
    2. 支持自定义首页和关于页面,可以选择使用 HTML & Markdown 代码进行自定义,或者使用一个单独的网页通过 iframe 嵌入。
  20. 支持通过系统访问令牌访问管理 API。
  21. 支持 Cloudflare Turnstile 用户校验。
  22. 支持用户管理,支持多种用户登录注册方式
    • 邮箱登录注册(支持注册邮箱白名单)以及通过邮箱进行密码重置。
    • GitHub 开放授权
    • 微信公众号授权(需要额外部署 WeChat Server)。

部署

基于 Docker 进行部署

# 使用 SQLite 的部署命令:
docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api
# 使用 MySQL 的部署命令,在上面的基础上添加 `-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi"`,请自行修改数据库连接参数,不清楚如何修改请参见下面环境变量一节。
# 例如:
docker run --name one-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data justsong/one-api

其中,-p 3000:3000 中的第一个 3000 是宿主机的端口,可以根据需要进行修改。

数据和日志将会保存在宿主机的 /home/ubuntu/data/one-api 目录,请确保该目录存在且具有写入权限,或者更改为合适的目录。

基于 Docker Compose 进行部署(推荐)

version: '3.4'

services:
  one-api:
    image: calciumion/neko-api:main
    container_name: new-api
    restart: always
    command: --log-dir /app/logs
    ports:
      - "5703:3000"
    volumes:
      - ./data:/data
      - ./logs:/app/logs
    environment:
      - SQL_DSN=数据库名:数据库密码(公网IP:3306)/数据库名  # 修改此行,或注释掉以使用 SQLite 作为数据库
      - REDIS_CONN_STRING=redis://redis
      - SESSION_SECRET=1CHix5B03421qge  # 修改为随机字符串
      - TZ=Asia/Shanghai
#      - NODE_TYPE=slave  # 多机部署时从节点取消注释该行
#      - SYNC_FREQUENCY=60  # 需要定期从数据库加载数据时取消注释该行
#      - FRONTEND_BASE_URL=https://openai.justsong.cn  # 多机部署时从节点取消注释该行

    depends_on:
      - redis
    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

  redis:
    image: redis:latest
    container_name: redis
    restart: always

复制上述代码,新建一个docker-compose.yml文件

进入服务器终端,输入启动命令:docker-compose up -d

© 版权声明
THE END
喜欢就支持一下吧
点赞15赞助作者 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容