Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Leitfaden wird gezeigt, wie Sie die Windows App SDK Phi-Silika-Textzusammenfassungs-API direkt aus Electron JavaScript mithilfe generierter JS-Bindungen aufrufen.
Voraussetzungen
Bevor Sie diesen Leitfaden starten, stellen Sie sicher, dass Sie folgendes haben:
- Die Einrichtung der Entwicklungsumgebung wurde abgeschlossen.
- Getestet auf einem Copilot+ PC. Phi Silika erfordert Hardware, die das lokale Sprachmodell unterstützt.
Schritt 1: Hinzufügen der KI-Funktion
Phi Silica erfordert die systemAIModels eingeschränkte Fähigkeit. Fügen Sie es zu Package.appxmanifest in <Capabilities> hinzu:
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Aktualisieren Sie nach dem Ändern des Manifests die Debugidentität:
npx winapp node add-electron-debug-identity
Schritt 2: Aufrufen von Phi-Silikate aus dem Elektronen-Hauptprozess
Importieren Sie die generierten Bindungen über #winapp/bindings, erstellen Sie ein TextSummarizer und rufen Sie es am Ende von createWindow() auf, um zu überprüfen, ob alles funktioniert:
Erfordert
@microsoft/dynwinrt-codegen≥0.1.0-preview.8— siehe Erste Schritte mit Electron für Ausweichlösungen bei älteren Projekten.
// src/index.js (Electron main, CommonJS)
const {
AIFeatureReadyState,
LanguageModel,
TextSummarizer,
} = require('#winapp/bindings');
const callPhiSilica = async () => {
console.log('Summarizing with Phi Silica:');
const readyState = LanguageModel.getReadyState();
if (readyState !== AIFeatureReadyState.Ready && readyState !== AIFeatureReadyState.NotReady) {
console.log('Summary: Model is not available');
return;
}
if (readyState === AIFeatureReadyState.NotReady) {
await LanguageModel.ensureReadyAsync();
}
const languageModel = await LanguageModel.createAsync();
try {
const summarizer = TextSummarizer.createInstance(languageModel);
const result = await summarizer.summarizeParagraphAsync(
"The Windows App Development CLI lets Electron apps call Windows-native APIs from JavaScript. Package identity enables features such as notifications and background tasks."
);
console.log('Summary:', result.text);
} finally {
languageModel.close();
}
};
const createWindow = () => {
// ... existing window creation code ...
// Test the Phi Silica AI API
callPhiSilica();
};
Hinweis
getReadyState() gibt einen von Ready, NotReady, , DisabledByUseroder NotSupportedOnCurrentSystem. Der Aufruf von ensureReadyAsync() veranlasst das System, das Modell herunterzuladen bzw. zu initialisieren, falls es noch nicht bereit ist.
Schritt 3: Ausführen
npm start
Überprüfen Sie die Konsolenausgabe – Sie sollten die Phi-Silica-Zusammenfassung sehen!
Wenn das Modell auf dem Gerät nicht verfügbar ist, protokolliert die Funktion "Summary: Model is not available". Stellen Sie sicher, dass Sie unterstützte Hardware (Copilot+ PC) verwenden und dass das Manifest systemAIModels enthält.
Von hier aus können Sie die Zusammenfassungsfunktion ganz nach Ihren Wünschen in Ihre App integrieren – indem Sie sie über ein Preload-Skript dem Renderer zur Verfügung stellen, mit IPC-Handlern verbinden oder direkt im Hauptprozess aufrufen.
Nächste Schritte
Herzlichen Glückwunsch! Sie können Phi Silica jetzt direkt aus JavaScript aufrufen – ohne C#-Addon, ohne node-gyp Build-Schritt. 🎉
Jetzt sind Sie bereit für:
-
Packen Sie Ihre App zur Verteilung – erstellen Sie ein MSIX, das Sie verteilen können (die
@microsoft/dynwinrtRuntime ist bereits in Ihrerdependenciesenthalten).
Oder erkunden Sie andere Guides:
- Anzeigen einer Benachrichtigung aus JavaScript – Anzeigen einer Windows App SDK Benachrichtigung über JS-Bindungen.
- Rufen Sie Windows APIs aus JavaScript auf – wählen Sie eine Datei aus, und lesen Sie die Bildabmessungen mithilfe von JS-Bindungen.
-
Führen Sie WinML aus JavaScript aus – verwenden Sie Windows App SDK ML-Anbieterermittlung mit
onnxruntime-node. - Erstellen eines Phi-Silikat-Add-Ons – natives C#-Addon-Gegenstück.
- Übersicht über erste Schritte – Kehren Sie zum Hauptleitfaden zurück.
Zusätzliche Ressourcen
-
winapp CLI-Dokumentation - vollständige CLI-Referenz (
init,restore,node generate-bindings). - Sample Electron App – vollständiges Arbeitsbeispiel, einschließlich JS-Bindungen.
- @microsoft/dynwinrt – die Laufzeit, die den generierten Bindungen zugrunde liegt.
- @microsoft/dynwinrt-codegen – der Codegenerator.
Windows developer