【实战】用 NewAPI 自建 LLM 代理网关,接入 DeepSeek-V4

发布时间:2026/7/5 8:47:10
【实战】用 NewAPI 自建 LLM 代理网关,接入 DeepSeek-V4 【实战】用 NewAPI 自建 LLM 代理网关接入 DeepSeek-V4本文记录从零部署 NewAPI 并接入 DeepSeek-V4 模型的完整过程包含环境配置、部署步骤、接口调用及踩坑解决方案。一、背景为什么需要自建 LLM 代理网关在使用 AI 工具的过程中我遇到了几个痛点API 密钥管理混乱多个项目、多个模型需要不同的 API Key难以统一管理成本控制困难直接用官方 API无法精确统计各项目的 token 消耗模型切换成本高不同厂商的 API 格式不统一切换模型需要改代码隐私顾虑敏感数据直接发给第三方存在数据泄露风险NewAPI 是一个开源的 LLM API 代理网关可以解决以上问题✅ 统一 API 格式兼容 OpenAI 格式✅ 支持多模型、多密钥负载均衡✅ 提供 Token 统计、日志记录✅ 支持自托管数据完全可控二、环境准备2.1 基础环境我的部署环境组件版本/配置服务器阿里云 ECS美国区操作系统Ubuntu 22.04 LTSDocker24.0.x内存4GB建议存储40GB2.2 依赖检查确保服务器已安装检查 Dockerdocker --version检查 Docker Composedocker-compose --version如果没有先安装curl -fsSL https://get.docker.com | sh三、NewAPI 部署步骤3.1 拉取项目代码克隆 NewAPI 仓库git clone https://github.com/Calcium-Ion/new-api.gitcd new-api查看最新版本git taggit checkout v1.x.x # 替换为最新版本号3.2 配置环境变量创建 .env 文件复制示例配置cp .env.example .env编辑配置文件vim .env关键配置项说明服务端口PORT3000数据库连接SQL_DSNroot:passwordtcp(127.0.0.1:3306)/newapi?charsetutf8mb4parseTimeTruelocLocalRedis 缓存可选但建议配置REDIS_CONN_STRINGredis://localhost:6379管理员账号ADMIN_ACCOUNTadminADMIN_PASSWORDyour_secure_password_here令牌密钥务必修改JWT_SECRET_KEYyour_random_secret_key_here3.3 启动服务使用 Docker Compose 启动docker-compose up -d查看运行状态docker-compose ps查看日志docker-compose logs -f预期输出NAME COMMAND SERVICE STATUS PORTSnew-api “/main” new-api running 0.0.0.0:3000-3000/tcpmysql “docker-entrypoint.s…” mysql running 3306/tcpredis “docker-entrypoint.s…” redis running 6379/tcp3.4 初始化数据库访问 http://your-server-ip:3000首次访问会自动初始化数据库。四、接入 DeepSeek-V4 模型4.1 获取 DeepSeek API Key访问 DeepSeek 开放平台注册账号并登录进入API Keys页面创建新的 API Key妥善保存只显示一次4.2 在 NewAPI 中添加渠道登录 NewAPI 管理后台http://your-server-ip:3000进入渠道 → “添加渠道”填写配置渠道类型: DeepSeek渠道名称: DeepSeek-V4API Key: sk-xxxxxxxxxxxxxxxxxxxx自定义模型: deepseek-v4-pro模型列表:deepseek-v4-pro点击测试按钮确认连接正常保存配置4.3 获取 NewAPI 的访问令牌进入令牌页面点击添加令牌设置令牌名称和额度限制复制生成的令牌格式sk-xxxxx五、调用接口测试5.1 使用 curl 测试curl -X POST http://your-server-ip:3000/v1/chat/completions-H “Content-Type: application/json”-H “Authorization: Bearer sk-your_newapi_token”-d ‘{“model”: “deepseek-v4-pro”,“messages”: [{“role”: “user”,“content”: “你好请介绍一下你自己”}],“temperature”: 0.7,“max_tokens”: 1000}’5.2 使用 Python 测试import openai配置客户端client openai.OpenAI(api_key“sk-your_newapi_token”,base_url“http://your-server-ip:3000/v1”)调用模型response client.chat.completions.create(model“deepseek-v4-pro”,messages[{“role”: “system”, “content”: “你是一个专业的技术助手”},{“role”: “user”, “content”: “用 Python 写一个快速排序”}],temperature0.7,max_tokens2000)print(response.choices[0].message.content)5.3 在 WorkBuddy 中配置如果你使用 WorkBuddy或其他 AI 工具可以这样配置{“model”: “deepseek-v4-pro”,“baseURL”: “http://your-server-ip:3000/v1”,“apiKey”: “sk-your_newapi_token”}六、踩坑记录坑 1DeepSeek-V4 模型名称错误问题添加渠道时模型名称填写错误导致调用失败。错误信息Error: Model deepseek-v4 not found解决方案DeepSeek-V4 的正确模型名称是 deepseek-v4-pro不是 deepseek-v4在 NewAPI 的渠道配置中自定义模型和模型列表要保持一致坑 2令牌额度用尽问题调用接口时返回 402 错误。错误信息{“error”: {“message”: “额度已用尽”,“type”: “insufficient_quota”}}解决方案进入令牌页面编辑对应令牌增加剩余额度NewAPI 的额度是虚拟的用于多租户管理或者设置无限制不推荐生产环境坑 3跨域问题CORS问题前端直接调用 NewAPI 接口时浏览器报 CORS 错误。解决方案在 NewAPI 配置中启用 CORS在 .env 文件中添加CORS_ALLOW_ORIGINS*或者更安全的配置CORS_ALLOW_ORIGINShttps://your-frontend-domain.com坑 4数据库连接失败问题Docker 启动后NewAPI 无法连接 MySQL。错误信息Error 1045 (28000): Access denied for user ‘root’‘localhost’解决方案检查 .env 中的 SQL_DSN 配置确保 MySQL 容器已启动docker-compose up -d mysql检查 MySQL root 密码是否正确手动测试数据库连接docker exec -it new-api-mysql-1 mysql -uroot -p七、进阶配置7.1 配置负载均衡如果有多个 DeepSeek API Key可以配置负载均衡在渠道页面添加多个 DeepSeek 渠道设置相同的优先级NewAPI 会自动轮询调用7.2 配置模型映射如果想用 OpenAI 的模型名称调用 DeepSeek可以配置模型映射模型映射:gpt-4: deepseek-v4-progpt-3.5-turbo: deepseek-chat这样代码中调用 gpt-4实际会使用 deepseek-v4-pro。7.3 配置日志记录在 .env 中启用详细日志LOG_LEVELdebugLOG_SQLtrue # 记录 SQL 查询调试用八、安全建议⚠️ 重要自建网关涉及 API Key 和敏感数据务必注意安全。8.1 使用 HTTPS不要直接用 HTTP 暴露接口建议使用 Nginx 反向代理配置 SSL 证书可以用 Let’s Encrypt 免费证书示例 Nginx 配置server {listen 443 ssl;server_name api.your-domain.com;ssl_certificate /path/to/cert.pem;ssl_certificate_key /path/to/key.pem;location / {proxy_pass http://localhost:3000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}}8.2 设置访问白名单在 Nginx 层面限制访问 IPallow 1.2.3.4; # 你的服务器 IPallow 5.6.7.8; # 你的办公网络 IPdeny all;8.3 定期备份备份数据库和配置文件备份 MySQLdocker exec new-api-mysql-1 mysqldump -uroot -p newapi backup_$(date %Y%m%d).sql备份配置文件tar -czf config_backup_$(date %Y%m%d).tar.gz .env docker-compose.yml九、总结通过本文的步骤我们完成了✅ 部署 NewAPI 代理网关✅ 接入 DeepSeek-V4 模型✅ 测试接口调用✅ 解决常见踩坑问题✅ 配置安全加固关键要点NewAPI 是管理多模型 API 的利器特别适合需要统一接口格式的场景DeepSeek-V4 的模型名称是 deepseek-v4-pro不要写错生产环境务必配置 HTTPS 和访问限制定期备份配置和数据库延伸思考除了 DeepSeekNewAPI 还支持 Claude、Gemini、文心一言等主流模型可以结合 Prometheus Grafana 做 Token 消耗监控多租户场景下可以用 NewAPI 做内部 AI 能力的统一出口如果对你有帮助欢迎点赞收藏 有问题请在评论区留言我会认真回复 ⬇️参考资料NewAPI 官方文档DeepSeek 开放平台OpenAI API 格式说明作者Daniel Luo发布时间2026-07-03标签#NewAPI #DeepSeek-V4 #LLM #自托管 #AI工具