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.
In deze handleiding ziet u hoe u de Windows App SDK samenvattings-API van Phi Silicium-tekst rechtstreeks vanuit Electron JavaScript aanroept met behulp van gegenereerde JS-bindingen.
Prerequisites
Voordat u aan deze handleiding begint, moet u het volgende doen:
- De installatie van de ontwikkelomgeving is voltooid.
- Getest op een Copilot+ PC. Phi Silicium vereist hardware die ondersteuning biedt voor het lokale taalmodel.
Stap 1: De AI-mogelijkheid toevoegen
PhiSilium vereist de systemAIModels beperkte mogelijkheden. Voeg het toe aan Package.appxmanifest in <Capabilities>:
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Nadat u het manifest hebt gewijzigd, vernieuwt u de foutopsporingsidentiteit:
npx winapp node add-electron-debug-identity
Stap 2: Roep PhiSilium aan vanuit het Electron Main-proces
Importeer de gegenereerde bindingen via #winapp/bindings, maak een TextSummarizeren roep deze aan aan het einde van createWindow() om te controleren of alles werkt:
Vereist
@microsoft/dynwinrt-codegen≥0.1.0-preview.8— zie Aan de slag met Electron voor alternatieven voor oudere projecten.
// 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();
};
Note
getReadyState() retourneert een van Ready, NotReady, DisabledByUserof NotSupportedOnCurrentSystem. Het aanroepen ensureReadyAsync() activeert het systeem om het model te downloaden/initialiseren als het nog niet gereed is.
Stap 3: Voer deze uit
npm start
Controleer de console-uitvoer. U ziet nu dat de phi-siliciumsamenvatting wordt afgedrukt.
Als het model niet beschikbaar is op het apparaat, logt de functie "Summary: Model is not available". Zorg ervoor dat u werkt op ondersteunde hardware (Copilot+ PC) en dat het manifest bevatsystemAIModels.
Van hieruit kunt u de samenvatter in uw app integreren op welke manier u maar wilt — door deze via een preload-script beschikbaar te maken voor de renderer, deze te koppelen aan IPC-handlers of deze rechtstreeks in het hoofdproces aan te roepen.
Volgende stappen
Gefeliciteerd! U roept Phi Silicium nu rechtstreeks vanuit JavaScript aan: geen C#-invoegtoepassing, geen node-gyp buildstap. 🎉
U kunt nu het volgende doen:
-
Pakket uw app voor distributie : maak een MSIX die u kunt verzenden (de
@microsoft/dynwinrtruntime bevindt zich al in uwdependencies).
Of bekijk andere handleidingen:
- Een melding van JavaScript weergeven: een Windows App SDK melding weergeven via JS-bindingen.
- Roep Windows API's aan vanuit JavaScript: kies een bestand en lees de afbeeldingsdimensies met behulp van JS-bindingen.
-
WinML uitvoeren vanuit JavaScript: gebruik Windows App SDK ML-providerdetectie met
onnxruntime-node. - Een Phi Silica-add-on maken — de systeemeigen C#-add-on-tegenhanger.
- Overzicht Aan de slag : ga terug naar de hoofdgids.
Aanvullende bronnen
-
documentatie voor winapp CLI : volledige CLI-verwijzing (
init,restore,node generate-bindings). - Voorbeeld van electron-app : volledig werkvoorbeeld, inclusief JS-bindingen.
- @microsoft/dynwinrt : de runtime die de gegenereerde bindingen aangeeft.
- @microsoft/dynwinrt-codegen : de codegenerator.
Windows developer