Warning
本项目为个人学习使用,不保证稳定性,且不提供任何技术支持,使用者必须在遵循 OpenAI 的使用条款以及法律法规的情况下使用,不得用于非法用途。
根据《生成式人工智能服务管理暂行办法》的要求,请勿对中国地区公众提供一切未经备案的生成式人工智能服务。
Note
最新版Docker镜像 calciumion/new-api:latest
更新指令 docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR
此分叉版本的主要变更如下:
- 全新的UI界面(部分界面还待更新)
- 添加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)
- 支持在线充值功能,可在系统设置中设置,当前支持的支付接口:
- 易支付
- 支持用key查询使用额度:
- 配合项目neko-api-key-tool可实现用key查询使用
- 渠道显示已使用额度,支持指定组织访问
- 分页支持选择每页显示数量
- 兼容原版One API的数据库,可直接使用原版数据库(one-api.db)
- 支持模型按次数收费,可在 系统设置-运营设置 中设置
- 支持渠道加权随机
- 数据看板
- 可设置令牌能调用的模型
- 支持Telegram授权登录。
- 系统设置-配置登录注册-允许通过Telegram登录
- 对@Botfather输入指令/setdomain
- 选择你的bot,然后输入http(s)://你的网站地址/login
- Telegram Bot 名称是bot username 去掉@后的字符串
此版本额外支持以下模型:
- 第三方模型 gps (gpt-4-gizmo-*)
- 智谱glm-4v,glm-4v识图
- Anthropic Claude 3 (claude-3-opus-20240229, claude-3-sonnet-20240229)
- Ollama,添加渠道时,密钥可以随便填写,默认的请求地址是http://localhost:11434,如果需要修改请在渠道中修改
- Midjourney-Proxy(Plus)接口,对接文档
- 零一万物
- 自定义渠道,支持填入完整调用地址
您可以在渠道中添加自定义模型gpt-4-gizmo-*,此模型并非OpenAI官方模型,而是第三方模型,使用官方key无法调用。
渠道重试功能已经实现,可以在设置->运营设置->通用设置
设置重试次数,建议开启缓存功能。
如果开启了重试功能,第一次重试使用同优先级,第二次重试使用下一个优先级,以此类推。
REDIS_CONN_STRING
:设置之后将使用 Redis 作为缓存使用。- 例子:
REDIS_CONN_STRING=redis://default:redispw@localhost:49153
- 例子:
MEMORY_CACHE_ENABLED
:启用内存缓存(如果设置了REDIS_CONN_STRING
,则无需手动设置),会导致用户额度的更新存在一定的延迟,可选值为true
和false
,未设置则默认为false
。- 例子:
MEMORY_CACHE_ENABLED=true
- 例子:
这些错误码不会重试:400,504,524
在渠道->编辑
中,将状态码复写
改为
{
"400": "500"
}
可以实现400错误转为500错误,从而重试
# 使用 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
# 使用 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访问
默认账号root 密码123456
- One API:原版项目
- Midjourney-Proxy:Midjourney接口支持
- chatnio:下一代 AI 一站式 B/C 端解决方案
- neko-api-key-tool:用key查询使用额度