次の方法で共有


Windows AI を使用してアプリの構築を開始する APIs

Windows AI API ハードウェア要件と、Windows AI APIsを使用してアプリを正常に構築するようにデバイスを構成する方法について説明します。

依存関係

PC で Windows AI APIs がサポートされていることと、すべての依存関係がインストールされていることを確認します。 これを自動的に行うか (推奨)、手動で行うかを選択できます。

  1. デバイスが Copilot+ PC であることを確認します ( Copilot+ PC 開発者ガイドに記載されているデバイスをお勧めします)。

  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 の最小バージョンを確認します。
    • 開発者モードを有効にします。
    • WinUI やその他の必要なワークロードを含む Visual Studio Community Edition をインストールします。
    • Windows App SDK をインストールします。

新しいアプリをビルドする

次の手順では、Windows AI APIs を使用するアプリを構築する方法について説明します (優先する UI フレームワークのタブを選択します)。

  1. Visual Studio で、 空のアプリパッケージ (デスクトップの WinUI 3) テンプレートを選択して、新しい WinUI プロジェクトを作成します。

    WinUI テンプレートが選択されている Visual Studio の新しいプロジェクト UI のスクリーンショット。

  2. ソリューション エクスプローラーでプロジェクト ノードを右クリックし、プロパティ>Application>General を選択し、ターゲット フレームワークが .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 App SDK バージョン 1.8.250410001-experimental1 を選択します。 [ インストール ] または [ 更新] をクリックします。

    Microsoft.WindowsAppSDK 1.8.250410001-experimental1 が選択されている Visual Studio nuget パッケージ マネージャーのスクリーンショット。

  7. ビルド構成が ARM64 に設定されていることを確認します。

    ARM64 に設定された Visual Studio ビルド構成のスクリーンショット。

  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

モデルの可用性を正常に確認できたので、さまざまな Windows AI APIs チュートリアルでAPIをさらに詳しく調べてください。

トラブルシューティング

エラーが発生した場合は、通常、ハードウェアまたは必要なモデルがないためです。

  • GetReadyState メソッドは、AI 機能に必要なモデルがユーザーのデバイスで使用できるかどうかを確認します。 モデルを呼び出す前に、このメソッドを呼び出す必要があります。
  • ユーザーのデバイスでモデルを使用できない場合は、 EnsureReadyAsync メソッドを呼び出して、必要なモデルをインストールできます。 モデルのインストールはバックグラウンドで実行され、ユーザーは Windows 設定>Windows 更新 設定ページでインストールの進行状況を確認できます。
  • EnsureReadyAsync メソッドには、読み込み UI を表示できる状態オプションがあります。 ユーザーがサポートされていないハードウェアを持っている場合、 EnsureReadyAsync はエラーで失敗します。

詳細については、 Windows AI API のトラブルシューティングと FAQ を参照してください。

こちらも参照ください