Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
- Automatische installatie van afhankelijkheden (aanbevolen)
- Handmatige installatie van afhankelijkheden
Controleer of uw apparaat voldoet aan de hardwarevereisten voor de Windows AI-APIs die u wilt gebruiken. De meeste APIs vereisen een Copilot+ PC met een NPU (we raden de apparaten aan die worden vermeld in de ontwikkelaarshandleiding voor Copilot+ PCs). Sommige APIs bieden ook ondersteuning voor GPU- of CPU-uitvoering op niet-Copilot+ apparaten. Zie de ondersteunde hardwaretabel voor meer informatie.
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.wingetHiermee 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).
Maak in Visual Studio een nieuw WinUI-project door de sjabloon Blank App, Packaged (WinUI 3 in Desktop) te selecteren.
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.
Bewerk het bestand Package.appxmanifest (klik met de rechtermuisknop en selecteer Code weergeven) en voeg de volgende codefragmenten toe.
De
systemAIModelsmogelijkheid voor het<Capabilities>knooppunt:<Capabilities> <systemai:Capability Name="systemAIModels"/> </Capabilities>De
systemainaamruimteaanduiding 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" />
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>Klik met de rechtermuisknop op het projectknooppunt en selecteer NuGet-pakketten beheren....
Schakel in NuGet Pakketbeheer het selectievakje Prerelease opnemen in en selecteer Windows App SDK-versie 1.8.250410001-experimenteel1. Klik op Installeren of Bijwerken.
Zorg ervoor dat uw buildconfiguratie is ingesteld op de juiste architectuur voor uw apparaat (bijvoorbeeld ARM64 of x64).
Bouw en voer uw app uit.
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.
Voeg in MainWindow.xaml een TextBlock toe om het LanguageModel-antwoord weer te geven.
<TextBlock x:Name="OutputText" HorizontalAlignment="Center" VerticalAlignment="Center" />Voeg bovenaan MainWindow.xaml.cs de volgende
using Microsoft.Windows.AIrichtlijn toe.using Microsoft.Windows.AI;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; } }Bouw en voer de app uit.
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.
- Meer informatie over beschikbare Windows AI APIs
- PhiSilium API Walkthrough
- Overzicht van tekstherkenning API
- Rondleiding voor imaging 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.
Hardwareondersteuning tijdens runtime detecteren
Windows AI APIs worden geleverd op een breed scala aan hardware (NPU, GPU, CPU) en niet elke API wordt op elk apparaat ondersteund. Uw app moet afgaan op de uitkomst van GetReadyState voordat u iets doet, inclusief het weergeven van UI die afhankelijk is van de functionaliteit:
AIFeatureReadyState |
Wat betekent het? | Wat uw app moet doen |
|---|---|---|
Ready |
Het model is geïnstalleerd en het apparaat ondersteunt het API. | Bel de API. |
NotReady of EnsureNeeded |
Het apparaat ondersteunt de API, maar het model moet worden gedownload of voorbereid. | Geef een toestemmingsdialoogvenster weer waarin de download wordt uitgelegd (grootte, netwerkgebruik), en roep EnsureReadyAsync aan en rapporteert de voortgang aan de gebruiker. |
NotSupportedOnCurrentSystem |
Het apparaat kan dit API niet uitvoeren (niet-compatibele hardware, ontbrekende stuurprogramma's of beleid). | Roep EnsureReadyAsync niet aan. De functie verbergen of uitschakelen of terugvallen op een alternatieve implementatie (bijvoorbeeld een AI-service voor de cloud). |
Zie Phi Silica → aanbevolen UX-patroon voor een end-to-endvoorbeeld van alle drie de scenario’s (inclusief de UX van het toestemmingsvenster). Hetzelfde patroon is van toepassing op elke Windows AI-API die GetReadyState beschikbaar maakt.
Opmerking
Voor APIs met aanbevolen CPU-specificaties (zoals VSR) is GetReadyState op zichzelf niet voldoende.
GetReadyState geeft alleen aan of de API ondersteuning wordt ondersteund. De CPU-specificatiecontrole geeft aan of deze goed genoeg wordt uitgevoerd voor uw UX. Gebruik beide: poort beschikbaarheid met GetReadyState, poortkwaliteitskeuzen met de CPU-controle.
Zie Windows AI-probleemoplossing API en veelgestelde vragen voor meer hulp.