DeepSeek本地部署,通过One‑API对外提供服务完整

很多团队想用DeepSeek的私有化能力,又不希望每个业务都直接对接底层模型端口。
比较通用的做法是:先在服务器上把DeepSeek跑起来,再用One-API做统一对外接口,这样上层只需要拿OpenAI格式的 key 就能调用。
本文会从零开始,把环境准备、本地部署、One-API接入和踩坑验证一次讲完,照着操作就能跑通。

先把环境准备好

部署前先确认三件事:

  • 显卡与显存:推荐NVIDIA GPU,显存8GB以上可跑7B量化模型,跑14B以上建议24GB显存。纯CPU也能跑,但速度会很慢,只适合体验。
  • 操作系统:Ubuntu 22.04 / Debian 12 均可,本文以Ubuntu为例;需要预装Docker和NVIDIA Container Toolkit,如果只用Ollama不装Docker也可以。
  • 磁盘空间:模型文件不小,7B量化约4-6GB,14B约9-12GB,请提前留出足够空间。

建议安装NVIDIA驱动后,用 nvidia-smi 确认驱动正常,再继续后面的操作。

本地部署DeepSeek并启动模型服务

这里用Ollama做模型运行工具,对新手最友好,一条命令就能装好。

curl -fsSL https://ollama.com/install.sh | sh

安装完成后,拉取DeepSeek模型。
以7B量化版为例:

ollama pull deepseek-r1:7b

下载完成后,启动Ollama服务:

ollama serve

默认监听 127.0.0.1:11434,先本地测试一下:

curl http://localhost:11434/api/chat -d '{"model":"deepseek-r1:7b","messages":[{"role":"user","content":"你好"}]}'

能正常返回内容,说明DeepSeek已经跑起来了。
随后把它接入One-API。

安装One-API并添加DeepSeek渠道

One-API可以用Docker快速部署,执行:

docker run --name one-api -d --restart always \
  -p 3000:3000 \
  -e TZ=Asia/Shanghai \
  -v /data/one-api:/data \
  justsong/one-api

启动后,浏览器打开 http://服务器IP:3000,初始账号密码是 root / 123456,首次登录后记得立即修改。

进入后台后,在“渠道”里新建一个渠道:

  • 类型:选 Ollama(如果没有就选OpenAI兼容,地址填Ollama地址)
  • 地址:http://host.docker.internal:11434http://172.17.0.1:11434,具体取决于容器网络
  • 密钥:Ollama本身不校验,随便填一个,比如 ollama
  • 模型:填写 deepseek-r1:7b,多个模型用逗号分隔

如果你是把Ollama和One-API装在同一台机器上,注意不要写 localhost,因为Docker容器里的 localhost 指向容器本身。
最简单的办法是让One-API容器跑在host网络:

docker run --name one-api -d --restart always --network host \
  -e TZ=Asia/Shanghai \
  -v /data/one-api:/data \
  justsong/one-api

这样渠道地址直接填 http://127.0.0.1:11434 即可。

通过One-API调用DeepSeek接口

添加渠道后,在“令牌”里生成一个访问令牌,然后就可以用OpenAI SDK或curl调用One-API暴露的地址。

curl http://服务器IP:3000/v1/chat/completions \
  -H "Authorization: Bearer 你的令牌" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-r1:7b","messages":[{"role":"user","content":"写一段Python代码"}]}'

如果返回正常的内容结构,说明整个链路已经通了。
之后你只需要把API地址改成 http://OneAPI服务器:3000,key换成One-API的令牌,就能直接服务业务。

容易踩的坑和验证建议

很多人在这个环节遇到问题,这里列几个高频坑:

  • Ollama没监听外网:Ollama默认只监听127.0.0.1,如果One-API在另一台机器,需要设置 OLLAMA_HOST=0.0.0.0 再启动。
  • Docker网络不通:One-API容器内访问宿主机,推荐用 --network host 方式,省去容器网络配置。
  • 模型名称不一致:One-API渠道里的模型名必须和Ollama里的完全一致,可以执行 ollama list 查看。
  • 请求超时:DeepSeek生成长文较慢,建议在One-API中适当调大超时时间,或让业务端降低报错容忍度。

验证时除了看返回内容,还可以在One-API后台的“日志”里查看请求详情。
如果渠道显示红色异常,先检查网络地址和模型名是否写对。

按上面的步骤操作,DeepSeek本地部署并通过One-API对外服务应该能顺利跑通。
如果你用的是云服务器,记得在安全组放行3000端口,但不要无限制放行11434端口。
后续想换模型或加其他服务商渠道,直接在One-API后台继续添加即可。

分享到:
上一篇
中转网关实现速率限制区分:免费用户/付费用户不同QPS
下一篇
公网暴露llama.cpp实例风险
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意