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.
V této příručce se dozvíte, jak vytvořit nativní doplněk jazyka C#, který používá model Phi Silica AI k sumarizaci textu na zařízení v aplikaci Elektron. Phi Silica je malý jazykový model, který běží místně na Windows 11 zařízeních s NPU.
Předpoklady
- Dokončeno nastavení vývojového prostředí.
- Copilot+ PC (Windows 11 s podporou NPU)
Poznámka:
Phi Silica vyžaduje počítač Copilot+ s podporou NPU. Rozhraní API vrátí chybu na zařízeních bez podpory NPU.
Krok 1: Vytvoření nativního doplňku jazyka C#
npx winapp node create-addon --template cs --name csAddon
Tím se csAddon/ vytvoří složka s:
-
addon.cs– Váš kód v jazyce C#, který bude volat Windows API -
csAddon.csproj– Projektový soubor s odkazy na sadu Windows SDK a Windows App SDK -
README.md-Dokumentace
Příkaz také přidá build-addon skript do vašeho package.jsonsouboru .
Sestavte doplněk:
npm run build-addon
Krok 2: Přidání kódu Phi Silica
Otevřete csAddon/addon.cs a přidejte kód souhrnu Phi Silica:
using Microsoft.JavaScript.NodeApi;
using Microsoft.Windows.AI.Generative;
namespace CsAddon;
[JSExport]
public static class Addon
{
public static async Task<string> SummarizeText(string text)
{
var session = await LanguageModel.CreateAsync();
var result = await session.GenerateResponseAsync($"Summarize: {text}");
return result.Response;
}
}
Krok 3: Sestavení doplňku
npm run build-addon
Tím se kód jazyka C# zkompiluje pomocí Native AOT (kompilace před časem), která vytvoří binární soubor .node, který na cílových počítačích nevyžaduje žádný modul runtime .NET.
Krok 4: Otestování doplňku
Otevřete src/index.js a načtěte doplněk:
const csAddon = require('../csAddon/dist/csAddon.node');
Přidání testovací funkce:
const callPhiSilica = async () => {
console.log('Summarizing with Phi Silica: ')
const result = await csAddon.Addon.summarizeText("The Windows App Development CLI is a powerful tool that bridges cross-platform development with Windows-native capabilities.");
console.log('Summary:', result);
};
Volejte ho v createWindow():
callPhiSilica();
Krok 5: Přidání požadované funkce
Otevřete appxmanifest.xml a přidejte systemAIModels funkci:
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Krok 6: Aktualizace identity ladění
Po úpravě appxmanifest.xmlaktualizujte identitu ladění:
npx winapp node add-electron-debug-identity
Spuštění aplikace:
npm start
Zkontrolujte výstup konzoly pro zobrazení souhrnu "Phi Silica."
Poznámka:
Existuje známá chyba ve Windows se „sparse packaging“ aplikací Electron, která může způsobit pády nebo prázdná okna. Alternativní řešení najdete v průvodci nastavením .
Další kroky
- Vytvoření doplňku WinML – Spuštění modelů machine learning
- Balení pro distribuci – Vytvoření podepsaného balíčku MSIX
Příbuzná témata
Windows developer