ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

本地化部署 deepseek-r1 实战:用 Ollama 拉取 models 并接入 TaoToken 统一 API 通道

本地化部署 deepseek-r1 实战:用 Ollama 拉取 models 并接入 TaoToken 统一 API 通道 1. 本地跑 deepseek-r1 之后为什么还要接一层统一 API很多人把 deepseek-r1 拉下来、ollama run能对话就觉得本地化部署已经结束了。我一开始也这么想直到同时开着三四个工具命令行里跑一个、桌面客户端里配一个、写代码的编辑器插件里再填一个地址。每个工具都要单独填http://127.0.0.1:11434模型名还要手打deepseek-r1:14b改一次端口就得挨个改一遍配置散得到处都是。这篇要解决的就是这个收尾问题本地用 Ollama 把 deepseek-r1 系列 models 跑起来再通过一套统一的 Key 和 API 通道接入 TaoToken让本地模型和云端模型走同一个入口。这样你换工具时只认一个地址、一个 Key不用再记每个客户端各自的配置格式。适合谁看已经装好 Ollama、能跑通ollama run deepseek-r1:7b但被多工具配置分散折腾过的人或者想给本地模型加一层统一网关、方便后续接 Coding Plan 或 Agent 的人。全程命令可直接复制配置片段按你的系统改路径即可。先说清楚链路Ollama 负责在本机加载并推理 deepseek-r1监听一个本地端口TaoToken 作为统一 API 通道对外提供一致的调用格式和 Key 管理。你要做的是把 Ollama 的本地服务暴露好再把 TaoToken 的接入信息填进客户端最后用 curl 验证一次请求能通。2. 前置准备Ollama 环境变量与 models 目录Ollama 默认把模型存在系统盘deepseek-r1 从 1.5b 到 70b 体积跨度很大系统盘很容易被撑满。所以第一步不是急着拉模型而是先把 models 存储位置挪到大盘上。Linux 下 Ollama 以 systemd 服务运行改配置要动 service 文件sudo vim /etc/systemd/system/ollama.service在[Service]段落下面加一行把路径换成你自己的大盘目录[Service] EnvironmentOLLAMA_MODELS/data/ollama_models EnvironmentOLLAMA_HOST0.0.0.0:11434OLLAMA_HOST这行是让 Ollama 监听所有网卡方便同一台机器上的其他工具或局域网客户端访问。改完重载并重启sudo systemctl daemon-reload sudo systemctl restart ollama sudo systemctl status ollama如果启动失败用journalctl -u ollama -n 50看最近日志最常见的就是目标目录没权限。给目录授权后再重启sudo mkdir -p /data/ollama_models sudo chown -R ollama:ollama /data/ollama_modelsWindows 下不用改 service直接在系统环境变量里新增OLLAMA_MODELS值填比如D:\ollama_models然后重启 Ollama 托盘程序。验证是否生效可以拉一个小模型看文件是否落到新目录。模型选择上给个参考1.5b 约 1.1GB7b 约 4.7GB14b 约 9GB32b 和 70b 对内存和显存要求陡增。我实测下来14b 在 36G 内存的机器上能跑但偏慢7b 和 8b 是速度和质量的平衡点。先拉一个小的验证链路别一上来就 70b。ollama pull deepseek-r1:7b ollama run deepseek-r1:7b能正常对话说明本地推理这一层已经通了。3. 可复制配置settings.json 与 config.toml 骨架接下来是接入 TaoToken 统一通道。核心思路是客户端不再直接指向127.0.0.1:11434而是指向 TaoToken 的 API 地址由统一通道来管理 Key 和路由。你需要先在 TaoToken 控制台拿到 API Key。控制台入口在这里登录后创建 Keyhttps://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite创建完 Key去 API Keys 页面可以随时查看和轮换https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite接入文档里有各客户端的完整字段说明配置前建议对照一遍https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite下面给两个常见配置骨架。第一个是类 OpenAI 格式客户端的settings.json片段把 base_url 和 api_key 换成你的{ provider: openai-compatible, base_url: https://taotoken.net/api, api_key: sk-你的TaoToken密钥, model: deepseek-r1:7b, timeout: 120, extra_headers: { X-Local-Backend: ollama } }第二个是config.toml骨架适合用 TOML 管理配置的工具[provider] name taotoken base_url https://taotoken.net/api api_key sk-你的TaoToken密钥 [model] name deepseek-r1:7b max_tokens 4096 temperature 0.6 [local] ollama_host http://127.0.0.1:11434 models_dir /data/ollama_models注意base_url用https://taotoken.net/api不要带 UTM 参数那是给网页链接用的API 请求带上反而可能出问题。模型名要和 Ollama 里ollama list显示的一致比如deepseek-r1:7b写错了会返回模型不存在。如果你后续要做长期编码或接 Agent建议直接看 Coding Plan它把常用编码模型的额度打包好了省得自己一个个配https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite4. 验证请求curl 打通本地到统一通道配置填完别急着开客户端先用 curl 验证一次能快速定位是网络问题还是配置问题。先确认 Ollama 本地服务活着curl http://127.0.0.1:11434/api/generate -d { model: deepseek-r1:7b, prompt: 用一句话说明 systemctl 和 journalctl 的区别, stream: false }正常返回是一段 JSONresponse字段里是模型输出。如果这里就报连接拒绝说明 Ollama 没起来或端口不对先回去看systemctl status ollama。本地通了之后再验证 TaoToken 统一通道。用 OpenAI 兼容格式发一次对话请求curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: deepseek-r1:7b, messages: [ {role: user, content: 你好确认通道是否正常} ], stream: false }返回结构里会有choices[0].message.content看到正常文本就说明统一通道打通了。如果返回 401检查 Key 有没有复制全、有没有多余空格返回 404检查base_url是不是写成了带路径的完整地址返回超时把timeout调大本地模型首次加载会慢。想直接在网页里试模型效果可以用模型对话页面不用写代码就能验证同一个 Key 是否可用https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel-chatutm_campaignrewrite5. 本篇常见错排查Ollama 启动失败日志报 permission denied。这是改OLLAMA_MODELS后最常见的问题。新目录属主不是 ollama 用户服务没权限写。执行sudo chown -R ollama:ollama /data/ollama_models后重启。别用chmod 777图省事权限开太大反而有风险。客户端里模型名对不上。Ollama 里ollama list显示的是deepseek-r1:7b但有些客户端要求填deepseek-r1不带 tag或者反过来。以ollama list的输出为准原样复制。带 tag 和不带 tag 在 Ollama 里是两个不同的引用。统一通道返回模型不存在。说明 TaoToken 侧没有识别到这个模型名。确认你填的模型名和本地拉取的完全一致并且本地 Ollama 服务在跑。如果本地服务没起通道转发过去也会失败。curl 本地通、通道不通。大概率是 Key 或 base_url 的问题。先用curl -I https://taotoken.net/api看网络是否可达再检查请求头里Authorization的格式是不是Bearer sk-xxx中间有空格。Key 前后有换行也会导致鉴权失败。改了 service 文件但没生效。忘了systemctl daemon-reload。改完 service 文件必须重载再重启否则 systemd 用的还是旧配置。改完执行systemctl daemon-reload systemctl restart ollama一条龙。本地模型响应特别慢。先看模型大小和机器配置是否匹配。32b 以上在普通机器上慢是正常的不是配置问题。想快就换 7b 或 8b或者把max_tokens调小。首次请求会触发模型加载等几十秒是正常的第二次就快了。6. 把本地模型接进统一通道之后链路跑通后你手里就有了一套可复用的结构Ollama 管本地推理和 models 目录TaoToken 管统一 Key 和 API 入口。以后新增工具只填一次https://taotoken.net/api和同一个 Key不用再翻每个客户端的文档找端口和模型名格式。一个实用技巧把OLLAMA_MODELS指向大盘后定期用du -sh /data/ollama_models看占用deepseek-r1 多版本并存很容易吃掉几十 G。不用的 tag 用ollama rm deepseek-r1:1.5b清掉别让磁盘悄悄满了导致服务起不来。如果你要接 Claude Code 这类编码工具Anthropic 兼容入口在这里配置方式和上面类似把 base_url 和 Key 换过去即可https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude-code-anthropicutm_campaignrewrite最后留个验证习惯每次改完配置先 curl 本地、再 curl 通道两步都过再开客户端。这样出问题时你能立刻判断是本地推理挂了还是通道配置错了比在客户端里盲猜快得多。
返回列表