![]()
![]()
![]()
ollama v0.13.5 于 2025 年 12 月 19 日正式發(fā)布。本次版本更新規(guī)模較大,共合并 10 次提交,涉及約 150 個(gè)文件的調(diào)整,新增代碼 10997 行,刪除代碼 6838 行。更新內(nèi)容主要集中在模型支持、引擎能力、工具定義與解析、以及底層推理和運(yùn)行時(shí)優(yōu)化等方面。
一、新模型支持:FunctionGemma 接入
在 v0.13.5 中,ollama 正式引入了 Google 的 FunctionGemma 模型,并完成了對(duì)應(yīng)的解析器和渲染器支持。這一更新使 FunctionGemma 能夠在 ollama 生態(tài)中以原生方式運(yùn)行,并正確處理函數(shù)聲明、函數(shù)調(diào)用和函數(shù)響應(yīng)等結(jié)構(gòu)化內(nèi)容。
同時(shí),SentencePiece 分詞解析邏輯也進(jìn)行了擴(kuò)展,新增了對(duì)多種函數(shù)相關(guān)控制符號(hào)的識(shí)別,包括函數(shù)聲明、函數(shù)調(diào)用、函數(shù)返回以及轉(zhuǎn)義標(biāo)記等。這保證了 FunctionGemma 在使用 spm 分詞器時(shí)能夠正確區(qū)分普通 token 與控制 token。
二、BERT 架構(gòu)模型全面切換至 Ollama 引擎
本次更新的一個(gè)重要變化是:BERT 架構(gòu)模型開(kāi)始統(tǒng)一使用 Ollama 自研引擎運(yùn)行,而不再依賴(lài)舊的執(zhí)行路徑。
在架構(gòu)判定與運(yùn)行能力上完成了多項(xiàng)調(diào)整:
? 將 bert 明確列為需要 Ollama Engine 的架構(gòu)類(lèi)型
? 在特性判斷中,bert 開(kāi)始支持 flash attention
? nomic-bert 等相關(guān)模型也統(tǒng)一納入新的引擎判定邏輯
這一變化為 BERT 及相關(guān)嵌入模型帶來(lái)了更一致的執(zhí)行方式,也為后續(xù)功能擴(kuò)展提供了更穩(wěn)定的基礎(chǔ)。
三、DeepSeek-V3.1 內(nèi)置渲染與工具解析能力
ollama v0.13.5 針對(duì) DeepSeek-V3.1 增加了內(nèi)置 renderer 和 tool parsing 能力,使模型在輸出結(jié)構(gòu)化結(jié)果時(shí)可直接由引擎完成解析和渲染。
同時(shí),補(bǔ)充并修復(fù)了工具定義中嵌套屬性無(wú)法正確處理的問(wèn)題,使 DeepSeek 系列模型在使用復(fù)雜工具參數(shù)結(jié)構(gòu)時(shí)更加可靠。
此外,還新增并完善了 DeepSeekV3 家族的專(zhuān)用解析器邏輯,進(jìn)一步提升了該系列模型在 ollama 中的可用性與一致性。
四、工具定義系統(tǒng)增強(qiáng):支持嵌套屬性
在 API 類(lèi)型層面,本次更新擴(kuò)展了 ToolProperty 結(jié)構(gòu),新增了對(duì) properties 字段的支持,使工具參數(shù)能夠表達(dá)任意層級(jí)的嵌套對(duì)象結(jié)構(gòu)。
這一能力不僅支持簡(jiǎn)單對(duì)象嵌套,還支持深層多級(jí)嵌套,并通過(guò)新增的單元測(cè)試覆蓋了以下場(chǎng)景:
? 對(duì)象屬性的嵌套定義
? 多層對(duì)象中繼續(xù)包含對(duì)象屬性
? JSON 的反序列化與序列化回環(huán)校驗(yàn)
這使得 ollama 在函數(shù)調(diào)用和工具調(diào)用場(chǎng)景下,可以完整表達(dá)復(fù)雜參數(shù)定義,提升了與現(xiàn)代大模型工具調(diào)用規(guī)范的兼容性。
五、GGML 與底層推理邏輯更新
v0.13.5 更新了 GGML 版本引用,并同步調(diào)整了相關(guān)構(gòu)建配置文件。Makefile 中的 GGML 上游提交指針發(fā)生變更,保證引擎使用最新的底層實(shí)現(xiàn)。
在 KV Cache 和因果掩碼構(gòu)建邏輯中,也進(jìn)行了精簡(jiǎn)和修復(fù):
? 移除了多余的 MaskBatchPadding 和 MaskDType 默認(rèn)初始化邏輯
? 簡(jiǎn)化了掩碼構(gòu)建過(guò)程,僅按當(dāng)前 batch 大小生成 mask
? 修復(fù)了 padding mask 計(jì)算中的冗余代碼
這些調(diào)整有助于減少不必要的內(nèi)存占用,并提升推理階段的穩(wěn)定性。
六、llama.cpp 集成與初始化流程整理
在 llama.cpp 對(duì)接代碼中,本次版本對(duì)模型初始化、上下文創(chuàng)建和采樣器初始化流程進(jìn)行了較大幅度的整理:
? 引入了基于 impl 的封裝結(jié)構(gòu)來(lái)管理模型與上下文生命周期
? 清理了重復(fù)的返回路徑和無(wú)效代碼
? 修正了模型加載失敗與上下文創(chuàng)建失敗時(shí)的處理邏輯
? 優(yōu)化了采樣器初始化與 logit bias 注入流程
同時(shí),在模型元信息解析中,采樣參數(shù)讀取邏輯被去重處理,避免重復(fù)判斷配置標(biāo)志,提高了代碼可讀性和一致性。
七、其他雜項(xiàng)與維護(hù)性改進(jìn)
除核心功能外,v0.13.5 還包含一系列維護(hù)性更新,例如:
? 清理不再需要的冗余代碼
? 調(diào)整類(lèi)型定義,引入 ConfigV2 和 RootFS 相關(guān)類(lèi)型
? 回滾 granite-embedding 相關(guān)變更
? 更新同步規(guī)則,補(bǔ)充 llama.cpp 中 mtmd 工具和模型源碼的同步路徑
總體來(lái)看,ollama v0.13.5 是一次偏向基礎(chǔ)能力增強(qiáng)與架構(gòu)統(tǒng)一的版本更新。它在模型支持范圍、工具系統(tǒng)表達(dá)能力以及底層執(zhí)行穩(wěn)定性方面都邁出了重要一步。對(duì)于使用 BERT、DeepSeek、FunctionGemma 等模型的用戶(hù)而言,這一版本提供了更完善、更一致的運(yùn)行體驗(yàn),也為后續(xù)功能擴(kuò)展奠定了堅(jiān)實(shí)基礎(chǔ)。
我們相信人工智能為普通人提供了一種“增強(qiáng)工具”,并致力于分享全方位的AI知識(shí)。在這里,您可以找到最新的AI科普文章、工具評(píng)測(cè)、提升效率的秘籍以及行業(yè)洞察。 歡迎關(guān)注“福大大架構(gòu)師每日一題”,發(fā)消息可獲得面試資料,讓AI助力您的未來(lái)發(fā)展。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(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.