中文 | English
🍥新一代大模型网关与AI资产管理系统
<img src="https://img.shields.io/github/license/Calcium-Ion/new-api?color=brightgreen" alt="license">
<img src="https://img.shields.io/github/v/release/Calcium-Ion/new-api?color=brightgreen&include_prereleases" alt="release">
<img src="https://img.shields.io/badge/docker-ghcr.io-blue" alt="docker">
<img src="https://img.shields.io/badge/docker-dockerHub-blue" alt="docker">
<img src="https://goreportcard.com/badge/github.com/Calcium-Ion/new-api" alt="GoReportCard">
[!NOTE]
本项目为开源项目,在One API的基础上进行二次开发[!IMPORTANT]
- 使用者必须在遵循 OpenAI 的使用条款以及法律法规的情况下使用,不得用于非法用途。
- 本项目仅供个人学习使用,不保证稳定性,且不提供任何技术支持。
- 根据《生成式人工智能服务管理暂行办法》的要求,请勿对中国地区公众提供一切未经备案的生成式人工智能服务。
-high 设置为 high reasoning effort (例如: o3-mini-high)-medium 设置为 medium reasoning effort (例如: o3-mini-medium)-low 设置为 low reasoning effort (例如: o3-mini-low)-thinking 启用思考模式 (例如: claude-3-7-sonnet-20250219-thinking)渠道-编辑-渠道额外设置 中设置 thinking_to_content 选项,默认false,开启后会将思考内容reasoning_content转换为<think>标签拼接到内容中返回。系统设置-速率限制设置 中设置模型限流,支持设置总请求数限制和成功请求数限制此版本额外支持以下模型:
您可以在渠道中添加自定义模型gpt-4-gizmo-*,此模型并非OpenAI官方模型,而是第三方模型,使用官方key无法调用。
GENERATE_DEFAULT_TOKEN:是否为新注册用户生成初始令牌,默认为 false。STREAMING_TIMEOUT:设置流式一次回复的超时时间,默认为 60 秒。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,关闭后将不会更新任务进度。COHERE_SAFETY_SETTING:Cohere模型安全设置,可选值为 NONE, CONTEXTUAL, STRICT,默认为 NONE。GEMINI_VISION_MAX_IMAGE_NUM:Gemini模型最大图片数量,默认为 16,设置为 -1 则不限制。MAX_FILE_DOWNLOAD_MB: 最大文件下载大小,单位 MB,默认为 20。CRYPTO_SECRET:加密密钥,用于加密数据库内容。AZURE_DEFAULT_API_VERSION:Azure渠道默认API版本,如果渠道设置中未指定API版本,则使用此版本,默认为 2024-12-01-previewNOTIFICATION_LIMIT_DURATION_MINUTE:通知限制的持续时间(分钟),默认为 10。NOTIFY_LIMIT_COUNT:用户通知在指定持续时间内的最大数量,默认为 2。GEMINI_MODEL_MAP(已废弃)设置-模型相关设置中设置GEMINI_SAFETY_SETTING(已废弃)设置-模型相关设置中设置[!TIP] 最新版Docker镜像:
calciumion/new-api:latest
默认账号root 密码123456
SESSION_SECRET,否则会导致多机部署时登录状态不一致。CRYPTO_SECRET,否则会导致多机部署时Redis内容无法获取。/data 目录到宿主机)安装宝塔面板 (9.2.0版本及以上),前往 宝塔面板 官网,选择正式版的脚本下载安装
安装后登录宝塔面板,在菜单栏中点击 Docker ,首次进入会提示安装 Docker 服务,点击立即安装,按提示完成安装
安装完成后在应用商店中找到 New-API ,点击安装,配置基本选项 即可完成安装
图文教程
[!TIP] 默认管理员账号root 密码123456
# 下载项目
git clone https://github.com/Calcium-Ion/new-api.git
cd new-api
# 按需编辑 docker-compose.yml
# nano docker-compose.yml
# vim docker-compose.yml
# 启动
docker-compose up -d
docker-compose pull
docker-compose up -d
# 使用 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 pull calciumion/new-api:latest
# 停止并删除旧容器
docker stop new-api
docker rm new-api
# 使用相同参数运行新容器
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
或者使用 Watchtower 自动更新(不推荐,可能会导致数据库不兼容):
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR
渠道重试功能已经实现,可以在设置->运营设置->通用设置设置重试次数,建议开启缓存功能。
如果开启了重试功能,第一次重试使用同优先级,第二次重试使用下一个优先级,以此类推。
REDIS_CONN_STRING:设置之后将使用 Redis 作为缓存使用。
REDIS_CONN_STRING=redis://default:redispw@localhost:49153MEMORY_CACHE_ENABLED:启用内存缓存(如果设置了REDIS_CONN_STRING,则无需手动设置),会导致用户额度的更新存在一定的延迟,可选值为 true 和 false,未设置则默认为 false。
例子:MEMORY_CACHE_ENABLED=true
这些错误码不会重试:400,504,524
在渠道->编辑中,将状态码复写改为
{
"400": "500"
}
可以实现400错误转为500错误,从而重试
其他基于New API的项目: