Delen via


Aan de slag met het bouwen van een app met Windows AI APIs

Meer informatie over de Windows AI-hardwarevereisten API en het configureren van uw apparaat om apps te bouwen met windows AI APIs.

Afhankelijkheden

Zorg ervoor dat uw pc Windows AI APIs ondersteunt en dat alle afhankelijkheden zijn geïnstalleerd. U kunt ervoor kiezen om dit automatisch (aanbevolen) of handmatig te doen.

  1. Controleer of uw apparaat een Copilot+-pc is (we raden de apparaten aan die worden vermeld in de ontwikkelaarshandleiding voor Copilot+-pc's).

  2. Voer de volgende opdracht uit in Windows Terminal.

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

    Hiermee wordt een WinGet-configuratiebestand uitgevoerd waarmee de volgende taken worden uitgevoerd:

    • Controleert op minimale versie van het besturingssysteem.
    • Hiermee schakelt u de ontwikkelaarsmodus in.
    • Installeert Visual Studio Community Edition met WinUI en andere vereiste workloads.
    • Installeert de Windows App SDK.

Een nieuwe app bouwen

In de volgende stappen wordt beschreven hoe u een app bouwt die gebruikmaakt van Windows AI APIs (selecteer het tabblad voor het UI-framework van uw voorkeur).

  1. Maak in Visual Studio een nieuw WinUI-project door de sjabloon Blank App, Packaged (WinUI 3 in Desktop) te selecteren.

    Een schermopname van de nieuwe projectgebruikersinterface van Visual Studio met de WinUI-sjabloon geselecteerd.

  2. Klik in Solution Explorer met de rechtermuisknop op het projectknooppunt, selecteerEigenschappentoepassings>>algemeen en zorg ervoor dat het doelframework is ingesteld op .NET 8.0 en het doelbesturingssysteem is ingesteld op 10.0.22621 of hoger.

    Een schermopname van het deelvenster Eigenschappen van het Visual Studio-project

  3. Bewerk het bestand Package.appxmanifest (klik met de rechtermuisknop en selecteer Code weergeven) en voeg de volgende codefragmenten toe.

    • De systemAIModels mogelijkheid voor het <Capabilities> knooppunt:

      <Capabilities>
         <systemai:Capability Name="systemAIModels"/>
      </Capabilities>
      
    • De systemai naamruimteaanduiding voor 'IgnorableNamespaces' in het <Package> knooppunt:

      xmlns:systemai="http://schemas.microsoft.com/appx/manifest/systemai/windows10"
      IgnorableNamespaces="uap rescap systemai"
      
    • De maximale versie die is getest in het TargetDeviceFamily-element van het <Dependencies>-knooppunt moet ten minste 10.0.26226.0 zijn.

      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
      
  4. Voeg het volgende toe aan het bestand .waproj, .csproj of .vcxproj. Deze stap is nodig om ervoor te zorgen dat visual studio de geteste maximale versie niet overschrijft.

    <AppxOSMinVersionReplaceManifestVersion>false</AppxOSMinVersionReplaceManifestVersion>
    <AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion>
    
  5. Klik met de rechtermuisknop op het projectknooppunt en selecteer NuGet-pakketten beheren....

  6. Schakel in NuGet Package Manager het selectievakje Prerelease opnemen in en selecteer Windows App SDK-versie 1.8.250410001-experimenteel1. Klik op Installeren of Bijwerken.

    Een schermopname van Visual Studio nuget-pakketbeheer met Microsoft.WindowsAppSDK 1.8.250410001-experimenteel1 geselecteerd.

  7. Zorg ervoor dat uw buildconfiguratie is ingesteld op ARM64.

    Een schermopname van de configuratie van de Visual Studio-build die is ingesteld op ARM64.

  8. Bouw en voer uw app uit.

  9. Als de app succesvol wordt gestart, gaat u verder met het toevoegen van uw eerste AI API. Anders ziet u Troubleshooting.

Uw eerste AI toevoegen API

Wanneer u een functie implementeert met Windows AI APIs, moet uw app eerst controleren op de beschikbaarheid van het AI-model dat die functie ondersteunt.

In het volgende fragment ziet u hoe u kunt controleren op beschikbaarheid van modellen en hoe u een antwoord genereert.

  1. Voeg in MainWindow.xaml een TextBlock toe om het LanguageModel-antwoord weer te geven.

    <TextBlock x:Name="OutputText" HorizontalAlignment="Center" VerticalAlignment="Center" />
    
  2. Voeg bovenaan MainWindow.xaml.cs de volgende using Microsoft.Windows.AI richtlijn toe.

    using Microsoft.Windows.AI; 
    
  3. In MainWindow.xaml.cs, vervang de klasse MainWindow door de volgende code, die bevestigt dat het LanguageModel beschikbaar is en verzendt een prompt waarin het model wordt gevraagd te reageren met de moleculaire formule van glucose.

    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. Bouw en voer de app uit.

  5. De formule voor glucose moet worden weergegeven in het tekstblok.

Geavanceerde tutorials en APIs

Nu u de beschikbaarheid van modellen hebt gecontroleerd, kunt u het APIs verder verkennen met behulp van de verschillende Windows AI-zelfstudies API.

Probleemoplossingsproces

Als er fouten optreden, is dit meestal het gevolg van uw hardware of het ontbreken van een vereist model.

  • De Methode GetReadyState controleert of het model dat is vereist voor een AI-functie beschikbaar is op het apparaat van de gebruiker. U moet deze methode aanroepen voordat u het model aanroept.
  • Als het model niet beschikbaar is op het apparaat van de gebruiker, kunt u de methode EnsureReadyAsync aanroepen om het vereiste model te installeren. De installatie van het model wordt op de achtergrond uitgevoerd en de gebruiker kan de voortgang van de installatie controleren op de pagina Instellingen voor Windows>Windows Update.
  • De methode EnsureReadyAsync heeft een statusoptie waarmee een gebruikersinterface voor laden kan worden weergegeven. Als de gebruiker niet-ondersteunde hardware heeft, mislukt EnsureReadyAsync met een fout.

Zie Windows AI-probleemoplossing API en veelgestelde vragen voor meer hulp.

Zie ook