Calcium-Ion / new-api

AI模型接口管理与分发系统,支持将多种大模型转为OpenAI格式调用、支持Midjourney Proxy、Suno、Rerank,兼容易支付协议,仅供个人或者企业内部管理与分发渠道使用,请勿用于商业用途,本项目基于One API二次开发。
https://nekoapi.com
Apache License 2.0
3.11k stars 765 forks source link
![new-api](/web/public/logo.png) # New API Calcium-Ion%2Fnew-api | Trendshift

[!NOTE] 本项目为开源项目,在One API的基础上进行二次开发

[!IMPORTANT] 使用者必须在遵循 OpenAI 的使用条款以及法律法规的情况下使用,不得用于非法用途。 本项目仅供个人学习使用,不保证稳定性,且不提供任何技术支持。 根据《生成式人工智能服务管理暂行办法》的要求,请勿对中国地区公众提供一切未经备案的生成式人工智能服务。

[!TIP] 最新版Docker镜像:calciumion/new-api:latest
默认账号root 密码123456
更新指令:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR

主要变更

此分叉版本的主要变更如下:

  1. 全新的UI界面(部分界面还待更新)
  2. 添加Midjourney-Proxy(Plus)接口的支持,对接文档
  3. 支持在线充值功能,可在系统设置中设置,当前支持的支付接口:
    • [x] 易支付
  4. 支持用key查询使用额度:
  5. 渠道显示已使用额度,支持指定组织访问
  6. 分页支持选择每页显示数量
  7. 兼容原版One API的数据库,可直接使用原版数据库(one-api.db)
  8. 支持模型按次数收费,可在 系统设置-运营设置 中设置
  9. 支持渠道加权随机
  10. 数据看板
  11. 可设置令牌能调用的模型
  12. 支持Telegram授权登录。
    1. 系统设置-配置登录注册-允许通过Telegram登录
    2. @Botfather输入指令/setdomain
    3. 选择你的bot,然后输入http(s)://你的网站地址/login
    4. Telegram Bot 名称是bot username 去掉@后的字符串
  13. 添加 Suno API接口的支持,对接文档
  14. 支持Rerank模型,目前仅兼容Cohere和Jina,可接入Dify,对接文档

模型支持

此版本额外支持以下模型:

  1. 第三方模型 gps (gpt-4-gizmo-*)
  2. 智谱glm-4v,glm-4v识图
  3. Anthropic Claude 3
  4. Ollama,添加渠道时,密钥可以随便填写,默认的请求地址是http://localhost:11434,如果需要修改请在渠道中修改
  5. Midjourney-Proxy(Plus)接口,对接文档
  6. 零一万物
  7. 自定义渠道,支持填入完整调用地址
  8. Suno API 接口,对接文档
  9. Rerank模型,目前支持CohereJina对接文档
  10. Dify
  11. Vertex AI,目前兼容Claude,Gemini,Llama3.1

您可以在渠道中添加自定义模型gpt-4-gizmo-*,此模型并非OpenAI官方模型,而是第三方模型,使用官方key无法调用。

比原版One API多出的配置

渠道重试

渠道重试功能已经实现,可以在设置->运营设置->通用设置设置重试次数,建议开启缓存功能。
如果开启了重试功能,第一次重试使用同优先级,第二次重试使用下一个优先级,以此类推。

缓存设置方法

  1. REDIS_CONN_STRING:设置之后将使用 Redis 作为缓存使用。
    • 例子:REDIS_CONN_STRING=redis://default:redispw@localhost:49153
  2. MEMORY_CACHE_ENABLED:启用内存缓存(如果设置了REDIS_CONN_STRING,则无需手动设置),会导致用户额度的更新存在一定的延迟,可选值为 truefalse,未设置则默认为 false
    • 例子:MEMORY_CACHE_ENABLED=true

      为什么有的时候没有重试

      这些错误码不会重试:400,504,524

      我想让400也重试

      渠道->编辑中,将状态码复写改为

      {
      "400": "500"
      }

      可以实现400错误转为500错误,从而重试

Midjourney接口设置文档

对接文档

Suno接口设置文档

对接文档

界面截图

796df8d287b7b7bd7853b2497e7df511

image

image 夜间模式
image image

交流群

相关项目

Star History

Star History Chart