<tr id="tp1vn"><td id="tp1vn"><dl id="tp1vn"></dl></td></tr>
  1. <p id="tp1vn"></p>
  2. <sub id="tp1vn"><p id="tp1vn"></p></sub>
    <u id="tp1vn"><rp id="tp1vn"></rp></u>
    <meter id="tp1vn"></meter>
      <wbr id="tp1vn"><sup id="tp1vn"></sup></wbr>
      日韩第一页浮力,欧美a在线,中文字幕无码乱码人妻系列蜜桃 ,国产成人精品三级麻豆,国产男女爽爽爽免费视频,中文字幕国产精品av,两个人日本www免费版,国产v精品成人免费视频71pao
      網易首頁 > 網易號 > 正文 申請入駐

      ollama v0.23.3 發布:MLX 性能優化、安全加固與傳輸并發控制

      0
      分享至




      引言

      2026年5月12日,Ollama 團隊正式發布了 v0.23.3 版本。本次更新雖然只有 6 個 commit,但涉及 MLX 推理引擎優化、應用更新機制安全加固、傳輸并發控制、測試體系完善等多個關鍵領域。本文將基于官方發布說明,逐條解析本次更新的技術細節和實際影響。

      一、版本概覽

      • ?版本號:v0.23.3

      • ?發布日期:2026年5月12日

      • ?提交數量:6 commits

      • ?文件變更:40 個文件

      • ?代碼行數:+3,621 行 / -433 行

      • ?貢獻者:2 人

      本次更新延續了 Ollama 在 Apple Silicon 平臺上的深度優化路線,同時對安全性和網絡傳輸效率做出了重要改進。

      二、MLX 后端優化(核心亮點) 2.1 精細化模型推送行為

      本次更新對 MLX 后端的模型推送邏輯進行了細化。這次改進主要解決了在推送 safetensors 格式模型時的行為一致性問題,確保推送操作與拉取操作遵循相同的狀態轉換規則,減少了因狀態不一致導致的部分上傳失敗場景。

      2.2 圖像生成 Runner 的線程親和性優化

      針對 MLX 在 macOS 上的圖像生成功能,本次添加了線程親和性設置。這是一項針對 Apple Silicon 異構核心架構(性能核心與能效核心)的性能優化措施。通過將計算密集型任務綁定到高性能核心,避免調度器將其誤分配到效率核心,顯著提升了圖像生成任務的推理速度和響應一致性。對于使用 MLX 后端進行圖像生成的用戶,這一改進會帶來可感知的生成速度提升。

      2.3 推理過程中的狀態超時規避

      在長時間推理任務中,MLX runner 可能出現狀態更新超時的問題,導致進程被錯誤終止。本次更新通過調整狀態報告機制,確保在長時間生成任務中狀態信號能夠持續發送,避免了因靜默期過長而觸發的超時誤判。這一修復對大上下文長度生成和多輪對話場景尤為關鍵。

      2.4 macOS 26 部署目標泄漏修復

      在構建 v3 metallib 時,MLX 編譯過程會泄漏 macOS 26 的部署目標設置,導致生成的二進制庫包含不受支持的平臺標記。構建腳本中新增了重新鏈接 metallib 的步驟:首先收集所有.air文件,然后使用xcrun -sdk macosx metallib重新鏈接,最后覆蓋原始的mlx.metallib。這一修復確保了 MLX 庫與 macOS 14.0 及以上版本的兼容性。

      三、應用更新機制安全加固 3.1 更新流程的安全性增強

      本次更新對app/updater包進行了全面重構,主要解決了路徑遍歷漏洞和文件名注入風險:

      安全路徑處理:新增updateStagePath函數,使用 SHA256 對 ETag 進行哈希處理,防止惡意構造的 ETag 或Content-Disposition中的文件名導致路徑逃逸。經過哈希處理的 ETag 目錄名類似a1b2c3...,無法包含../等路徑遍歷字符。

      文件名安全驗證:新增safeUpdateFilename函數,拒絕以下危險模式:

      • ? 空文件名或純空白字符串

      • ?...相對路徑

      • ? 絕對路徑(Unix 或 Windows)

      • ? 包含\/:等路徑分隔符

      • ?filepath.Base與原始文件名不匹配的情況

      目錄逃逸防護:新增ensurePathInDir函數,驗證解析后的路徑始終在指定的 stage 目錄內,防止符號鏈接或相對路徑組合導致的逃逸。

      3.2 macOS 應用包驗證增強

      路徑范圍約束:在解壓更新包時,新增bundleEntryPath函數要求所有解壓條目必須在Ollama.app目錄內(或者對于帶 archive root 的包,必須在解壓后的根目錄內)。任何試圖跳出應用包目錄的條目都會被拒絕。

      符號鏈接安全驗證:新增validBundleLinkTarget函數,拒絕以下符號鏈接:

      • ? 空鏈接目標

      • ? 絕對路徑

      • ? 包含..組件且跳出應用包目錄

      • ? 指向應用包外部的任何路徑

      測試覆蓋:新增了針對各種惡意構造的更新包的測試用例,包括路徑逃逸、絕對符號鏈接、相對符號鏈接逃逸等場景。

      3.3 Windows 安裝程序簽名驗證

      本次更新為 Windows 平臺添加了安裝程序數字簽名驗證:

      WinVerifyTrust 調用:使用 Windows 的WinVerifyTrustExAPI 驗證安裝程序的 Authenticode 簽名,確保更新包確實由 Ollama Inc. 簽名且未被篡改。

      簽名者證書提取:通過CryptQueryObjectCryptMsgGetParam從 PKCS 簽名中提取簽名者證書信息,驗證證書的組織名稱是否為 "Ollama Inc."。

      集成到升級流程:在DoUpgradeAtStartupDoUpgrade中都會調用VerifyDownload,如果驗證失敗,會刪除損壞的更新包并返回錯誤,防止執行未簽名的代碼。

      3.4 測試框架增強

      實時更新測試:新增updater_live構建標簽,允許運行真實的端到端更新測試。該測試會從 ollama.com 的正式更新端點下載當前操作系統的更新包,驗證整個下載、驗證、暫存流程。

      單元測試覆蓋:新增針對路徑逃逸、不安全文件名、惡意 ETag、符號鏈接驗證等場景的單元測試。

      四、傳輸層并發控制 4.1 新增環境變量 OLLAMA_MAX_TRANSFER_STREAMS

      本次更新引入了一個新的環境變量OLLAMA_MAX_TRANSFER_STREAMS,用于控制 safetensors 格式模型拉取和推送時的并發傳輸流數量。

      默認值:4

      作用:限制同時進行的帶有請求體的 HTTP 傳輸數量,避免在較慢的家庭網絡上過度占用帶寬導致網絡擁塞。這一設置不影響 GGUF 格式模型的傳輸(仍使用傳統的上傳/下載路徑)。

      代碼集成:在server/images.gopullWithTransferpushWithTransfer函數中將BodyConcurrency設置為max(1, int(envconfig.MaxTransferStreams())),確保至少有 1 個并發流。

      4.2 Transfer 包的并發控制重構

      x/transfer/download.go中,新增了bodySem信號量字段和holdBody方法:

      func (d *downloader) holdBody(ctx context.Context) (func(), error) {
      if d.bodySem == nil {
      return func() {}, nil
      }
      if err := d.bodySem.Acquire(ctx, 1); err != nil {
      return nil, err
      }
      return func() { d.bodySem.Release(1) }, nil
      }

      Token 管理的線程安全:將原來的*stringtoken 指針改為帶讀寫鎖保護的string字段,新增authToken讀取方法和refreshToken方法,確保在多個并發 goroutine 同時收到 401 響應時,只有一個會執行實際的 token 刷新操作。

      下載摘要日志:在下載完成后輸出統計信息,包括 blob 數量、下載字節數、耗時和傳輸速率,方便排查性能問題。

      五、測試體系完善 5.1 CI 工作流改進

      .github/workflows/test.yaml中新增了app_changed輸出,用于檢測app/**目錄的變更。當應用代碼發生變化且運行在 macOS 或 Windows 平臺時,會執行帶有updater_live標簽的測試:

      - name:gotestappwithliveupdatertag
      if:${{needs.changes.outputs.app_changed=='True'&&contains(fromJSON('["macos-latest","windows-latest"]'),matrix.os)}}
      run:gotest-count=1-tagsupdater_live ./app/...
      5.2 集成測試優化

      Token 管理修復:在envconfig/test_home_test.goserver/test_home_test.go中添加t.Setenv("OLLAMA_MODELS", ""),避免測試間環境變量污染導致的 token 驗證失敗。

      錯誤信息改進:在integration/api_test.go中,將錯誤輸出從打印Messages結構改為調用summarizeMessages函數,該函數會截斷圖片數據的完整內容,避免日志中出現超長的整數數組。

      超時調整:針對TestUnicodeTestLongInputContext等慢速測試增加了超時時間,適應 GPU 負載不足時的性能波動。

      新增輔助函數

      • ?skipIfMLXUnsupported:檢測 MLX 不支持的錯誤信息,在非 Apple Silicon 平臺上跳過測試

      • ?skipIfModelTooLargeForVRAM:檢查模型大小是否超過 OLLAMA_MAX_VRAM 的 75%,超過則跳過

      • ?containsEmoji:用于驗證故事生成測試中是否包含表情符號

      5.3 模型測試集更新

      更新了多個測試模型列表:

      • ?聊天模型:新增nemotron3:33blaguna-xs.2:q4_K_Mgemma4

      • ?MLX 模型:新增laguna-xs.2:nvfp4qwen3.5:2b-nvfp4gemma4:e2b-nvfp4

      • ?視覺模型:新增nemotron3:33bgemma4

      • ?工具調用模型:新增nemotron3:33blaguna-xs.2gemma4

      六、命令行界面優化 6.1 環境變量文檔格式化

      cmd/cmd.go中,將環境變量文檔的輸出寬度從 24 字符調整為 27 字符,使得較長的變量名(如OLLAMA_MAX_TRANSFER_STREAMS)能夠完整顯示,改善了ollama help命令的可讀性。

      6.2 環境變量注冊

      envconfig/config.go中注冊了OLLAMA_MAX_TRANSFER_STREAMS變量,包含描述信息:"Maximum parallel transfer streams for safetensors model pulls/pushes (default 4)"。

      同時更新了環境變量映射表,統一調整了各變量名的對齊格式。

      七、服務端錯誤處理優化 7.1 流式響應中的錯誤傳遞

      server/routes.gohandleImageGenerate函數中,改進了流式響應中的錯誤處理邏輯:

      原行為:如果流已經開始但后續生成失敗,只能返回 200 狀態碼并在響應體末尾附加錯誤信息,客戶端可能無法正確解析。

      新行為:當isStreaming為 true 但streamStarted為 false 時,仍然返回 JSON 錯誤響應;當流已經開始后發生錯誤,會輸出一個 JSON 格式的錯誤行并刷新緩沖區:

      data, _ := json.Marshal(gin.H{"error": err.Error()})
      c.Writer.Write(append(data, '\n'))
      c.Writer.Flush()

      這使得客戶端能夠正確區分正常的流結束和異常錯誤。

      7.2 圖像生成錯誤測試

      新增server/routes_generate_test.go,包含兩個測試用例:

      • ?TestImageGenerateStreamFalseErrorAfterProgress:非流式請求在發送進度后發生錯誤,驗證返回 500 狀態碼

      • ?TestImageGenerateStreamingErrorAfterProgress:流式請求在發送進度后發生錯誤,驗證先輸出進度數據再輸出錯誤行

      八、MLX Runner 狀態緩存機制 8.1 內存狀態緩存

      x/mlxrunner/status_memory.go中新增statusMemoryCache結構,用于緩存 MLX 的內存使用狀態,避免每次健康檢查都阻塞等待 MLX 工作線程:

      核心特性

      • ? 異步刷新:后臺 goroutine 每 50ms 刷新一次內存統計

      • ? 等待超時:如果刷新未及時完成,返回緩存值而不阻塞健康檢查

      • ? 并發安全:使用互斥鎖保護共享狀態

      • ? 上下文取消:檢測到 context 完成時立即退出

      內存讀取封裝:在x/mlxrunner/server.go中,將內存讀取操作改為通過mlxthread.Call在工作線程中執行,同時使用緩存機制減少調用頻率。

      8.2 工作線程生命周期管理

      x/imagegen/runner.go中,圖像生成 runner 也集成了新的線程管理機制:

      MLX 初始化:通過mlxthread.Start啟動工作線程,在專用的 goroutine 中執行 MLX 初始化操作。

      請求串行化:每個圖像生成請求通過s.mlxThread.Do在工作線程中執行,確保 MLX 操作不會并發執行導致狀態沖突。

      優雅關閉:在服務關閉時調用worker.Stop,并傳入清理函數mlx.ClearCache,等待正在進行的操作完成后釋放資源。

      九、傳輸層測試覆蓋率提升

      本次更新對x/transfer包進行了大規模測試重構(transfer_test.go變更有 +1,062/-83 行),主要新增和改進了以下測試場景:

      1. 1.下載并發控制測試:驗證BodyConcurrency參數能夠正確限制并發的 body-bearing 請求數量

      2. 2.Token 刷新競態測試:模擬多個并發請求同時收到 401 響應,驗證只有一個 token 刷新請求被執行

      3. 3.上傳路徑遍歷防護測試:驗證惡意構造的文件名無法逃出暫存目錄

      4. 4.大文件斷點續傳測試:驗證 HTTP Range 請求在部分下載后能夠正確恢復

      5. 5.分片上傳回退測試:測試當服務器要求分片上傳時的兼容性路徑

      十、實際應用建議 10.1 Apple Silicon 用戶

      如果你使用 macOS 且主要運行 safetensors 格式模型(如 MLX 優化版本),建議:

      • ? 升級后驗證圖像生成功能的性能提升

      • ? 檢查長時間推理任務是否不再出現超時錯誤

      10.2 網絡受限環境

      如果你的 Ollama 服務運行在家庭寬帶或移動網絡環境下:

      • ? 設置OLLAMA_MAX_TRANSFER_STREAMS為 2 或更小的值,避免網絡擁塞

      • ? 觀察模型拉取/推送時的帶寬占用情況,按需調整

      10.3 Windows 用戶

      如果你在 Windows 上運行 Ollama 并啟用了自動更新:

      • ? 新版本會自動驗證更新包的數字簽名

      • ? 如果更新失敗,請檢查安裝程序是否被第三方安全軟件攔截

      10.4 自建 Ollama 服務的開發者

      如果你維護自定義的 Ollama 構建或鏡像:

      • ? 注意更新機制中的路徑驗證邏輯變更,確保自定義更新 URL 返回的Content-DispositionETag符合安全要求

      • ? MLX 構建過程新增了 metallib 重新鏈接步驟,請更新構建腳本

      結語

      代碼地址:github.com/ollama/ollama

      Ollama v0.23.3 是一個以穩定性和安全性為主的維護版本。MLX 后端的多項優化顯著改善了 Apple Silicon 平臺上的推理體驗,更新機制的加固為用戶提供了更安全的自動升級保障,而傳輸并發控制的引入則為受限網絡環境下的模型分發提供了靈活調整空間。建議所有用戶升級到此版本,特別是 macOS 用戶和啟用了自動更新的 Windows 用戶。

      我們相信人工智能為普通人提供了一種“增強工具”,并致力于分享全方位的AI知識。在這里,您可以找到最新的AI科普文章、工具評測、提升效率的秘籍以及行業洞察。 歡迎關注“福大大架構師每日一題”,發消息可獲得面試資料,讓AI助力您的未來發展。

      特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

      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.

      相關推薦
      熱點推薦
      特朗普飛中國!空軍一號有多牛?看完大開眼界

      特朗普飛中國!空軍一號有多牛?看完大開眼界

      起喜電影
      2026-05-14 11:49:26
      菲律賓政壇驚天變局,彈劾大戲風云反轉,權力博弈背后暗藏抉擇

      菲律賓政壇驚天變局,彈劾大戲風云反轉,權力博弈背后暗藏抉擇

      三石記
      2026-05-14 19:09:03
      六小齡童談《西游記》片酬:25集拍了6年,2000塊都不到

      六小齡童談《西游記》片酬:25集拍了6年,2000塊都不到

      環球網資訊
      2026-04-24 14:12:10
      蘇聯空軍3.2馬赫神話,因一次叛逃而破滅,貝連科駕駛米格-25叛逃

      蘇聯空軍3.2馬赫神話,因一次叛逃而破滅,貝連科駕駛米格-25叛逃

      大炮兵主義
      2026-05-09 00:02:34
      官方:咪咕、愛奇藝將轉播U17亞洲杯1/4決賽中國vs沙特

      官方:咪咕、愛奇藝將轉播U17亞洲杯1/4決賽中國vs沙特

      懂球帝
      2026-05-15 16:46:35
      恭喜!26歲鋒霸正式回歸豪門,從CBA打回頂級聯賽,曾大帽崔永熙

      恭喜!26歲鋒霸正式回歸豪門,從CBA打回頂級聯賽,曾大帽崔永熙

      萌蘭聊個球
      2026-05-15 09:19:16
      國乒亞運10人名單確定,樊振東落選王皓回應

      國乒亞運10人名單確定,樊振東落選王皓回應

      老沮系戲精北鼻
      2026-05-14 21:44:06
      聽我一句勸,這6種小區的房子再便宜也不要買,不然住進去就后悔

      聽我一句勸,這6種小區的房子再便宜也不要買,不然住進去就后悔

      裝修秀
      2026-05-15 10:30:09
      陪玩陪睡根本不夠!認干爹、舔手指,背地里的陰暗面完全藏不住了

      陪玩陪睡根本不夠!認干爹、舔手指,背地里的陰暗面完全藏不住了

      杰絲聊古今
      2026-05-03 13:35:27
      CBA消息!北京男籃傷大將,廣東4人進入國家隊,張鎮麟碾壓曾凡博

      CBA消息!北京男籃傷大將,廣東4人進入國家隊,張鎮麟碾壓曾凡博

      呀古銅
      2026-05-16 00:16:56
      最高院:提供 “口交” “肛交”等進入式性服務,是否屬賣淫行為?

      最高院:提供 “口交” “肛交”等進入式性服務,是否屬賣淫行為?

      周軍律師聊案子
      2026-04-21 09:50:16
      陜西一男子供職國企18年不愿異地調崗被辭退

      陜西一男子供職國企18年不愿異地調崗被辭退

      黃河新聞網呂梁
      2026-05-15 16:48:24
      四千年被逼去給大佬陪酒了

      四千年被逼去給大佬陪酒了

      毒舌扒姨太
      2026-05-15 22:40:07
      網友反映重慶一市區公園出現毒蛇

      網友反映重慶一市區公園出現毒蛇

      黃河新聞網呂梁
      2026-05-15 18:26:16
      59歲無兒無女,結3次婚、兩度喪子,張衛健如今生活得無比瀟灑

      59歲無兒無女,結3次婚、兩度喪子,張衛健如今生活得無比瀟灑

      老黯談娛
      2026-05-15 13:43:39
      空襲或致烏克蘭不再出售可口可樂!再次TACO:特朗普退出俄烏調停

      空襲或致烏克蘭不再出售可口可樂!再次TACO:特朗普退出俄烏調停

      鷹眼Defence
      2026-05-13 17:24:06
      麥當勞神創意!2根薯條海報致敬MJ爆火,近8萬點贊!網友:放國內甲方直接駁回

      麥當勞神創意!2根薯條海報致敬MJ爆火,近8萬點贊!網友:放國內甲方直接駁回

      品牌新
      2026-05-14 09:13:57
      會談結束!中美談足135分鐘,中方一錘定音,臺灣問題有了定論

      會談結束!中美談足135分鐘,中方一錘定音,臺灣問題有了定論

      阿物評論哥
      2026-05-14 16:58:40
      再見湖人!再見東契奇!詹姆斯新合同曝光,網友:白菜價

      再見湖人!再見東契奇!詹姆斯新合同曝光,網友:白菜價

      野渡舟山人
      2026-05-15 18:19:22
      我敢保證99%的男人會選白衣服女孩做老婆,看她氣質面相旺夫相

      我敢保證99%的男人會選白衣服女孩做老婆,看她氣質面相旺夫相

      荷蘭豆愛健康
      2026-05-02 09:06:30
      2026-05-16 00:48:49
      moonfdd incentive-icons
      moonfdd
      福大大架構師每日一題
      1229文章數 68關注度
      往期回顧 全部

      科技要聞

      直降千元起步!蘋果華為率先開啟618讓利

      頭條要聞

      特朗普稱中方同意購買200架波音飛機 外交部回應

      頭條要聞

      特朗普稱中方同意購買200架波音飛機 外交部回應

      體育要聞

      德約科維奇買的球隊,從第6級聯賽升入法甲

      娛樂要聞

      方媛為何要來《桃花塢6》沒苦硬吃?

      財經要聞

      騰訊掉隊,馬化騰戳破真相

      汽車要聞

      高爾夫GTI刷新紐北紀錄 ID. Polo GTI迎全球首秀

      態度原創

      房產
      旅游
      教育
      藝術
      公開課

      房產要聞

      老黃埔熱銷之下,珠江春,為何去化僅3成?

      旅游要聞

      藏在沈陽鬧市的金色秘境!2 萬㎡油菜花全開,地鐵直達還免費

      教育要聞

      深圳市福田區教育局局長王巍:教師不再是傳統的教書匠,而是成為與孩子并肩探索的“創新合伙人”

      藝術要聞

      法國女神蘇菲·瑪索,性感魅力無人能敵!

      公開課

      李玫瑾:為什么性格比能力更重要?

      無障礙瀏覽 進入關懷版 主站蜘蛛池模板: 无码人妻精品专区在线视频| 八区精品色欲人妻综合网| 久久综合少妇11p| 久久久久久免费一区二区三区| 996热re视频精品视频这里| 久久综合伊人77777麻豆| 久久精品无码免费不卡| 亚洲第九十九页| 国产性夜夜春夜夜爽1a片| 麻豆精品传媒2021md| 久久久久久久久18禁秘| 国产精品午夜福利麻豆| 亚洲一区二区三区自拍麻豆 | 国产精品久久久久影院老司 | 国产精品69人妻我爱绿帽子| 毛片免费观看天天干天天爽| 久久亚洲精品ab无码播放| 色偷偷狠狠色综合网| 女人夜夜春高潮爽a∨片传媒| 亚洲少妇色图在线观看| 91精品国产91久久久无码色戒| 国产丝袜91| 欧洲国产成人久久精品综合| 亚洲日本va午夜在线影院| 少妇特黄a一区二区三区| 欧美乱码伦视频免费| 一区亚洲深夜视频在线观看免费| 在线精品视频一区二区三四| 日韩蜜桃AV无码中文字幕不卡高清一区二区 | 激情国产一区二区三区四| 国产亚洲精品视觉盛宴| 精品国产成人a在线观看| 中文字幕一区二区三区乱码| 欧美xxxx做受欧美.88| 在线视频夫妻内射| 超碰aⅴ人人做人人爽欧美| 国产69精品久久久久99尤物| av中文字幕不卡| 果冻传媒18禁免费视频| 一区二区av在线免费| 衡阳县|