返回首頁

GitHub Repo

Ollama 0.34.4 候選版改以單次生成處理思考與 JSON,減少重複預填充

新版讓思考模型在同一次生成中切換至受格式限制的答案,並修補相關 JSON 輸出問題。版本仍屬預發布,實際效能與不同介面的相容性須另行驗證。

Mattruffoni · CC BY-SA 4.0 · Image source
zh-Hant

Ollama 於 9 月 23 日發布 v0.34.4-rc0 候選版,納入前一天合併的思考模型結構化輸出改寫。伺服器現在可在同一次生成中,讓模型先思考,再依 JSON 格式限制產生答案;版本頁仍標示為預發布,部署時應明確固定候選版標籤。[版本公告](https://github.com/ollama/ollama/releases/tag/v0.34.4-rc0)

這項改動處理的是生成流程的銜接。舊流程先進行不受格式限制的生成,解析器一旦辨識到答案內容,伺服器便中止請求,重新組合提示,再啟動受語法限制的第二次生成。新流程由解析器提供思考結束標記,MLX 以結構標籤、llama-server 以包覆 JSON Schema 的語法規則,限制標記之後的答案,省去第二次預填充。[合併提案](https://github.com/ollama/ollama/pull/18479)

實際故障案例說明了邊界處理的重要性:一份針對 Qwen3.8 的 MLX 回報,在啟用思考與 schema 時,十次測試有八次在 JSON 前多出句點,導致嚴格解析失敗;關閉思考的十次測試則沒有出現。這是單一環境的小樣本,不能當成所有模型的錯誤率,但可作為升級後的回歸案例。[問題回報](https://github.com/ollama/ollama/issues/18441)

應用端仍透過 `format` 傳入 JSON Schema,相容介面則使用 `response_format`。官方文件示範用 Pydantic 或 Zod 建立結構,並在收到回覆後再次驗證;文件也明示 Ollama Cloud 尚不支援這項能力。本機執行引擎的修補,因此不能直接推定已涵蓋雲端服務。[使用文件](https://docs.ollama.com/capabilities/structured-outputs)

工程上的預期效益是減少重複處理提示的成本,但公告沒有提供可比較的延遲或吞吐量數字。驗收時宜同時量測預填充時間、完整回覆延遲及格式通過率,並檢查串流中斷、思考提前結束與工具呼叫混用的情況。原始提示模式仍從第一個 token 套用格式限制,不同入口需要分別測試。[實作與邊界說明](https://github.com/ollama/ollama/pull/18479)

具體而言,可固定模型、量化方式與輸入長度比較前後版本,保留原始回覆及解析結果,避免只靠重試後的成功率判斷修補成效。資料擷取流程也應測試空陣列、缺漏欄位與繁體中文長文字,確認下游驗證器能一致處理;格式合法仍須搭配欄位內容正確性的檢查。

來源

  1. Ollama v0.34.4-rc0 預發布公告
  2. PR #18479:思考模型的單次生成結構化輸出,9 月 22 日合併
  3. Issue #18441:MLX 思考模式在 JSON 前輸出多餘句點
  4. Structured Outputs