Introduzione alla creazione di un'app con Windows per intelligenza artificiale APIs

Informazioni sui requisiti hardware di Windows per intelligenza API artificiale e su come configurare il dispositivo per compilare correttamente le app usando l'intelligenza artificiale APIsWindows.

Dipendenze

Assicurarsi che il PC supporti l'intelligenza artificiale APIs Windows e che tutte le dipendenze siano installate. È possibile scegliere di eseguire questa operazione automaticamente (scelta consigliata) o manualmente.

  1. Verifica che il tuo dispositivo soddisfi i requisiti hardware per Windows AI APIs che prevedi di usare. La maggior parte dei APIs richiede un Copilot+ PC con una NPU (è consigliabile usare i dispositivi elencati nella guida per sviluppatori Copilot+ PCs). Alcuni APIs supportano anche l'esecuzione su GPU o CPU su dispositivi non Copilot+ — consulta la tabella dell'hardware supportato per i dettagli.

  2. Eseguire il comando seguente in Terminale Windows.

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

    Viene eseguito un file di configurazione WinGet che esegue le attività seguenti:

    • Verifica la versione minima del sistema operativo.
    • Abilita la modalità sviluppatore.
    • Installa Visual Studio Community Edition con WinUI e altri carichi di lavoro necessari.
    • Installa il SDK per app di Windows.

Creare una nuova app

I passaggi seguenti descrivono come creare un'app che usa l'intelligenza artificiale APIs di Windows (selezionare la scheda per il framework dell'interfaccia utente preferito).

  1. In Visual Studio, creare un nuovo progetto WinUI selezionando il modello App vuota, Impacchettata (WinUI 3 in Desktop).

    Screenshot della nuova interfaccia utente di Progetto di Visual Studio con il modello WinUI selezionato.

  2. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo del progetto, selezionare Proprietà>Generale> e assicurarsi che il framework di destinazione sia impostato su .NET 8.0 e che il sistema operativo di destinazione sia impostato su 10.0.22621 o versione successiva.

    Screenshot del riquadro delle proprietà del progetto di Visual Studio

  3. Modificare il file Package.appxmanifest (fare clic con il pulsante destro del mouse e selezionare Visualizza codice) e aggiungere i frammenti di codice seguenti.

    • Funzionalità systemAIModels del <Capabilities> nodo:

      <Capabilities>
         <systemai:Capability Name="systemAIModels"/>
      </Capabilities>
      
    • Identificatore systemai dello spazio dei nomi in "IgnorableNamespaces" nel <Package> nodo:

      xmlns:systemai="http://schemas.microsoft.com/appx/manifest/systemai/windows10"
      IgnorableNamespaces="uap rescap systemai"
      
    • La versione massima testata nell'elemento TargetDeviceFamily del <Dependencies> nodo deve essere almeno 10.0.26226.0:

      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.26226.0" />
      
  4. Aggiungere quanto segue al file con estensione waproj, csproj o .vcxproj. Questo passaggio è necessario per fare in modo che Visual Studio non sovrascriva la versione massima testata.

    <AppxOSMinVersionReplaceManifestVersion>false</AppxOSMinVersionReplaceManifestVersion>
    <AppxOSMaxVersionTestedReplaceManifestVersion>false</AppxOSMaxVersionTestedReplaceManifestVersion>
    
  5. Fare clic con il pulsante destro del mouse sul nodo del progetto e scegliere Gestisci pacchetti NuGet.

  6. In Gestione pacchetti NuGet selezionare la casella di controllo Includi versione preliminare e selezionare SDK per app di Windows versione 1.8.250410001-experimental1. Fare clic su Installa o Aggiorna.

    Screenshot della gestione pacchetti NuGet di Visual Studio con l'opzione Microsoft.WindowsAppSDK 1.8.250410001-experimental1 selezionata.

  7. Assicurarsi che la configurazione di compilazione sia impostata sull'architettura appropriata per il dispositivo, ad esempio ARM64 o x64.

    Screenshot della configurazione di compilazione di Visual Studio impostata su ARM64.

  8. Compilare ed eseguire l'app.

  9. Se l'app viene avviata correttamente, quindi continua ad aggiungere la tua prima intelligenza artificiale API. In caso contrario, vedere Risoluzione dei problemi.

Aggiungi la tua prima intelligenza artificiale API

Quando si implementa una funzionalità con Windows per intelligenza artificiale APIs, l'app deve prima verificare la disponibilità del modello di intelligenza artificiale che supporta tale funzionalità.

Il frammento di codice seguente illustra come verificare la disponibilità del modello e generare una risposta.

  1. In MainWindow.xaml aggiungere un controllo TextBlock per visualizzare la risposta LanguageModel .

    <TextBlock x:Name="OutputText" HorizontalAlignment="Center" VerticalAlignment="Center" />
    
  2. Nella parte superiore di MainWindow.xaml.cs aggiungere la direttiva seguente using Microsoft.Windows.AI .

    using Microsoft.Windows.AI; 
    
  3. In MainWindow.xaml.cssostituire la classe MainWindow con il codice seguente, che conferma che LanguageModel è disponibile e quindi invia una richiesta che chiede al modello di rispondere con la formula molecolare del glucosio.

    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. Compilare ed eseguire l'app.

  5. La formula per il glucosio dovrebbe essere visualizzata nel blocco di testo.

Esercitazioni avanzate e APIs

Dopo aver verificato correttamente la disponibilità del modello, approfondisci ulteriormente le esercitazioni sull'intelligenza artificiale APIs di Windows API.

Risoluzione dei problemi

Se si verificano errori, in genere è dovuto all'hardware o all'assenza di un modello obbligatorio.

  • Il metodo GetReadyState controlla se il modello richiesto da una funzionalità di intelligenza artificiale è disponibile nel dispositivo dell'utente. È necessario chiamare questo metodo prima di qualsiasi chiamata al modello.
  • Se il modello non è disponibile nel dispositivo dell'utente, è possibile chiamare il metodo EnsureReadyAsync per installare il modello richiesto. L'installazione del modello viene eseguita in background e l'utente può controllare lo stato di avanzamento dell'installazione nella pagina Impostazioni> diWindows Windows Update.
  • Il metodo EnsureReadyAsync ha un'opzione di stato che può mostrare un'interfaccia utente di caricamento. Se l'utente ha hardware non supportato, EnsureReadyAsync avrà esito negativo con un errore.

Rilevare il supporto hardware in fase di esecuzione

Windows IA APIs è disponibile in un'ampia gamma di hardware (NPU, GPU, CPU) e non tutti i API sono supportati in ogni dispositivo. L'app deve basare il proprio flusso sul risultato di GetReadyState prima di eseguire qualsiasi operazione, compresa la visualizzazione dell'interfaccia utente che dipende dalla funzionalità:

AIFeatureReadyState Significato Operazioni da eseguire nell'app
Ready Il modello è installato e il dispositivo supporta API. Chiama il API.
NotReady oppure EnsureNeeded Il dispositivo supporta il API, ma il modello deve essere scaricato o preparato. Visualizzare una finestra di dialogo di consenso che illustra il download (dimensioni, utilizzo di rete), quindi chiamare EnsureReadyAsync e segnalare lo stato di avanzamento all'utente.
NotSupportedOnCurrentSystem Il dispositivo non può eseguire questa operazione API (hardware incompatibile, driver mancanti o criteri). Non chiamare EnsureReadyAsync. Nascondere o disabilitare la funzionalità o eseguire il fallback a un'implementazione alternativa, ad esempio un servizio di intelligenza artificiale cloud.

Per un esempio end-to-end che copre tutti e tre i rami (inclusa l'esperienza utente della finestra di dialogo di consenso), vedere Phi Silica → modello di esperienza utente consigliato. Lo stesso schema si applica a ogni Windows AI API che espone GetReadyState.

Annotazioni

Per APIs con specifiche CPU consigliate (ad esempio VSR), GetReadyState da solo non è sufficiente. GetReadyState dice solo se API è supportato; il controllo delle specifiche della CPU ti dice se verrà eseguito abbastanza bene per la tua UX. Usare entrambi: disponibilità del gate con GetReadyState, opzioni di qualità del gate con la verifica della CPU.

Per altre informazioni, vedere Risoluzione dei problemi e domande frequenti su Windows per intelligenza artificialeAPI.

Vedere anche