證)
1. 為什么要在內(nèi)網(wǎng)里跑 DeepSeek以及 endpoint 到底改哪里先說清楚這篇要解決的事DeepSeek 離線版本地部署指的是把 DeepSeek 系列模型比如 deepseek-r1 的 1.5B、7B、14B、32B 等蒸餾版本下載到自己的機(jī)器或內(nèi)網(wǎng)服務(wù)器上通過本地推理服務(wù)對外提供 OpenAI 兼容接口再把客戶端或代碼里的 endpoint 指向這個本地地址。它適合三類人一是內(nèi)網(wǎng)/隔離環(huán)境里不能訪問公網(wǎng)的開發(fā)者二是想把模型調(diào)用成本壓到接近零、只花電費(fèi)的團(tuán)隊(duì)三是做 Agent、RAG、代碼補(bǔ)全這類需要低延遲反復(fù)調(diào)用的場景。很多人卡住的地方不是「怎么下載模型」而是「下載完之后我的代碼、我的客戶端到底該連哪個地址」。默認(rèn)情況下Ollama 會在本機(jī)監(jiān)聽http://127.0.0.1:11434這是一個 OpenAI 兼容的 endpoint但它默認(rèn)只允許本機(jī)訪問。如果你在容器里、在另一臺機(jī)器上、或者用某個 IDE 插件去連就會遇到連接被拒、401、model not found 之類的報(bào)錯。所以「把 endpoint 改到 TaoToken」這件事本質(zhì)上是兩件事的組合本地推理服務(wù)負(fù)責(zé)算TaoToken 負(fù)責(zé)在需要聯(lián)網(wǎng)或需要統(tǒng)一網(wǎng)關(guān)時(shí)提供穩(wěn)定的 API 入口與鑒權(quán)。下面我會把兩條路徑都講清楚你可以按自己的網(wǎng)絡(luò)環(huán)境選。先給一個整體判斷純離線、完全不出網(wǎng)的場景你只需要 Ollama 本地 endpoint如果內(nèi)網(wǎng)機(jī)器需要訪問外部模型能力、或者你想用同一套 OpenAI 兼容協(xié)議同時(shí)管理本地模型和云端模型那就把 endpoint 指向 TaoToken 的 API 地址https://taotoken.net/api用 API Key 鑒權(quán)。兩種方式在客戶端里長得幾乎一樣區(qū)別只在 Base URL 和 Key。我實(shí)測下來最容易踩的坑是以為改了 Base URL 就完事結(jié)果模型名沒對上、或者 Key 沒帶、或者端口沒放開。所以這篇會按「裝服務(wù) → 拉模型 → 配 endpoint → curl 驗(yàn)證 → 客戶端驗(yàn)證 → 排錯」的順序走每一步都給可復(fù)制的命令和配置。2. 前置準(zhǔn)備Ollama 安裝、模型拉取與 TaoToken 接入信息這一節(jié)把地基打好。你需要準(zhǔn)備的東西不多一臺能跑模型的機(jī)器內(nèi)存至少 8G 起跑 1.5B/7B 夠用14B 以上建議 16G、Ollama、以及一個可選的 TaoToken API Key。2.1 安裝 Ollama 并確認(rèn)服務(wù)在跑Linux 下一條命令搞定curl -fsSL https://ollama.com/install.sh | shWindows 用戶下載OllamaSetup.exe右鍵以管理員身份運(yùn)行點(diǎn) Install裝完開始菜單里會有 Ollama。裝完后確認(rèn)服務(wù)狀態(tài)ollama --version ollama list如果ollama list報(bào)連接錯誤說明后臺服務(wù)沒起來。Linux 用systemctl status ollama看Windows 直接看托盤圖標(biāo)是否在。服務(wù)默認(rèn)監(jiān)聽127.0.0.1:11434。2.2 拉取 DeepSeek 模型按你的內(nèi)存選型號命令就是ollama run或ollama pullollama pull deepseek-r1:1.5b ollama pull deepseek-r1:7b ollama pull deepseek-r1:14bpull只下載不進(jìn)入對話適合腳本化run下載完直接進(jìn)交互。下載慢可以 CtrlC 中斷再重來Ollama 支持?jǐn)帱c(diǎn)續(xù)傳。拉完用ollama list確認(rèn)你會看到類似deepseek-r1:1.5b的條目這個名字后面配置 Model ID 時(shí)要一字不差地用上。2.3 拿到 TaoToken 的接入三件套如果你要走 TaoToken 這條路徑需要三樣?xùn)|西Base URL、API Key、Model ID。Base URL 固定為https://taotoken.net/api注意不要加多余的路徑后綴OpenAI 兼容客戶端通常會自動拼/v1/chat/completions。API Key 去控制臺創(chuàng)建地址是https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite。Model ID 按你實(shí)際要調(diào)的模型填比如deepseek-r1或你賬號下可用的具體型號。注意API Key 只顯示一次創(chuàng)建后立刻復(fù)制保存。不要把它寫進(jìn)會提交到 Git 的明文文件里用環(huán)境變量或本地.env。到這里前置就齊了。接下來是核心怎么把 endpoint 配到各個地方。3. 可復(fù)制配置把 endpoint 改到 TaoToken 的完整片段這一節(jié)是全文最該收藏的部分。我給你四份可直接粘貼的配置環(huán)境變量、OpenAI SDK、Cline/Continue 這類插件、以及 Claude Code 的 settings。每份都標(biāo)清楚 Base URL、Key、Model ID 三件套的位置。3.1 環(huán)境變量方式最通用export OPENAI_BASE_URLhttps://taotoken.net/api export OPENAI_API_KEYsk-你的TaoToken密鑰 export OPENAI_MODELdeepseek-r1Windows PowerShell$env:OPENAI_BASE_URLhttps://taotoken.net/api $env:OPENAI_API_KEYsk-你的TaoToken密鑰 $env:OPENAI_MODELdeepseek-r1很多工具會優(yōu)先讀這三個變量配一次到處能用。3.2 Python OpenAI SDK 配置from openai import OpenAI client OpenAI( base_urlhttps://taotoken.net/api, api_keysk-你的TaoToken密鑰, ) resp client.chat.completions.create( modeldeepseek-r1, messages[{role: user, content: 用一句話解釋什么是本地部署}], ) print(resp.choices[0].message.content)如果你要連的是本地 Ollama 而不是 TaoToken只改base_url和api_keyclient OpenAI( base_urlhttp://127.0.0.1:11434/v1, api_keyollama, # 本地服務(wù)不校驗(yàn)隨便填但不能空 )3.3 Cline / Continue 插件配置JSON以 Cline 為例在設(shè)置里選 OpenAI Compatible填{ apiProvider: openai, openAiBaseUrl: https://taotoken.net/api, openAiApiKey: sk-你的TaoToken密鑰, openAiModelId: deepseek-r1 }Continue 的config.json片段{ models: [ { title: DeepSeek via TaoToken, provider: openai, model: deepseek-r1, apiBase: https://taotoken.net/api, apiKey: sk-你的TaoToken密鑰 } ] }3.4 Claude Code settings 配置Claude Code 走 Anthropic 兼容協(xié)議時(shí)在~/.claude/settings.json里配{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoToken密鑰, ANTHROPIC_MODEL: deepseek-r1 } }提示三件套缺一不可。Base URL 寫錯會 404Key 寫錯會 401Model ID 寫錯會報(bào) model not found 或 reading choices 相關(guān)錯誤。改完配置記得重啟客戶端很多插件不會熱加載。配置這件事沒有玄學(xué)就是地址、鑰匙、門牌號三樣對上。下面進(jìn)入驗(yàn)證環(huán)節(jié)。4. 驗(yàn)證請求用 curl 和客戶端確認(rèn)真的通了配完不驗(yàn)證等于沒配。這一節(jié)給你從命令行到圖形界面的完整驗(yàn)證鏈路。4.1 curl 驗(yàn)證 TaoToken endpointcurl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的TaoToken密鑰 \ -d { model: deepseek-r1, messages: [{role: user, content: 你好做個連通性測試}] }成功的話你會拿到一段 JSON里面有choices[0].message.content。如果返回 401檢查 Key返回 404檢查 Base URL 是不是多寫或少寫了/v1返回 model 相關(guān)錯誤檢查 Model ID。4.2 curl 驗(yàn)證本地 Ollama endpointcurl http://127.0.0.1:11434/v1/chat/completions \ -H Content-Type: application/json \ -d { model: deepseek-r1:1.5b, messages: [{role: user, content: 本地連通性測試}] }本地服務(wù)不需要 Authorization 頭。如果連接被拒說明 Ollama 沒監(jiān)聽或端口不對如果報(bào) model not found用ollama list核對模型名。4.3 讓 Ollama 監(jiān)聽外部地址內(nèi)網(wǎng)其他機(jī)器要連時(shí)默認(rèn)只監(jiān)聽 127.0.0.1。要讓內(nèi)網(wǎng)其他機(jī)器訪問設(shè)置export OLLAMA_HOST0.0.0.0:11434Linux systemd 用戶改systemctl edit ollama加[Service] EnvironmentOLLAMA_HOST0.0.0.0:11434然后systemctl restart ollama。改完用另一臺機(jī)器curl http://內(nèi)網(wǎng)IP:11434/v1/models驗(yàn)證。注意這只在內(nèi)網(wǎng)做別暴露到公網(wǎng)。4.4 圖形客戶端驗(yàn)證Chatbox、Cherry Studio 這類客戶端選 OpenAI CompatibleBase URL 填https://taotoken.net/api或http://127.0.0.1:11434/v1Key 對應(yīng)填模型名填對保存后發(fā)一條消息。能正常流式輸出就說明鏈路通了。驗(yàn)證通過后你就有了一套可用的本地/網(wǎng)關(guān)雙通道。接下來是排錯這部分能幫你省下大量搜索時(shí)間。5. 常見報(bào)錯排查401、local proxy failed、reading choices、OAuth這些報(bào)錯我基本都遇到過逐個拆。401 Unauthorized最常見。原因就三個——Key 沒填、Key 填錯、Key 前后有空格或換行。檢查Authorization: Bearer sk-xxx格式Bearer 后面有一個空格。用環(huán)境變量時(shí)確認(rèn)echo $OPENAI_API_KEY輸出正常。local proxy failed / connection refused客戶端連不上 endpoint。如果是本地 Ollama確認(rèn)服務(wù)在跑、端口 11434 沒被占、OLLAMA_HOST配對了。如果是 TaoToken確認(rèn)網(wǎng)絡(luò)能出站、Base URL 沒寫錯。容器場景常見的是容器內(nèi)127.0.0.1指向容器自己而不是宿主機(jī)要改成宿主機(jī)內(nèi)網(wǎng) IP 或host.docker.internal。reading choices / choices 字段為空通常是響應(yīng)結(jié)構(gòu)和你預(yù)期的不一樣。可能原因Model ID 不存在導(dǎo)致返回了錯誤對象或者你用的客戶端期望 OpenAI 格式但服務(wù)返回了別的格式。先用 curl 看原始返回確認(rèn)choices數(shù)組存在。如果返回的是{error: ...}那就是模型名或鑒權(quán)問題。OAuth / 鑒權(quán)失敗Claude Code 這類工具如果之前登錄過官方賬號可能緩存了 OAuth token導(dǎo)致你配的 API Key 不生效。清掉舊憑據(jù)確認(rèn)settings.json里的ANTHROPIC_API_KEY和ANTHROPIC_BASE_URL生效。必要時(shí)刪掉~/.claude下的緩存重來。model not found本地場景核對ollama list的完整名字帶:1.5b這種 tag網(wǎng)關(guān)場景核對 Model ID 拼寫。大小寫和冒號都敏感。下載中斷/速度慢Ollama 支持?jǐn)帱c(diǎn)續(xù)傳CtrlC 后重新ollama pull即可。內(nèi)網(wǎng)環(huán)境可以先把模型文件離線拷貝到~/.ollama/models對應(yīng)目錄。排錯的核心思路永遠(yuǎn)是先 curl 拿到原始響應(yīng)再判斷是網(wǎng)絡(luò)、鑒權(quán)還是模型名的問題。別一上來就改代碼。6. 下一步把本地模型接進(jìn)你的日常開發(fā)流跑通之后你可以做幾件讓這套環(huán)境真正產(chǎn)生價(jià)值的事。第一把本地 endpoint 接進(jìn)你的代碼補(bǔ)全插件日常寫代碼時(shí)用本地模型兜底敏感代碼不出內(nèi)網(wǎng)。第二用同一套 OpenAI 兼容協(xié)議在配置里做本地/網(wǎng)關(guān)的切換離線時(shí)走本地需要更強(qiáng)模型時(shí)切到 TaoToken。第三如果你在做 Agent 或長任務(wù)考慮用 Coding Plan 這類按量方案來承接高頻調(diào)用地址是https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite。想快速對比不同模型的實(shí)際輸出效果可以直接在模型對話頁面試https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentmodel_chatutm_campaignrewrite。接入細(xì)節(jié)和參數(shù)說明看文檔https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite。需要新建或管理 Key 就去 API Keys 頁面。最后留一個我自己的習(xí)慣把 Base URL、Key、Model ID 三件套寫進(jìn)一個本地.env所有客戶端都從環(huán)境變量讀換機(jī)器時(shí)只改這一個文件。這樣無論你連的是本地 Ollama 還是 TaoToken 網(wǎng)關(guān)切換成本都接近零。