deepseek篇001--Windows环境下用Ollama本地部署,TaoToken统一Key打通API调用
发布时间:2026/10/8 18:08:27 作者:尧图编辑部 阅读量:1,286

1. Windows 上用 Ollama 跑 DeepSeek 到底解决什么问题如果你在 Windows 上想跑 DeepSeek又不想折腾显卡驱动、CUDA 版本、Python 虚拟环境这一整套那 Ollama 基本是最省事的一条路。它把模型权重、推理引擎、OpenAI 兼容接口打包成一个可执行程序装完就能用ollama run直接对话也能通过http://localhost:11434暴露 HTTP 接口给别的程序调用。这篇要讲的是 Windows 环境下用 Ollama 本地部署 DeepSeek 的完整落地流程从安装、模型拉取到 OpenAI 兼容接口验证最后再把本地 endpoint 切到 TaoToken 统一 Key 通道方便你后面在本地模型和云端模型之间来回切换。先说清楚适合谁看。第一种是刚接触本地大模型、想在 Windows 单机上先跑通一个能对话的 DeepSeek 的人第二种是已经在写代码调 API、但被各家 Key 和 Base URL 搞烦了想用一个统一入口管理的人第三种是手里有 Ollama、但不知道怎么把它接到 OpenAI 兼容客户端里的人。这三种场景这篇都会覆盖。核心检索词先摆出来Windows 本地部署 DeepSeek、Ollama 安装配置、Ollama OpenAI 兼容接口、TaoToken 统一 Key。你只要记住一件事Ollama 负责把模型跑起来TaoToken 负责把 API 调用通道统一起来两者不冲突可以同时存在。我试过在一台没有独显的 Windows 机器上跑deepseek-r1:1.5b速度能接受用来做本地问答和接口联调完全够。下面按步骤来每一步都给可复制的命令和配置。2. Ollama 安装与 DeepSeek 模型拉取Windows 本地部署第一步这一节解决的是「装在哪、模型存哪、怎么拉」三个问题。很多人卡在 C 盘爆满其实装之前改两个环境变量就能避开。2.1 安装 Ollama 并指定安装目录去 Ollama 官网下载 Windows 安装包文件名类似OllamaSetup.exe。直接双击安装会默认装到 C 盘且不能选路径。更推荐用命令行安装把安装目录指到 D 盘或 G 盘OllamaSetup.exe /DIRD:\Net_Program\Net_Ollama双引号里换成你自己的路径。装完后打开一个新的 CMD 窗口执行ollama -v能打印出版本号就说明装好了。如果提示ollama 不是内部或外部命令多半是安装时没勾选加入 PATH重装一次或者手动把安装目录加进系统环境变量即可。2.2 改模型下载目录别让 C 盘爆掉Ollama 默认把模型存在C:\Users\你的用户名\.ollama\models。DeepSeek 的 7B 量化版本动辄几个 GBC 盘紧张的话一定要改。打开「系统属性 → 高级 → 环境变量」在用户变量里新建变量名OLLAMA_MODELS 变量值G:\app\Net_Ollama\Models变量值换成你想存的目录。改完必须重启 Ollama最稳的做法是直接重启电脑否则新目录不生效模型还是会往 C 盘塞。2.3 拉取 DeepSeek 模型在 CMD 里执行下面这条命令拉取 DeepSeek R1 的 1.5B 版本ollama run deepseek-r1:1.5b第一次执行会先下载再进入对话。下载到后面速度可能掉到几百 KB这时候按CtrlC停掉重新执行同一条命令速度通常会恢复到几 MB反复几次就能下完。下完后你会直接进入交互式对话输入问题回车即可。想退出对话用/bye查看本机已经拉了哪些模型ollama list想跑别的版本比如 7Bollama run deepseek-r1:7b数字越大对硬件要求越高1.5B 适合纯 CPU 或入门显卡7B 以上建议有独立显卡和足够显存。2.4 让 Ollama 监听所有网卡可选默认 Ollama 只监听127.0.0.1:11434。如果你想让同一局域网的其他设备也能调需要设置变量名OLLAMA_HOST 变量值0.0.0.0:11434改完同样重启 Ollama。注意这只适合内网自用别暴露到公网。到这里本地 DeepSeek 已经能对话了。但真正做开发你需要的是 HTTP 接口而不是在 CMD 里敲字。下一节讲怎么验证 OpenAI 兼容接口以及怎么把通道切到 TaoToken。3. 可复制配置Ollama OpenAI 兼容接口与 TaoToken 统一 Key 通道Ollama 自带一个 OpenAI 兼容的/v1接口这是它能被各种客户端直接调用的关键。默认地址是http://localhost:11434/v1API Key 随便填一个非空字符串即可Ollama 本地不校验。模型名就用你ollama list里看到的比如deepseek-r1:1.5b。3.1 用 curl 验证本地接口先确认本地服务能通。打开 CMD 执行curl http://localhost:11434/v1/chat/completions -H Content-Type: application/json -H Authorization: Bearer ollama -d {\model\:\deepseek-r1:1.5b\,\messages\:[{\role\:\user\,\content\:\用一句话介绍你自己\}]}返回 JSON 里能看到choices[0].message.content就说明本地通道打通了。如果返回connection refused说明 Ollama 没启动去开始菜单重新打开 Ollama 即可。3.2 用 Python 调用本地接口装好openai库后pip install openai然后写一个最小脚本from openai import OpenAI client OpenAI( base_urlhttp://localhost:11434/v1, api_keyollama, ) resp client.chat.completions.create( modeldeepseek-r1:1.5b, messages[{role: user, content: 写一个 Python 快排}], ) print(resp.choices[0].message.content)这段代码跑通说明你的本地 DeepSeek 已经是一个标准 OpenAI 接口服务了。3.3 切到 TaoToken 统一 Key 通道本地模型适合离线、隐私场景但遇到需要更强模型的时候你不可能每次都改一堆代码。TaoToken 的作用就是给你一个统一的 Base URL 和 Key把云端模型的调用也收敛到同一套配置里。你只需要改两个字段from openai import OpenAI client OpenAI( base_urlhttps://taotoken.net/api, api_key你的 TaoToken Key, ) resp client.chat.completions.create( modeldeepseek-chat, messages[{role: user, content: 写一个 Python 快排}], ) print(resp.choices[0].message.content)注意base_url结尾不要带/v1SDK 会自己拼。Key 去控制台创建地址是https://taotoken.net/console创建入口在https://taotoken.net/api-keys。模型 ID 按文档里列出的填文档在https://taotoken.net/doc。如果你用的是配置文件而不是代码比如某些客户端读settings.json或config.toml把对应字段改成{ base_url: https://taotoken.net/api, api_key: 你的 TaoToken Key, model: deepseek-chat }三件套就是 Base URL、Key、Model ID缺一不可。本地和云端切换时只改这三处业务代码不用动。3.4 环境变量方式统一管理更干净的做法是用环境变量代码里不写死setx OPENAI_BASE_URL https://taotoken.net/api setx OPENAI_API_KEY 你的 TaoToken Key设完重开 CMD。这样任何读这两个变量的 SDK 都会自动走 TaoToken 通道。想切回本地把OPENAI_BASE_URL改成http://localhost:11434/v1即可。4. 验证请求与成功结果本地与云端双通道跑通配置写完不算完得实际发一次请求看到返回才算数。这一节给你两种验证动作确保本地服务和统一 API 通道都能跑通。4.1 本地通道验证先确认 Ollama 在跑ollama list能看到deepseek-r1:1.5b就说明模型在。然后发请求curl http://localhost:11434/v1/models返回一个包含模型列表的 JSON说明/v1接口活着。再发对话请求就是上一节那条 curl。成功时你会看到类似这样的结构{ id: chatcmpl-xxx, object: chat.completion, choices: [ { index: 0, message: { role: assistant, content: 我是一个由 DeepSeek 训练的语言模型…… }, finish_reason: stop } ] }只要choices数组里有内容本地通道就算通了。4.2 云端统一通道验证把 base_url 换成 TaoToken 后用同样的 curl 结构验证curl https://taotoken.net/api/chat/completions -H Content-Type: application/json -H Authorization: Bearer 你的TaoTokenKey -d {\model\:\deepseek-chat\,\messages\:[{\role\:\user\,\content\:\你好\}]}返回 200 且choices有内容说明统一 Key 通道也通了。如果返回 401检查 Key 是否复制完整、有没有多余空格。如果返回 404检查模型 ID 是否拼错去文档页核对。4.3 Python 双通道对照脚本把两个通道写在一个脚本里对照方便你确认切换逻辑from openai import OpenAI def ask(base_url, api_key, model, question): client OpenAI(base_urlbase_url, api_keyapi_key) resp client.chat.completions.create( modelmodel, messages[{role: user, content: question}], ) return resp.choices[0].message.content print(本地:, ask(http://localhost:11434/v1, ollama, deepseek-r1:1.5b, 11等于几)) print(云端:, ask(https://taotoken.net/api, 你的TaoTokenKey, deepseek-chat, 11等于几))两个都打印出答案说明你的双通道配置完全可用。后面做应用时把base_url和model抽成配置项就能一键切换。4.4 验证时观察到的现象本地 1.5B 模型回答短问题通常一两秒内返回长文本会慢一些取决于 CPU 或显卡。云端通道返回速度取决于网络和模型负载但胜在模型能力强。实测下来把两者放在同一套代码里切换开发效率提升明显不用为每个模型单独写适配层。5. 本篇常见报错排查401、connection refused、模型找不到这一节按真实报错来遇到哪个查哪个。5.1 401 Unauthorized本地通道出现 401 基本不可能因为 Ollama 不校验 Key。如果你在本地地址上看到 401多半是 base_url 写成了云端地址但 Key 没换。云端通道出现 401检查三件事Key 是否完整复制、Authorization头是不是Bearer加空格再加 Key、Key 是否已过期或被删。去https://taotoken.net/api-keys重新生成一个再试。5.2 connection refused / local proxy failedconnection refused说明目标端口没人监听。本地场景下就是 Ollama 没启动去开始菜单打开 Ollama托盘出现羊驼图标后再试。如果你之前设过OLLAMA_HOST为0.0.0.0:11434用localhost访问一般没问题但某些环境下要改用127.0.0.1:11434。local proxy failed通常出现在客户端里配了系统代理但代理没开的情况。检查系统代理设置或者把客户端的代理开关关掉。注意这里说的是客户端自身的网络设置不是让你去搞什么特殊网络工具本地和正常 API 调用都不需要那些。5.3 reading choices 相关报错报错里出现reading choices或Cannot read properties of undefined (reading choices)意思是返回体里没有choices字段代码却直接去取。常见原因有三个返回的其实是错误 JSON比如{error: {...}}模型 ID 写错导致接口返回 404base_url 多写了或漏写了/v1。排查方法很简单先把原始返回打印出来import json print(json.dumps(resp.model_dump(), ensure_asciiFalse, indent2))看清楚结构再取字段。另外注意用 OpenAI SDK 时base_url填https://taotoken.net/api不要自己再加/v1SDK 会拼成/api/v1/...还是/api/...取决于版本以文档为准。5.4 OAuth 或鉴权相关报错如果你用的是 Claude Code 这类工具报错里可能出现 OAuth 字样。这类工具通常有自己的登录流程和 API Key 是两套机制。想用统一 Key 通道需要在工具配置里显式指定 Base URL 和 Key而不是走它的默认登录。具体字段名看工具文档核心还是那三件套Base URL、Key、Model ID。5.5 模型找不到 / model not found本地报这个先ollama list看模型名注意名字要完全一致包括:1.5b这种 tag。云端报这个去https://taotoken.net/doc核对可用模型 ID别凭记忆写。模型 ID 大小写和连字符都要对。5.6 下载卡住或中断前面提过下载到后面变慢就CtrlC再重跑同一条ollama run命令。如果反复失败检查OLLAMA_MODELS指向的磁盘是否有足够空间和写权限。改过环境变量后没重启 Ollama 也会导致下载路径不对重启电脑最稳。6. 后续怎么用本地与云端切换的实用建议跑通之后日常开发建议把配置抽成一个字典或环境变量组本地和云端各一套用的时候按需选。本地适合断网、隐私数据、快速联调云端适合需要更强推理、更长上下文的任务。TaoToken 的模型对话入口在https://taotoken.net/chat想先在线试模型效果可以去那里。长期做编码或 Agent 类任务可以看 Coding Plan地址是https://taotoken.net/coding-plan。Claude Code 相关接入参考https://taotoken.net/ClaudeCodeAnthropic。一个实用技巧把base_url、api_key、model三个值写进一个config.json代码启动时读它切换通道就是改这个文件不用动业务逻辑。另一个技巧是给本地和云端各写一个健康检查函数启动时先 ping 一下/v1/models哪个通用哪个避免请求发出去才发现通道挂了。最后提醒一句改完OLLAMA_MODELS或OLLAMA_HOST一定要重启 Ollama最好直接重启电脑这个坑我踩过不止一次。模型下载目录提前规划好别等 C 盘红了才想起来改。