開始使用 Windows AI 建置應用程式 APIs

瞭解 Windows AI API 硬體需求,以及如何設定您的裝置,以使用 Windows AI APIs成功建置應用程式。

依賴

請確定您的電腦支援 Windows AI APIs ,並已安裝所有相依性。 您可以選擇自動執行此動作(建議)或手動執行。

  1. 確認你的裝置符合你打算使用的Windows AI APIs 的硬體需求。 大多數APIs需要帶有 NPU 的Copilot+ PC(我們推薦 Copilot+ PCs 開發者指南 中列出的裝置)。 部分 APIs 也支援在非 Copilot+ 裝置上以 GPU 或 CPU 執行——詳情請參閱 支援的硬體表

  2. Windows 終端機中執行下列命令。

    winget configure https://raw.githubusercontent.com/microsoft/winget-dsc/refs/heads/main/samples/Configuration%20files/Learn%20tutorials/Windows%20AI/learn_wcr.winget
    

    這會執行執行下列工作的 WinGet 組態檔

    • 檢查最低作業系統 (OS) 版本。
    • 啟用開發人員模式。
    • 安裝 Visual Studio Community Edition,包含 WinUI 和其他必要的工作負載。
    • 安裝 Windows 應用程式 SDK。

建置新的應用程式

下列步驟說明如何建置使用 Windows AI APIs 的應用程式(選取您慣用 UI 架構的索引標籤)。

  1. 在 Visual Studio 中,選擇 空白應用程式,已封裝(WinUI 3 在桌面) 範本,以建立新的 WinUI 專案。

    已選取 WinUI 範本的 Visual Studio 新專案 UI 螢幕快照。

  2. [方案總管] 中,以滑鼠右鍵按兩下項目節點,選取 [ 屬性>應用程式>一般],並確定目標架構設定為 .NET 8.0,並將目標OS設定為 10.0.22621 或更新版本。

    Visual Studio 專案屬性窗格的螢幕快照

  3. 編輯 Package.appxmanifest 檔案(以滑鼠右鍵按兩下並選取 [ 檢視程式代碼],然後新增下列代碼段。

    • 節點 systemAIModels 的功能 <Capabilities>

      <Capabilities>
         <systemai:Capability Name="systemAIModels"/>
      </Capabilities>
      
    • 節點 systemai 中 “IgnorableNamespaces” 的 <Package> 命名空間規範:

      xmlns:systemai="http://schemas.microsoft.com/appx/manifest/systemai/windows10"
      IgnorableNamespaces="uap rescap systemai"
      
    • TargetDeviceFamily節點的<Dependencies>元素中,測試的最大版本必須至少達到 10.0.26226.0:

      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
      
  4. 將下列內容新增至 .waproj、.csproj 或 .vcxproj 檔案。 進行此步驟是為了確保 Visual Studio 不會覆寫測試的最大版本。

    <AppxOSMinVersionReplaceManifestVersion>false</AppxOSMinVersionReplaceManifestVersion>
    <AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion>
    
  5. 以滑鼠右鍵按兩下項目節點,然後選取 [管理 NuGet 套件...]。

  6. NuGet 套件管理員中,核取 [包含發行前版本 ] 複選框,然後選取 [Windows 應用程式 SDK 1.8.250410001-experimental1]。 按兩下 [安裝 ] 或 [ 更新]。

    已選取 Microsoft.WindowsAppSDK 1.8.250410001-experimental1 的 Visual Studio nuget 套件管理員螢幕快照。

  7. 確保你的建置設定設定為適合你裝置的架構(例如 ARM64x64)。

    Visual Studio 組建組態設定為ARM64的螢幕快照。

  8. 建置並執行您的應用程式。

  9. 如果應用程式成功啟動,請繼續 新增您的第一個 AI API。 否則,請參閱 疑難解答

新增您的第一個 AI API

使用 Windows AI APIs實作功能時,您的應用程式應該先檢查支援該功能的 AI 模型可用性。

下列代碼段示範如何檢查模型可用性併產生回應。

  1. 在MainWindow.xaml中,新增 TextBlock 以顯示 LanguageModel 回應。

    <TextBlock x:Name="OutputText" HorizontalAlignment="Center" VerticalAlignment="Center" />
    
  2. 在MainWindow.xaml.cs頂端,新增下列 using Microsoft.Windows.AI 指示詞。

    using Microsoft.Windows.AI; 
    
  3. MainWindow.xaml.cs中,以下列程序代碼取代 MainWindow 類別,確認 LanguageModel 可供使用,然後提交提示要求模型以回應血糖分子公式。

    public sealed partial class MainWindow : Window
    {
        public MainWindow()
        {
            this.InitializeComponent();
            InitAI();
        }
    
        private async void InitAI()
        {
            OutputText.Text = "Loading..";
    
            if (LanguageModel.GetReadyState() == AIFeatureReadyState.EnsureNeeded)
            {
                var result = await LanguageModel.EnsureReadyAsync();
                if (result.Status != PackageDeploymentStatus.CompletedSuccess)
                {
                    throw new Exception(result.ExtendedError().Message);
                }
            }            
    
            using LanguageModel languageModel = 
               await LanguageModel.CreateAsync();
    
            string prompt = "Provide the molecular formula of glucose.";
            var result = await languageModel.GenerateResponseAsync(prompt);
            OutputText.Text = result.Response;
        }
    }
    
  4. 建置並執行應用程式。

  5. 血糖的公式應該會出現在文本塊中。

進階教學課程和 APIs

既然您已成功檢查模型可用性,請進一步探索 APIs 界面,以了解各種 Windows AI 教學課程 API。

故障排除

如果您遇到任何錯誤,通常是因為您的硬體或缺少必要的模型。

  • GetReadyState 方法會檢查用戶裝置上是否有 AI 功能所需的模型。 您必須在進行任何模型操作之前先呼叫此方法。
  • 如果模型無法在用戶的裝置上使用,您可以呼叫 EnsureReadyAsync 方法來安裝所需的模型。 模型安裝會在背景執行,用戶可以在 Windows 設定>Windows Update 設定頁面上檢查安裝進度。
  • EnsureReadyAsync 方法具有可顯示載入 UI 的狀態選項。 如果用戶的硬體不受支援, 則 EnsureReadyAsync 將會失敗並出現錯誤。

執行時偵測硬體支援

Windows AI APIs 支援多種硬體(NPU、GPU、CPU),並非所有 API 都支援所有裝置。 你的應用程式應先根據 GetReadyState 的結果採取不同處理,再執行任何操作,包括顯示取決於該功能的 UI:

AIFeatureReadyState 這是什麼意思? 你的應用程式應該做什麼
Ready 已安裝模型,裝置支援 API。 撥打 API。
NotReadyEnsureNeeded 裝置支援 API,但模型需要下載或準備。 顯示一個同意對話框,說明下載內容(大小、網路使用情況),然後呼叫 EnsureReadyAsync 向使用者回報進度。
NotSupportedOnCurrentSystem 裝置無法執行此程序 API (硬體不相容、驅動程式缺失或政策缺失)。 請勿致電 EnsureReadyAsync。 隱藏或停用該功能,或退回其他實作(例如 雲端 AI 服務)。

關於涵蓋三個分支(包括同意對話 UX)的端對端範例,請參見 Phi Silica → 推薦使用者體驗模式。 同樣的模式也適用於每個公開 API 的 Windows AI

備註

對於具有APIs(例如 VSR)的 ,光靠 GetReadyState 本身是不夠的。 GetReadyState 它只會告訴你是否支援; API CPU 規格檢查則告訴你它是否 足夠符合你的 使用者體驗。 兩者都要使用:搭配 GetReadyState 的閘可用性,以及搭配 CPU 檢查的閘品質選項。

如需更多協助,請參閱 Windows AI API 疑難解答和常見問題

另請參閱