![]()
![]()
![]()
2026年3月14日,ollama v0.18.0正式發(fā)布,這是一次極具里程碑意義的版本更新。本次更新圍繞云模型、集成啟動、Claude代碼支持、OpenAI兼容接口、命令行體驗及中間件處理能力等多個維度進(jìn)行了系統(tǒng)優(yōu)化和重大改進(jìn)。無論是使用本地模型還是云端大模型的開發(fā)者,都能在此版本中獲得更加流暢、智能和安全的體驗。
以下為本次v0.18.0版本的詳細(xì)更新內(nèi)容與技術(shù)解讀。
一、核心亮點綜述
1.云模型全面接入:
? 現(xiàn)在無需通過
ollama pull下載云模型,只需在模型名稱后添加:cloud標(biāo)簽,即可自動連接云端模型。? 系統(tǒng)在調(diào)用
ollama run時,會自動拉取云模型的“stub”信息,完成兼容性適配。? 改進(jìn)了模型源的傳播邏輯,在創(chuàng)建云模型衍生版本時維護(hù)明確的來源標(biāo)識。
2.Claude代碼增強:
? 新增支持設(shè)置Compaction Window(壓縮窗口)功能,針對 Claude Code 云模型自動設(shè)定窗口大小以優(yōu)化上下文處理。
? 對 Claude 本地與云模型環(huán)境變量裝載進(jìn)行了精細(xì)優(yōu)化,確保自動選擇正確模型與上下文。
3.OpenAI兼容API增強:
? 文檔新增了
reasoning_effort參數(shù)支持說明,可在推理型模型中控制推理強度("high"、"medium"、"low"、"none")。? 完善了推理/thinking控制字段,實現(xiàn)對推理模型的細(xì)粒度策略控制。
4.命令行功能升級:
? 改進(jìn)模型排序及啟動行為,優(yōu)化 TUI(終端交互界面)中的選項邏輯。
? “--yes” 無頭模式強化:在不交互的環(huán)境中可自動批準(zhǔn)并拉取缺失模型。
? 新增云模型檢測與自動補全機制,使顯式云模型在列表中同樣被
ollama ls正確識別。
5.中間件與服務(wù)器改進(jìn):
?
middleware層在處理非 JSON 錯誤時可自動回退字節(jié)錯誤提示,避免解析錯誤干擾。? 新增 zstd 解壓支持,在云代理中間件可自動解碼壓縮請求體,實現(xiàn)高效傳輸。
? 限制最大解壓后體積(20MB),防止超大請求導(dǎo)致資源消耗。
? 改進(jìn)云代理 passthrough 流程,檢測
Content-Encoding: zstd并清除標(biāo)頭后運行。
在cmd/cmd.go中,新增加了ensureCloudStub函數(shù),用于匹配傳統(tǒng)ollama run some-model:cloud的行為。當(dāng)用戶顯式指定云源模型時,系統(tǒng)會自動嘗試?yán)?yīng)的云 stub 文件。此步驟保證即便本地未緩存模型,也能正常啟動連接。
命令行的執(zhí)行流程現(xiàn)在支持:
? 自動標(biāo)準(zhǔn)化模型名;
? 若云模型 stub 不存在則自動下載;
? 若下載失敗不會中斷生成,而是以“盡力而為”方式繼續(xù)任務(wù)。
測試文件cmd/cmd_test.go增加了多組驗證用例:
? 當(dāng)顯式云模型 stub 缺失時,系統(tǒng)會拉取標(biāo)準(zhǔn)化命名;
? 若 stub 已存在,則跳過下載;
? 即使下載失敗,仍繼續(xù)調(diào)用
/api/generate保證生成任務(wù)不受影響。
此外,新增針對云模型繼承關(guān)系的測試場景:
在NewCreateRequest中,當(dāng)啟動會話以:cloud結(jié)尾時,父模型若無 cloud 來源,則自動清理父模型標(biāo)記,防止錯誤地創(chuàng)建本地衍生版本。
(二)Claude啟動模塊增強
cmd/launch/claude.go的modelEnvVars函數(shù)進(jìn)行了重構(gòu):
? 現(xiàn)在返回的環(huán)境變量中包含
CLAUDE_CODE_AUTO_COMPACT_WINDOW,用于自動根據(jù)云模型上下文大小設(shè)置 Claude Code 的壓縮窗口。? 若模型為云模型,會通過查表機制獲得合適的上下文限制值并自動寫入環(huán)境變量。
對應(yīng)測試cmd/launch/claude_test.go校驗:
? 本地模型不會生成該變量;
? 云模型能正確設(shè)定窗口值(例:
glm-5:cloud對應(yīng)202752);? 未知云模型不會寫入壓縮窗口參數(shù),保持空值。
該改動顯著提升了 Claude 在多模型之間切換時的記憶穩(wěn)定性與上下文利用率。
(三)Launch命令與策略優(yōu)化
在launch.go中,新增了對LaunchPolicy的升級:
1. 將默認(rèn)策略函數(shù)改造為
defaultLaunchPolicy(interactive, yes bool);2. 當(dāng)帶有
--yes標(biāo)記時(包括非交互環(huán)境),自動將確認(rèn)模式設(shè)為“自動批準(zhǔn)”,缺失模型策略設(shè)為“自動拉取”。
而在無交互且未指定 yes 的場景,則強制要求明確輸入并在模型缺失時失敗退出。
同時,在無頭模式下,--yes啟動時增加安全檢查:
若用戶未顯式指定 --model 參數(shù),則命令會直接報錯提示 —— “requires --model ”,確保自動化執(zhí)行不會錯誤啟動。
另一個重要改進(jìn)點是:
在無交互但帶有自動批準(zhǔn)模式時,系統(tǒng)會自動選擇“上次使用的模型”進(jìn)行運行。
這項優(yōu)化避免了腳本化任務(wù)中因模型選擇項缺失導(dǎo)致的中斷。
測試launch_test.go對此功能給出充分驗證:
? 模擬無交互
--yes場景時,系統(tǒng)能自動選用上次運行模型;? 若模型不存在會自動拉取;
? 日志中輸出明確指示“Headless mode: auto-selected last used model”。
更新后的buildModelList和 TUI 選擇器邏輯增強了“本地與云模型的精確匹配”機制:
? 當(dāng)存在本地與云端同名模型時,系統(tǒng)優(yōu)先匹配完全相同的名稱;
? 若本地正好為“qwen3.5”,則不會誤選“qwen3.5:cloud”作為當(dāng)前;
? 同時在 TUI 渲染中保證高亮顯示準(zhǔn)確,提升人工交互選擇的直覺性。
在selector.go的cursorForCurrent函數(shù)中新增兩階段匹配邏輯:
1. 優(yōu)先匹配完全相同的模型名;
2. 其次才考慮前后綴形式(例如
"qwen3.5:cloud"與"qwen3.5")。
與此同時,multiSelectorModel.toggleItem也進(jìn)行了升級:
? 當(dāng)取消默認(rèn)選中模型時,會自動尋找最近的已選項作為新的默認(rèn)項;
? 若上方無選項,則尋找到最近下方項;
? 保持列表穩(wěn)定,防止失焦?fàn)顟B(tài)。
這些修改使得多模型選擇流程更自然、更合理,尤其在編輯器集成與多模型協(xié)作場景下顯著提升使用體驗。
(五)中間件處理與錯誤容錯升級
在middleware/anthropic.go與middleware/openai.go中,對錯誤響應(yīng)處理進(jìn)行了安全回退改造:
? 當(dāng)收到非標(biāo)準(zhǔn) JSON 錯誤響應(yīng)時,系統(tǒng)不再直接返回解析錯誤,而是將原始字節(jié)內(nèi)容作為錯誤信息。
? 避免了反復(fù)出現(xiàn)在日志中的 JSON Unmarshal 錯誤提示。
同時,新增maxDecompressedBodySize限制(20MB),并在云代理層引入 zstd 解壓與體積控制。
在云代理 (server/cloud_proxy.go) 中:
? 增加 zstd 解碼器,當(dāng)請求中包含
Content-Encoding: zstd時會自動解壓;? 完成解壓后移除該頭部,防止后續(xù)邏輯誤判;
? 對超大解壓體積請求返回
400 Bad Request,保護(hù)系統(tǒng)資源安全。
測試cloud_proxy_test.go中驗證了完整流程:
? 壓縮請求體能被正確解碼,middleware 成功檢測到
"model":"test-model:cloud";? 超大體積請求觸發(fā)安全響應(yīng)。
該系列優(yōu)化讓 ollama 在云代理鏈路中面對混合編碼響應(yīng)時更加穩(wěn)定與高效。
(六)OpenAI兼容接口文檔與推理控制更新
在docs/openai_compat.md和相關(guān)實現(xiàn)層中,v0.18.0對 OpenAI 兼容性接口進(jìn)行了進(jìn)一步完善,使得 ollama 的 OpenAI 格式推理 API(/v1/chat/completions與/v1/completions)與主流云模型的適配更加完整。
1. 新增參數(shù):reasoning_effort
? 新參數(shù)可選值包括
"none","low","medium","high"。? 用于控制推理模型(如思維鏈推理、邏輯規(guī)劃類模型)的計算與思考強度。
? 低模式下優(yōu)先快速返回結(jié)果,高模式下傾向進(jìn)行更多內(nèi)部推理步驟。
? 新增
thinking字段支持,當(dāng)模型提供內(nèi)部推理痕跡時可通過專有 schema 輸出。? 增加了兼容
X-Ollama-Thinking等 HTTP 頭的能力,以保障流式響應(yīng)過程中推理過程的透明性。
在middleware/openai_test.go與api/openai_test.go中新增多組用例,確保:
? 當(dāng)啟用
reasoning_effort=high時返回延時與token消耗可控;? JSON 響應(yīng)完全符合 OpenAI SDK 解析標(biāo)準(zhǔn);
? 測試覆蓋了 “system + user + tool_calls” 等復(fù)雜對話格式。
這一系列改進(jìn)意味著從 v0.18.0 開始,ollama 的 OpenAI 接口可作為外部應(yīng)用無縫接入的通用標(biāo)準(zhǔn)接口,不論使用哪種模型后端(本地或云端)都無需修改調(diào)用邏輯。
三、總結(jié)與升級建議
ollama v0.18.0是一次打通本地模型與云模型交互壁壘的關(guān)鍵版本。
從底層結(jié)構(gòu)到開發(fā)者體驗,它實現(xiàn)了三大躍遷:
1.模型來源統(tǒng)一:同一個命令可同時使用本地模型與 cloud 模型,告別傳統(tǒng) pull/push 流程。
2.生態(tài)兼容全面:OpenAI、Claude、Anthropic 多線兼容,同步增強上下文與推理控制。
3.開發(fā)體驗優(yōu)化:交互界面、命令行無頭模式、中間件鏈路、壓縮與安全控制全面升級。
對于開發(fā)者的建議:
? 若你使用腳本自動部署或服務(wù)端生成任務(wù),可開啟
--yes模式并顯式指定--model參數(shù)。? 若你是 Claude Code 用戶,請注意新的
CLAUDE_CODE_AUTO_COMPACT_WINDOW環(huán)境變量,可顯著改善上下文利用率。? 若接入 OpenAI SDK,可直接指向
http://localhost:11434/v1,獲得最佳兼容體驗。
代碼地址:github.com/ollama/ollama
ollama v0.18.0 通過云端智能接入與全棧優(yōu)化,正在重塑「本地 + 云」混合大模型體驗。
無論你是熱衷本地推理的開發(fā)者,還是依賴多云 LLM 的企業(yè)團(tuán)隊,這一版本都為你提供了更自由、更安全、更高效的模型運行方式。
我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業(yè)洞察。 歡迎關(guān)注“福大大架構(gòu)師每日一題”,發(fā)消息可獲得面試資料,讓AI助力您的未來發(fā)展。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.