Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här guiden visar hur du skapar ett inbyggt C#-tillägg som använder Ai-modellen Phi Silica för att sammanfatta text på enheten i din Electron-app. Phi Silica är en liten språkmodell som körs lokalt på Windows 11 enheter med NPU:er.
Förutsättningar
- Installationen av utvecklingsmiljön har slutförts
- Copilot+ PC (Windows 11 med NPU-stöd)
Anmärkning
Phi Silica kräver en Copilot+ PC med NPU-stöd. API:et returnerar ett fel på enheter utan NPU-stöd.
Steg 1: Skapa ett internt C#-tillägg
npx winapp node create-addon --template cs --name csAddon
Då skapas en csAddon/ mapp med:
-
addon.cs– Din C#-kod som anropar Windows-API:er -
csAddon.csproj– Project fil med referenser till Windows SDK och Windows App SDK -
README.md-Dokumentation
Kommandot lägger också till ett build-addon skript i package.json.
Skapa tillägget:
npm run build-addon
Steg 2: Lägg till Phi Silica-kod
Öppna csAddon/addon.cs och lägg till Phi Silica-sammanfattningskoden:
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;
}
}
Steg 3: Skapa tillägget
npm run build-addon
Detta kompilerar C#-koden med hjälp av Native AOT (kompilering i förväg), som skapar en .node binär fil som inte kräver någon .NET körning på måldatorer.
Steg 4: Testa tillägget
Öppna src/index.js och läs in tillägget:
const csAddon = require('../csAddon/dist/csAddon.node');
Lägg till en testfunktion:
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);
};
Kalla på den i createWindow():
callPhiSilica();
Steg 5: Lägg till nödvändig kapacitet
Öppna appxmanifest.xml och lägg till funktionen systemAIModels :
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Steg 6: Uppdatera felsökningsidentitet
När du har modifierat appxmanifest.xmluppdaterar du felsökningsidentiteten:
npx winapp node add-electron-debug-identity
Kör appen:
npm start
Kontrollera utdata från konsolen för Phi Silicas sammanfattning.
Anmärkning
Det finns en känd Windows-bugg med gles paketering av Elektronprogram som kan orsaka krascher eller tomma fönster. Se installationsguiden för lösningen.
Nästa steg
- Skapa ett WinML-tillägg – Kör machine learning modeller
- Paketering för distribution – Skapa ett signerat MSIX-paket
Relaterade ämnen
Windows developer