Akarin d33b802dac Squashed commit of the following:
commit 5a6a0df45dee3dfbf2f65591a79fe5f2b74a49e6
Author: Akarin <jimmyshjj@gmail.com>
Date:   Thu May 16 14:05:28 2024 +0800

    Revert "Update docker-image-amd64.yml"

    This reverts commit 581343a78783bbd779e65b476e125af0e2b64ce5.

commit a0aec1bd030da2c6b25d9541199d598f16813a60
Merge: 5b46c7d 58abb38
Author: Jiayun Shen <jimmyshjj@gmail.com>
Date:   Thu May 16 06:46:51 2024 +0800

    Merge branch 'main' of https://github.com/jimmyshjj/new-api

commit 58abb3864a89294d82f812cda9fe49ccf7e2dd91
Merge: 7d2c026 93858c3
Author: Akarin <jimmyshjj@gmail.com>
Date:   Thu May 16 06:46:00 2024 +0800

    Merge branch 'Calcium-Ion:main' into main

commit 5b46c7dd8e6132d2be3b59c7b2ed6a4b84b93cef
Author: Jiayun Shen <jimmyshjj@gmail.com>
Date:   Thu May 16 06:45:00 2024 +0800

    Update constants.go

    Remove replaced Baidu models

commit 7d2c02679cd90b8b53f4145f83969b980a8c2095
Author: Akarin <jimmyshjj@gmail.com>
Date:   Wed May 15 23:40:50 2024 +0800

    Update adaptor.go - Normalize model name to lowercase

    Baidu's official model names may include mixed case letters, but their model APIs are case-sensitive and accept only lowercase. To ensure compatibility, the default behavior has been updated to convert model names to lowercase before constructing API requests.

commit 6bc168a39d9a6194d66f2f32b175e56de9295b2e
Merge: bb9fecd 910e76a
Author: Jiayun Shen <jimmyshjj@gmail.com>
Date:   Wed May 15 21:51:52 2024 +0800

    Merge branch 'main' of https://github.com/jimmyshjj/new-api

commit 910e76ac94d7f5dca6254abb4d0669cbb762e724
Merge: 581343a ff044de
Author: Akarin <jimmyshjj@gmail.com>
Date:   Wed May 15 21:51:13 2024 +0800

    Merge branch 'Calcium-Ion:main' into main

commit bb9fecd5bf2bd9f1859a4017e7e68f80bdb6685a
Author: Jiayun Shen <jimmyshjj@gmail.com>
Date:   Wed May 15 21:50:08 2024 +0800

    update Baidu and 360 models

    Add Baidu and 360 new models. Add Baidu completion ratio

commit 581343a78783bbd779e65b476e125af0e2b64ce5
Author: Akarin <jimmyshjj@gmail.com>
Date:   Wed May 15 19:41:34 2024 +0800

    Update docker-image-amd64.yml

commit de17e2d95eec80f1eeae66e82dec4e9601cdee43
Merge: 046f653 a3b3e6c
Author: Akarin <jimmyshjj@gmail.com>
Date:   Wed May 15 19:22:09 2024 +0800

    Merge branch 'Calcium-Ion:main' into main

commit 046f6537913ae8ad8ecf21019b64c0379331b3fd
Merge: 4164d51 7b58305
Author: Akarin <jimmyshjj@gmail.com>
Date:   Wed May 15 15:32:38 2024 +0800

    Merge branch 'Calcium-Ion:main' into main

commit 4164d51207808283a18ca2728241fd5cddc4855f
Merge: ef35b07 c222bc8
Author: Akarin <jimmyshjj@gmail.com>
Date:   Wed May 15 11:19:13 2024 +0800

    Merge branch 'Calcium-Ion:main' into main

commit ef35b072824b5095ecd2d1ed7ca9fa11673da2c4
Author: Jiayun Shen <jimmyshjj@gmail.com>
Date:   Tue May 14 19:17:32 2024 +0800

    Update adaptor.go

    Update frequently used model names from Baidu official docs and support custom models
2024-05-16 14:05:44 +08:00
2024-03-25 22:55:33 +08:00
2024-05-16 14:05:44 +08:00
2024-05-01 01:37:47 +08:00
2024-05-13 23:02:35 +08:00
2023-09-03 21:46:07 +08:00
2024-05-13 23:02:35 +08:00
2024-05-16 14:05:44 +08:00
2024-05-15 20:17:27 +08:00
2024-03-02 19:58:36 +08:00
2024-03-23 21:47:51 +08:00
2024-05-15 14:18:29 +08:00
2024-05-15 14:18:29 +08:00
2024-01-08 19:48:30 +08:00
2024-03-23 19:09:09 +08:00
2024-04-17 20:47:35 +08:00
2024-03-18 00:13:37 +08:00
2023-06-22 11:37:44 +08:00
2024-04-06 20:49:34 +08:00
2023-06-02 14:20:40 +08:00

New API

Note

本项目为开源项目,在One API的基础上进行二次开发,感谢原作者的无私奉献。 使用者必须在遵循 OpenAI 的使用条款以及法律法规的情况下使用,不得用于非法用途。

Warning

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

Note

最新版Docker镜像 calciumion/new-api:latest
更新指令 docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR

主要变更

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

  1. 全新的UI界面部分界面还待更新
  2. 添加Midjourney-Proxy(Plus)接口的支持,对接文档,支持的接口如下:
    • /mj/submit/imagine
    • /mj/submit/change
    • /mj/submit/blend
    • /mj/submit/describe
    • /mj/image/{id} (通过此接口获取图片,请必须在系统设置中填写服务器地址!!
    • /mj/task/{id}/fetch 此接口返回的图片地址为经过One API转发的地址
    • /task/list-by-condition
    • /mj/submit/action 仅midjourney-proxy-plus支持下同
    • /mj/submit/modal
    • /mj/submit/shorten
    • /mj/task/{id}/image-seed
    • /mj/insight-face/swap InsightFace
  3. 支持在线充值功能,可在系统设置中设置,当前支持的支付接口:
    • 易支付
  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 去掉@后的字符串

模型支持

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

  1. 第三方模型 gps gpt-4-gizmo-*
  2. 智谱glm-4vglm-4v识图
  3. Anthropic Claude 3 (claude-3-opus-20240229, claude-3-sonnet-20240229)
  4. Ollama,添加渠道时,密钥可以随便填写,默认的请求地址是http://localhost:11434,如果需要修改请在渠道中修改
  5. Midjourney-Proxy(Plus)接口,对接文档
  6. 零一万物

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

渠道重试

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

缓存设置方法

  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

部署

基于 Docker 进行部署

# 使用 SQLite 的部署命令:
docker run --name new-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest
# 使用 MySQL 的部署命令,在上面的基础上添加 `-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi"`,请自行修改数据库连接参数。
# 例如:
docker run --name new-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /home/ubuntu/data/new-api:/data calciumion/new-api:latest

使用宝塔面板Docker功能部署

# 使用 SQLite 的部署命令:
docker run --name new-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /www/wwwroot/new-api:/data calciumion/new-api:latest
# 使用 MySQL 的部署命令,在上面的基础上添加 `-e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi"`,请自行修改数据库连接参数。
# 例如:
# 注意数据库要开启远程访问并且只允许服务器IP访问
docker run --name new-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(宝塔的服务器地址:宝塔数据库端口)/宝塔数据库名称" -e TZ=Asia/Shanghai -v /www/wwwroot/new-api:/data calciumion/new-api:latest
# 注意数据库要开启远程访问并且只允许服务器IP访问

Midjourney接口设置文档

对接文档

交流群

界面截图

image

image

image
image
image image 夜间模式
image

image
image

相关项目

Star History

Star History Chart

Description
No description provided
Readme 26 MiB
Languages
JavaScript 54.5%
Go 44.6%
CSS 0.7%