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 hardware die Phi Silica ondersteunt. Zie Aan de slag met Phi Silica in de Windows App SDK voor actuele hardware-, toegangs- en overgangsrichtlijnen.
Stap 1: De AI-mogelijkheid toevoegen
PhiSilium vereist de systemAIModels mogelijkheid. Het bevindt zich in een eigensystemai naamruimte, niet rescap , dus declareer die naamruimte aan <Package> en markeer deze negeerbaar en voeg vervolgens de mogelijkheid toe:
<Package
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:systemai="http://schemas.microsoft.com/appx/manifest/systemai/windows10"
IgnorableNamespaces="rescap systemai">
...
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<systemai:Capability Name="systemAIModels" />
</Capabilities>
</Package>
Het moet TargetDeviceFamily/@MaxVersionTested ook tenminste 10.0.26226.0zijn.
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 draait op ondersteunde Phi Silica-hardware en dat het manifest systemAIModels bevat.
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.
- Phi Silica-documentatie — huidige hardwarevereisten, gereedheidsrichtlijnen en API-details.
- @microsoft/dynwinrt : de runtime die de gegenereerde bindingen aangeeft.
- @microsoft/dynwinrt-codegen : de codegenerator.
Windows developer