找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

679

积分

0

好友

91

主题
发表于 4 小时前 | 查看: 0| 回复: 0

随着AI大模型生态日益丰富,管理来自不同供应商的模型API密钥与调用接口变得愈发复杂。你是否也在寻找一个能够统一管理OpenAI、Claude、Gemini等多种模型的解决方案?new-api 正是这样一个基于 One API 二次开发的新一代AI模型聚合与中转系统,它能将繁杂的模型接口统一化,非常适合个人开发者或团队内部搭建私有的模型服务网关。

本文将详细介绍如何从零开始,通过Docker Compose快速部署new-api系统,帮助你少踩坑,顺利上线自己的AI模型管理平台。如果你对 云原生容器化 部署感兴趣,可以在云栈社区云原生/IaaS 板块找到更多相关讨论与资源。

一、new-api 核心能力简介

在开始部署之前,我们先了解一下new-api能为我们做什么:

  • 🔄 多模型统一API调用:使用兼容OpenAI的API格式,即可调用Claude、Gemini、Azure OpenAI等多种后端模型。
  • 🎞 集中化管理:在一个面板内管理所有模型的API密钥、渠道和配置。
  • 📊 精细化控制:支持Token额度统计、计费、以及基于分组的权限控制。
  • 🔐 部署简便:原生支持 DockerDocker Compose,一条命令即可启动。

项目地址https://github.com/QuantumNous/new-api

二、部署前的准备工作

1️⃣ 基础环境要求

  • 操作系统:Linux服务器(推荐Ubuntu/CentOS等主流发行版)。
  • 必备软件:确保已安装最新版的 DockerDocker Compose(v2及以上版本)。
  • 硬件资源:建议至少1GB内存,2GB或以上运行更稳定。

2️⃣ 网络端口规划

new-api的默认Web服务端口是3000。如果你计划通过Nginx进行反向代理,可以将其配置为仅监听本地回环地址(127.0.0.1)。

三、使用Docker Compose部署(推荐方案)

这是最快捷、最标准的部署方式,利用容器化技术隔离环境依赖。

1️⃣ 克隆项目代码

首先,通过git命令将项目代码拉取到服务器上:

git clone https://github.com/QuantumNous/new-api.git
cd new-api

2️⃣ 编辑docker-compose.yml配置文件

项目根目录下通常已有docker-compose.yml示例文件。以下是一个使用SQLite数据库的简约配置,非常适合个人或小团队使用:

version: "3.9"

services:
  new-api:
    image: calciumion/new-api:latest
    container_name: new-api
    restart: always
    ports:
      - "3000:3000"
    environment:
      TZ: Asia/Shanghai
    volumes:
      - ./data:/data

配置说明

  • ./data:/data:这个卷挂载至关重要!它将容器内的数据目录(包括SQLite数据库、配置文件等)持久化到宿主机的./data文件夹下,确保容器重启后数据不丢失。
  • 数据库:此配置使用默认的SQLite,无需额外安装和配置数据库服务。

3️⃣ 启动服务

执行以下命令,以守护进程模式启动所有服务:

docker compose up -d

4️⃣ 验证服务状态

启动后,可以通过以下命令检查容器是否正常运行:

docker ps

你应该能看到名为new-api的容器处于“Up”状态。

四、首次访问与系统初始化

1️⃣ 访问管理后台

在浏览器中输入:http://你的服务器IP地址:3000

2️⃣ 初始化流程

  • 首次访问时,系统会自动初始化数据库。
  • 页面将引导你创建第一个管理员账号(设置用户名和密码)。
  • 创建完成后,即可登录进入new-api的主控制台。

五、常用进阶配置说明

🔹 使用MySQL数据库(可选)

对于需要更高稳定性或多实例部署的生产环境,推荐使用MySQL替代默认的SQLite。只需在docker-compose.yml中修改new-api服务的环境变量:

environment:
  TZ: Asia/Shanghai
  SQL_DSN: "root:你的密码@tcp(mysql:3306)/oneapi?charset=utf8mb4&parseTime=True&loc=Local"

同时,你需要在docker-compose.yml中定义并链接一个MySQL服务。请注意:数据库字符集务必使用utf8mb4以支持完整的UTF-8编码。

🔹 其他常用环境变量

变量名 说明
SESSION_SECRET 用于加密会话的密钥,在多实例部署时必须设置
SQL_DSN 连接MySQL数据库的字符串(使用MySQL时配置)
STREAMING_TIMEOUT 流式响应超时时间(单位:秒)
MAX_REQUEST_BODY_MB 允许的请求体最大大小(单位:MB)

更多环境变量的详细说明,请查阅官方文档:https://docs.newapi.pro/zh/docs/installation/config-maintenance/environment-variables

六、配置反向代理(Nginx示例)

为了让服务可以通过域名访问并启用HTTPS,通常需要配置Nginx反向代理。以下是一个基本的HTTP代理配置示例:

server {
    listen 80;
    server_name api.yourdomain.com; # 替换为你的域名

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

配置完成后,重载Nginx即可。强烈建议后续使用Let‘s Encrypt等工具为域名配置HTTPS,以保障通信安全。

七、部署完成后可以做什么?

系统就绪后,你便可以开始发挥它的强大功能:

  1. 添加模型渠道:在后台添加你的OpenAI、Claude、Gemini等API密钥。
  2. 管理令牌与权限:创建不同的Token,并为其分配可访问的模型组,实现精细化的权限控制。
  3. 统一API调用:所有应用(如自研项目、聊天机器人、插件)都只需调用new-api提供的统一API端点。
  4. 数据监控:在控制台查看额度使用情况、请求日志和统计分析。

八、常见问题解答 (FAQ)

Q:Docker容器重启后,我之前配置的数据会丢失吗?
A: 只要在docker-compose.yml中正确配置了卷挂载(./data:/data),所有数据都会持久化在宿主机上,容器重启不会造成数据丢失。

Q:这个系统适合个人开发者使用吗?
A: 非常适合。使用SQLite数据库的Docker Compose方案,资源占用低、部署简单,完全可以稳定支撑个人项目或小型团队的AI应用开发需求。对于更复杂的数据管理场景,可以考虑切换到 MySQL 等专业数据库。

结语

new-api作为一个成熟的开源AI模型网关方案,极大地简化了多模型API的管理与调用复杂度。其低成本的部署方式(尤其是 Docker Compose 方案)和强大的扩展性,使其成为构建内部AI应用平台或集成智能能力的优秀选择。

无论是用于管理个人的AI实验项目,还是作为团队内部的统一模型服务中间件,这套方案都值得你尝试。希望这篇部署指南能帮助你快速搭建起自己的AI模型聚合平台。




上一篇:深度解析Google Agent:从核心推理到自我进化的五级能力跃迁
下一篇:B站百大盛典直播崩溃分析:顶级架构师如何规避雪崩与重试风暴
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-25 21:40 , Processed in 0.411742 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表