Erfahren Sie mehr über die Hardwareanforderungen für Windows AI API und wie Sie Ihr Gerät so konfigurieren, dass Apps mit der Windows-KI APIserfolgreich erstellt werden.
Abhängigkeiten
Stellen Sie sicher, dass Ihr PC Windows AI APIs unterstützt und alle Abhängigkeiten installiert sind. Sie können dies automatisch (empfohlen) oder manuell ausführen.
Vergewissern Sie sich, dass Ihr Gerät ein Copilot+ PC ist (wir empfehlen die im Copilot+ PCs-Entwicklerhandbuch aufgeführten Geräte).
Führen Sie den folgenden Befehl in Windows Terminal aus.
winget configure https://raw.githubusercontent.com/microsoft/winget-dsc/refs/heads/main/samples/Configuration%20files/Learn%20tutorials/Windows%20AI/learn_wcr.winget
Dadurch wird eine WinGet-Konfigurationsdatei ausgeführt, die die folgenden Aufgaben ausführt:
- Sucht nach der Mindestversion des Betriebssystems.
- Aktiviert den Entwicklermodus.
- Installiert Visual Studio Community Edition mit WinUI und anderen erforderlichen Workloads.
- Installiert das Windows App SDK.
Erstellen einer neuen App
In den folgenden Schritten wird beschrieben, wie Sie eine App erstellen, die Windows AI APIs verwendet (wählen Sie die Registerkarte für Ihr bevorzugtes Benutzeroberflächenframework aus).
Erstellen Sie in Visual Studio ein neues WinUI-Projekt, indem Sie die Vorlage "Leere App" (WinUI 3 in Desktop) auswählen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, wählen Sie Eigenschaften>Anwendung>Allgemein aus, und stellen Sie sicher, dass das Zielframework auf .NET 8.0 festgelegt ist, und das Zielbetriebssystem auf 10.0.22621 oder höher festgelegt ist.
Bearbeiten Sie die Datei "Package.appxmanifest" (klicken Sie mit der rechten Maustaste, und wählen Sie "Code anzeigen") aus, und fügen Sie die folgenden Codeausschnitte hinzu.
Die Funktion systemAIModels
für den Knoten<Capabilities>
:
<Capabilities>
<systemai:Capability Name="systemAIModels"/>
</Capabilities>
Der systemai
Namespacebezeichner für den <Package>
Knoten:
xmlns:systemai="http://schemas.microsoft.com/appx/manifest/systemai/windows10"
Klicken Sie mit der rechten Maustaste auf den Projektknoten, und wählen Sie "NuGet-Pakete verwalten" aus.
Aktivieren Sie im NuGet-Paket-Manager das Kontrollkästchen Vorabversion einschließen , und wählen Sie Windows App SDK Version 1.8.250410001-experimental1 aus. Klicken Sie auf "Installieren " oder "Aktualisieren".
Stellen Sie sicher, dass die Buildkonfiguration auf ARM64 festgelegt ist.
Erstellen sie Ihre App, und führen Sie sie aus.
Wenn die App erfolgreich gestartet wird, fahren Sie mit dem Hinzufügen Ihrer ersten KI APIfort. Andernfalls finden Sie Informationen zur Problembehandlung.
Erstellen Sie in Visual Studio ein neues WPF-Projekt, indem Sie die WPF-Anwendungsvorlage auswählen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie "Projektdatei bearbeiten" aus, um sie als XML zu öffnen. Ersetzen Sie alles innerhalb von <PropertyGroup>
durch Folgendes:
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
<Nullable>enable</Nullable>
<UseWPF>true</UseWPF>
<ImplicitUsings>enable</ImplicitUsings>
<WindowsPackageType>None</WindowsPackageType>
Bearbeiten Sie die Datei "Package.appxmanifest" (klicken Sie mit der rechten Maustaste, und wählen Sie "Code anzeigen") aus, und fügen Sie die folgenden Codeausschnitte hinzu. Wenn diese Funktion nicht hinzugefügt wird, tritt ein Fehler auf: Zugriff verweigert.
Die Funktion systemAIModels
für den Knoten<Capabilities>
:
<Capabilities>
<systemai:Capability Name="systemAIModels"/>
</Capabilities>
Der systemai
Namespacebezeichner für den <Package>
Knoten:
xmlns:systemai="http://schemas.microsoft.com/appx/manifest/systemai/windows10"
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten "Abhängigkeiten" , und wählen Sie " Nuget-Pakete verwalten" aus.
Aktivieren Sie im NuGet-Paket-Manager das Kontrollkästchen Vorabversion einschließen , und wählen Sie Windows App SDK Version 1.8.250410001-experimental1 aus. Klicken Sie auf "Installieren " oder "Aktualisieren".
Erstellen sie Ihre App, und führen Sie sie aus.
Wenn die App erfolgreich gestartet wird, fahren Sie mit dem Hinzufügen Ihrer ersten KI APIfort. Andernfalls finden Sie Informationen zur Problembehandlung.
Weitere Informationen finden Sie unter Konfigurieren Ihres WPF-Projekts für die Unterstützung des Windows App SDK.
Erstellen Sie ein MAUI-Projekt, indem Sie die Anweisungen unter Build Ihrer ersten .NET MAUI-App befolgen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten >"Projektdatei bearbeiten ", um sie als XML zu öffnen.
Fügen Sie unten in der Projektdatei diese Zeilen hinzu, um auf die richtige Microsoft.WindowsAppSDK-Paketversion zu verweisen (beim Kompilieren für die Windows-Plattform):
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.8.250410001-experimental1"/>
</ItemGroup>
Hinweis
Wenn Sie auf den Projektknoten klicken und die Option "NuGet-Pakete verwalten" auswählen, kann das erforderliche Paket hinzugefügt werden. Wenn Ihre App jedoch auch für andere Plattformen wie Android und iOS erstellt wird, muss die Projektdatei dennoch bearbeitet werden, um den Paketverweis speziell für Builds, die nur unter Windows laufen sollen, anzupassen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, wählen Sie "Eigenschaften" aus, und stellen Sie sicher, dass das Ziel-Windows Framework auf 10.0.22621 oder höher festgelegt ist.
Bearbeiten Sie die Datei "Package.appxmanifest" (klicken Sie mit der rechten Maustaste, und wählen Sie "Code anzeigen") aus, und fügen Sie die folgenden Codeausschnitte hinzu.
Die Funktion systemAIModels
für den Knoten<Capabilities>
:
<Capabilities>
<systemai:Capability Name="systemAIModels"/>
</Capabilities>
Der systemai
Namespacebezeichner für den <Package>
Knoten:
xmlns:systemai="http://schemas.microsoft.com/appx/manifest/systemai/windows10"
Erstellen sie Ihre App, und führen Sie sie aus.
Wenn die App erfolgreich gestartet wird, fahren Sie mit dem Hinzufügen Ihrer ersten KI APIfort. Andernfalls finden Sie Informationen zur Problembehandlung.
Hinzufügen Ihrer ersten KI API
Bei der Implementierung eines Features mit Windows AI APIssollte Ihre App zuerst überprüfen, ob das KI-Modell verfügbar ist, das dieses Feature unterstützt.
Der folgende Codeausschnitt zeigt, wie Sie die Modellverfügbarkeit überprüfen und eine Antwort generieren.
Fügen Sie in "MainWindow.xaml" einen TextBlock hinzu, um die LanguageModel-Antwort anzuzeigen.
<TextBlock x:Name="OutputText" HorizontalAlignment="Center" VerticalAlignment="Center" />
Fügen Sie oben in MainWindow.xaml.cs die folgende using Microsoft.Windows.AI
Direktive hinzu.
using Microsoft.Windows.AI;
Ersetzen Sie die MainWindow.xaml.cs
durch den folgenden Code, der bestätigt, dass das LanguageModel verfügbar ist, und anschließend eine Eingabeaufforderung sendet, in der das Modell aufgefordert wird, mit der molekularen Formel von Glukose zu antworten.
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;
}
}
Erstellen Sie die App und führen Sie sie aus.
Die Formel für Glukose sollte im Textblock angezeigt werden.
Fügen Sie in "MainWindow.xaml" einen TextBlock hinzu, um die LanguageModel-Antwort anzuzeigen.
<TextBlock x:Name="OutputText" HorizontalAlignment="Center" VerticalAlignment="Center" />
Fügen Sie oben in MainWindow.xaml.cs die folgende using Microsoft.Windows.AI
Direktive hinzu.
using Microsoft.Windows.AI;
Ersetzen Sie in MainWindow.xaml.cs die MainWindow-Klasse durch den folgenden Code, der bestätigt, dass das LanguageModel verfügbar ist, und sendet dann eine Aufforderung, das Modell auf die molekulare Formel von Glukose zu reagieren.
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 for glucose.";
var result = await languageModel.GenerateResponseAsync(prompt);
OutputText.Text = result.Response;
}
}
Erstellen Sie die App und führen Sie sie aus.
Die Formel für Glukose sollte im Textblock angezeigt werden.
Details zum Hinzufügen von plattformspezifischem Code zu einer MAUI-App finden Sie im Aufrufplattformcode .
In diesem Beispiel verwenden wir die partiellen Klassen und partiellen Methoden, um den Windows-Code im Ordner "Platform\Windows" zu platzieren.
Fügen Sie in MainPage.xaml.cs eine partielle Methodendefinition hinzu partial void ChangeLanguageModelAvailability();
, und rufen Sie diese partielle Methode aus dem OnCounterClicked-Handler für die CounterBtn
Schaltfläche auf, die von der .NET MAUI-App-Vorlage erstellt wurde.
Erweitern Sie im Projektmappen-ExplorerPlattformen, klicken Sie mit der rechten Maustaste auf Windows, wählen Sie Hinzufügen>Klasse... aus, geben Sie den Namen „MainPage.cs“ ein, und klicken Sie auf Hinzufügen.
Die neue MainPage.cs sollte im Editorfenster angezeigt werden. Wechseln Sie zurück zu MainPage.xaml.cs, um die Namespacezeile zu kopieren.
Wechseln Sie zurück zum neuen MainPage.cs, und ersetzen Sie die Namespacezeile durch die Zeile von MainPage.xaml.cs. Dadurch wird die Platform\Windows-Klasse zu einer partiellen Erweiterung der MainPage-Basisklasse .
Um die MainPage.cs zur Erweiterung zu machen, ersetzen Sie internal
in der Klassendeklaration durch partial
.
Fügen Sie den folgenden Code zur partiellen ChangeLanguageModelAvailability-Methode hinzu, die in Schritt 1 definiert ist.
partial void ChangeLanguageModelAvailability()
{
try
{
AIFeatureReadyState readyState = Microsoft.Windows.AI.LanguageModel.GetReadyState();
System.Diagnostics.Debug.WriteLine($"LanguageModel.GetReadyState: {readyState}");
}
catch (Exception e)
{
System.Diagnostics.Debug.WriteLine($"LanguageModel is not available: {e}");
}
}
Führen Sie die App erneut aus, klicken Sie auf die Schaltfläche "Click Me ", und beobachten Sie die Ausgabe im Visual Studio-Debugausgabebereich.
Erweiterte Tutorials und APIs
Nachdem Sie nun erfolgreich auf die Modellverfügbarkeit überprüft haben, erkunden Sie die APIs weiterhin in den verschiedenen Windows AI-Tutorials API.
Problembehandlung
Wenn Fehler auftreten, liegt dies in der Regel an Der Hardware oder dem Fehlen eines erforderlichen Modells.
- Die GetReadyState-Methode überprüft, ob das für ein KI-Feature erforderliche Modell auf dem Gerät des Benutzers verfügbar ist. Sie müssen diese Methode vor einem Aufruf des Modells aufrufen.
- Wenn das Modell auf dem Gerät des Benutzers nicht verfügbar ist, können Sie die Methode EnsureReadyAsync aufrufen, um das erforderliche Modell zu installieren. Die Modellinstallation läuft im Hintergrund, und der Benutzer kann den Installationsfortschritt auf der Seite Windows-Einstellungen>Windows Update überprüfen.
- Die EnsureReadyAsync-Methode verfügt über eine Statusoption, mit der eine Ladebenutzeroberfläche angezeigt werden kann. Wenn der Benutzer nicht unterstützte Hardware hat, schlägt "EnsureReadyAsync " mit einem Fehler fehl.
Weitere Hilfe finden Sie unter Problembehandlung und häufig gestellte Fragen zu Windows AIAPI.
Siehe auch