共用方式為


Foundry Local 架構

這很重要

  • Foundry Local 提供預覽版。 公開預覽版本可讓您搶先試用正在開發期間的功能。
  • 正式發行前的功能、方法和程序可能會變更或有功能上的限制。

Foundry Local 可直接在您的裝置上實現高效、安全且可擴展的 AI 模型推理。 本文說明 Foundry Local 的核心元件,以及如何一起提供 AI 功能。

Foundry Local 提供以下主要優勢:

  • 低延遲:在本地運行模型以最大限度地減少處理時間並提供更快的結果。
  • 資料隱私:在本地處理敏感資料,無需將其傳送到雲端,有助於滿足資料保護要求。
  • 彈性:支援各種硬體組態,可讓您為需求選擇最佳設定。
  • 可擴縮性:在從筆記型電腦到伺服器的各種裝置之間部署,以符合不同的案例。
  • 成本效益:降低雲端運算成本,特別是對於大容量應用程式。
  • 離線操作:在遠端或斷開連接的環境中無需網路連線即可工作。
  • 無縫集成: 輕鬆整合到現有開發工作流程中,以順利採用。

主要元件

Foundry Local 架構包含下列主要元件:

Foundry 本地架構的圖表。

Foundry Local 服務

Foundry 本地服務包含 OpenAI 相容的 REST 伺服器,可提供標準介面來使用推斷引擎。 您也可以透過 REST 管理模型。 開發人員使用此 API 來傳送要求、執行模型,以及以程式設計方式取得結果。

  • 端點:服務啟動時會 動態配置 端點。 您可以執行 foundry service status 命令來尋找端點。 在應用程式中使用 Foundry Local 時,建議您使用會自動為您處理端點的 SDK。 如需如何使用 Foundry Local SDK 的詳細資訊,請參閱 整合式推斷 SDK 與 Foundry Local 一文。
  • 使用案例
    • 將 Foundry Local 連線到您的自訂應用程式
    • 透過 HTTP 要求執行模型

ONNX 運行時間

ONNX 執行環境是執行 AI 模型的核心元件。 它會在 CPU、GPU 或 NPU 等本機硬體上有效率地執行優化的 ONNX 模型。

功能

  • 與多個硬體提供者合作(NVIDIA、AMD、Intel、Qualcomm)和裝置類型(NPU、CPU、GPU)
  • 提供一致的介面,以跨不同硬體模型執行
  • 提供頂級效能
  • 支援量化模型以加快推斷速度

模型管理

Foundry Local 提供強大的工具來管理 AI 模型,確保它們可供推斷且易於維護。 模型管理是透過 模型 快取和 Command-Line 介面 (CLI) 來處理。

模型快取

模型快取會將下載的 AI 模型儲存在您的裝置本機上,以確保模型已準備好進行推斷,而不需要重複下載模型。 您可以使用 Foundry CLI 或 REST API 來管理快取。

  • 目的:將模型保持在本機可用,以加速推斷
  • 主要命令
    • foundry cache list:顯示本機快取中的所有模型
    • foundry cache remove <model-name>:從快取中移除特定模型
    • foundry cache cd <path>:變更快取模型的儲存位置

模型生命週期

  1. 下載:從 Foundry 模型目錄下載模型並儲存到本地磁碟。
  2. 載入:將模型載入 Foundry 本地服務記憶體以進行推斷。 設定 TTL (存留時間)來控制模型在記憶體中停留的時間(預設值:10 分鐘)。
  3. 執行:為您的要求執行模型推斷。
  4. 卸除:從記憶體中移除模型,以在不再需要時釋出資源。
  5. 刪除:從本機快取移除模型以回收磁碟空間。

使用 Olive 進行模型編譯

在模型可以搭配 Foundry Local 使用之前,必須先以 ONNX 格式進行編譯和優化。 Microsoft 在 Foundry 模型目錄中提供已針對 Foundry Local 優化的已發表模型精選。 不過,透過使用 Olive,您不限於這些模型。 Olive 是一個功能強大的架構,可準備 AI 模型以有效率的推斷。 它會將模型轉換成 ONNX 格式、優化其圖形結構,並套用量化等技術來改善本機硬體的效能。

小提示

若要深入瞭解如何編譯 Foundry Local 的模型,請參閱 如何編譯在 Foundry Local 上執行的擁抱臉部模型

硬體抽象層

硬體抽象層可確保 Foundry Local 可以透過抽象化基礎硬體,在各種裝置上執行。 為了根據可用的硬體優化效能,Foundry Local 支援:

  • 多個 執行提供者,例如 NVIDIA CUDA、AMD、Qualcomm、Intel。
  • 多個 裝置類型,例如 CPU、GPU、NPU。

備註

如需 Windows 上的 Intel NPU 支援,您需要安裝 Intel NPU 驅動程式 以啟用硬體加速。

備註

要獲得高通 NPU 支持,您需要安裝 高通 NPU 驅動程序。 如果您遇到錯誤 Qnn error code 5005: "Failed to load from EpContext model. qnn_backend_manager.",這通常表示驅動程式過時或 NPU 資源衝突。 嘗試重新啟動以清除 NPU 資源衝突,尤其是在使用 Windows Copilot+ 功能之後。

開發人員體驗

Foundry Local 架構的設計目的是提供順暢的開發人員體驗,以便與 AI 模型輕鬆整合和互動。 開發人員可以選擇各種介面來與系統互動,包括:

命令列介面 (CLI)

Foundry CLI 是管理模型、推斷引擎和本機快取的強大工具。

範例:

  • foundry model list:列出本機快取中的所有可用模型。
  • foundry model run <model-name>:執行模型。
  • foundry service status:檢查服務的狀態。

小提示

若要深入瞭解 CLI 命令,請參閱 Foundry Local CLI 參考

推斷 SDK 整合

Foundry Local 支援與大部分語言的各種 SDK 整合,例如 OpenAI SDK,讓開發人員能夠使用熟悉的程式設計介面與本機推斷引擎互動。

小提示

若要深入瞭解如何與推斷 SDK 整合,請參閱 整合推斷 SDK 與 Foundry Local

適用於 Visual Studio Code 的 AI 工具組

適用於 Visual Studio Code 的 AI 工具組提供方便使用的介面,可讓開發人員與 Foundry Local 互動。 它可讓使用者執行模型、管理本機快取,以及直接在 IDE 內將結果可視化。

功能

  • 模型管理:從 IDE 內下載、載入和執行模型。
  • 互動式主控台:即時傳送要求和檢視回應。
  • 視覺效果工具:模型效能和結果的圖形表示。

先決條件

將 Foundry 本機模型連線至 AI 工具組:

  1. 在 AI 工具組中新增模型:從 Visual Studio Code 的活動列開啟 AI 工具組。 在「我的模型」面板中,選取「新增遠端介面的模型」按鈕,然後從下拉式功能表中選取「新增自訂模型」。
  2. 輸入聊天相容端點 URL:輸入 http://localhost:PORT/v1/chat/completions,將連接埠取代為您的 Foundry Local 服務端點的連接埠號碼。 您可以使用 CLI 命令 foundry service status來檢視本機執行服務的連接埠。 Foundry Local 會動態指派埠,因此它可能並不總是相同。
  3. 提供模型名稱:輸入您從 Foundry Local 使用的確切模型名稱,例如 phi-3.5-mini。 您可以使用 CLI 命令 foundry cache list 列出所有先前下載和本機快取的模型,或使用 foundry model list 來查看所有可用的模型供本機使用。 您也會被要求輸入僅供您本機使用的顯示名稱,因此為了避免混淆,建議您輸入與確切模型名稱相同的名稱。
  4. 驗證:如果您的本機設定不需要驗證 (這是 Foundry 本機設定的預設值),您可以將驗證標頭字段保留空白,然後按 Enter。

完成這些步驟之後,您的 Foundry Local 模型會出現在 AI 工具組中的 [我的模型] 清單中,並已準備好使用,方法是以滑鼠右鍵按兩下您的模型,然後選取 [在遊樂場中載入]。