Een Phi Silicium-addon maken voor Electron

Deze handleiding laat zien hoe u een systeemeigen C#-invoegtoepassing maakt die gebruikmaakt van het Phi Silicium AI-model om tekst op het apparaat samen te vatten in uw Electron-app. PhiSilium is een klein taalmodel dat lokaal wordt uitgevoerd op Windows 11 apparaten met NPU's.

Vereiste voorwaarden

Opmerking

PhiSilium vereist een Copilot+ PC met NPU-ondersteuning. De API retourneert een fout op apparaten zonder NPU-ondersteuning.

Stap 1: Een systeemeigen C#-invoegtoepassing maken

npx winapp node create-addon --template cs --name csAddon

Hiermee maakt u een csAddon/ map met:

  • addon.cs - Uw C#-code die Windows-API's aanroept
  • csAddon.csproj - Project bestand met verwijzingen naar Windows SDK en Windows App SDK
  • README.md -Documentatie

Met de opdracht wordt ook een build-addon script toegevoegd aan uw package.json.

Bouw de invoegtoepassing:

npm run build-addon

Stap 2: PhiSilium-code toevoegen

Open csAddon/addon.cs de samenvattingscode van Phi Silicium en voeg deze toe:

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;
    }
}

Stap 3: De invoegtoepassing bouwen

npm run build-addon

Hiermee compileert u uw C#-code met behulp van Natieve AOT (compilatie vooraf), waarmee een .node binair bestand wordt gemaakt waarvoor geen .NET runtime op doelcomputers is vereist.

Stap 4: De invoegtoepassing testen

Open src/index.js de invoegtoepassing en laad deze:

const csAddon = require('../csAddon/dist/csAddon.node');

Een testfunctie toevoegen:

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);
};

Roep het aan in createWindow():

callPhiSilica();

Stap 5: Vereiste mogelijkheid toevoegen

Open appxmanifest.xml en voeg de systemAIModels mogelijkheid toe:

<Capabilities>
  <rescap:Capability Name="runFullTrust" />
  <rescap:Capability Name="systemAIModels" />
</Capabilities>

Stap 6: Foutopsporingsidentiteit bijwerken

Werk na het wijzigen van appxmanifest.xml de foutopsporingsidentiteit bij:

npx winapp node add-electron-debug-identity

Voer de app uit:

npm start

Controleer de console-uitvoer voor de Phi Silica-samenvatting.

Opmerking

Er is een bekende Windows-bug met sparse-verpakking van Electrontoepassingen die crashes of lege vensters kan veroorzaken. Zie de installatiehandleiding voor de tijdelijke oplossing.

Volgende stappen