Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato příručka ukazuje, jak přímo z JavaScriptu v Electronu volat rozhraní API Phi Silica pro shrnutí textu v sadě Windows App SDK pomocí vygenerovaných vazeb JavaScriptu.
Předpoklady
Než začnete s touto příručkou, ujistěte se, že máte:
- Dokončili jste nastavení vývojového prostředí.
- Testováno na Copilot+ PC. Phi Silica vyžaduje hardware, který podporuje místní jazykový model.
Krok 1: Přidání funkce AI
Phi Silica vyžaduje systemAIModels omezenou schopnost. Přidejte to do Package.appxmanifest uvnitř <Capabilities>:
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Po změně manifestu aktualizujte identitu ladění:
npx winapp node add-electron-debug-identity
Krok 2: Volání Phi Silica z hlavního procesu Electron
Importujte vygenerované bindingy pomocí #winapp/bindings, vytvořte TextSummarizer a zavolejte ji na konci createWindow(), abyste ověřili, že všechno funguje:
Vyžaduje
@microsoft/dynwinrt-codegen≥0.1.0-preview.8– viz Začínáme s Elektronem , kde najdete náhradní řešení starších projektů.
// 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()vrátí jeden z Ready, , NotReadyDisabledByUsernebo NotSupportedOnCurrentSystem. Volání ensureReadyAsync() aktivuje systém ke stažení nebo inicializaci modelu, pokud ještě není připravený.
Krok 3: Spusťte to
npm start
Zkontrolujte výstup konzoly – měl by se zobrazit souhrn Phi Silica vytištěný!
Pokud model není v zařízení dostupný, funkce zaznamená do protokolu "Summary: Model is not available". Ujistěte se, že používáte podporovaný hardware (Copilot+ PC) a že manifest obsahuje systemAIModels.
Odtud můžete shrnovací nástroj integrovat do své aplikace jakkoli budete chtít — například ho zpřístupnit rendereru pomocí preload skriptu, připojit k obslužným funkcím IPC nebo ho volat přímo v hlavním procesu.
Další kroky
Gratulujeme! Teď voláte Phi Silica přímo z JavaScriptu – žádný doplněk jazyka C#, žádný node-gyp krok sestavení. 🎉
Teď jste připraveni:
-
Zabalte aplikaci pro distribuci – vytvořte balíček MSIX, který můžete distribuovat (běhové prostředí
@microsoft/dynwinrtje už součástí vašehodependencies).
Nebo prozkoumejte další příručky:
- Zobrazení oznámení z JavaScriptu – zobrazení Windows App SDK oznámení prostřednictvím vazeb JS.
- Volání rozhraní API Windows z JavaScriptu – vyberte soubor a načtěte jeho rozměry obrázků pomocí vazeb JS.
-
Spouštění WinML z JavaScriptu – použijte zjišťování poskytovatele ML ve Windows App SDK s
onnxruntime-node. - Vytvoření addonu Phi Silica – nativní C# protějšek addonu.
- Přehled úvodních informací — vraťte se k hlavnímu průvodci.
Další zdroje
-
Dokumentace k rozhraní příkazového řádku winapp – kompletní referenční dokumentace k rozhraní příkazového řádku (
init,restore,node generate-bindings). - Ukázková aplikace v Electronu — kompletní funkční příklad, včetně vazeb pro JS.
- @microsoft/dynwinrt – modul runtime, který řídí generované vazby.
- @microsoft/dynwinrt-codegen – generátor kódu.
Windows developer