[!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
此分叉版本的主要变更如下:
此版本额外支持以下模型:
您可以在渠道中添加自定义模型gpt-4-gizmo-*,此模型并非OpenAI官方模型,而是第三方模型,使用官方key无法调用。
GENERATE_DEFAULT_TOKEN
:是否为新注册用户生成初始令牌,默认为 false
。STREAMING_TIMEOUT
:设置流式一次回复的超时时间,默认为 30 秒。DIFY_DEBUG
:设置 Dify 渠道是否输出工作流和节点信息到客户端,默认为 true
。FORCE_STREAM_OPTION
:是否覆盖客户端stream_options参数,请求上游返回流模式usage,默认为 true
,建议开启,不影响客户端传入stream_options参数返回结果。GET_MEDIA_TOKEN
:是统计图片token,默认为 true
,关闭后将不再在本地计算图片token,可能会导致和上游计费不同,此项覆盖 GET_MEDIA_TOKEN_NOT_STREAM
选项作用。GET_MEDIA_TOKEN_NOT_STREAM
:是否在非流(stream=false
)情况下统计图片token,默认为 true
。UPDATE_TASK
:是否更新异步任务(Midjourney、Suno),默认为 true
,关闭后将不会更新任务进度。GEMINI_MODEL_MAP
:Gemini模型指定版本(v1/v1beta),使用“模型:版本”指定,","分隔,例如:-e GEMINI_MODEL_MAP="gemini-1.5-pro-latest:v1beta,gemini-1.5-pro-001:v1beta",为空则使用默认配置COHERE_SAFETY_SETTING
:Cohere模型安全设置,可选值为 NONE
, CONTEXTUAL
,STRICT
,默认为 NONE
。
/data
目录到宿主机)# 使用 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访问
渠道重试功能已经实现,可以在设置->运营设置->通用设置
设置重试次数,建议开启缓存功能。
如果开启了重试功能,第一次重试使用同优先级,第二次重试使用下一个优先级,以此类推。
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错误,从而重试
夜间模式