Elektron için Phi Silika eklentisi oluşturma

Bu kılavuzda, Electron uygulamanızdaki cihazdaki metni özetlemek için Phi Silika AI modelini kullanan bir C# yerel eklentisinin nasıl oluşturulacağı gösterilmektedir. Phi Silica, NPU'ları olan Windows 11 cihazlarda yerel olarak çalışan küçük bir dil modelidir.

Önkoşullar

Uyarı

Phi Silica, NPU desteğine sahip bir Copilot+ bilgisayar gerektirir. API, NPU desteği olmayan cihazlarda hata döndürür.

1. Adım: C# yerel eklentisi oluşturma

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

Bu, şunu içeren bir csAddon/ klasör oluşturur:

  • addon.cs - Windows API'lerini çağıracak C# kodunuz
  • csAddon.csproj - Windows SDK ve Windows App SDK referansları içeren Project Dosyası
  • README.md - Dokümantasyon

Komut ayrıca build-addonpackage.json betik ekler.

Eklentiyi oluşturun:

npm run build-addon

2. Adım: Phi Silika kodu ekleme

Phi Silika özetleme kodunu açın csAddon/addon.cs ve ekleyin:

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

3. Adım: Eklentiyi oluşturma

npm run build-addon

Bu, hedef makinelerde .NET çalışma zamanı gerektirmeyen bir ikili dosyası oluşturan .node (Önceden Derleme) kullanarak C# kodunuzu derler.

4. Adım: Eklentiyi test edin

Eklentiyi açın src/index.js ve yükleyin:

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

Test işlevi ekleyin:

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

Bunun için createWindow()'yi çağırın

callPhiSilica();

5. Adım: Gerekli özelliği ekleme

Açın appxmanifest.xml ve systemAIModels özelliğini ekleyin.

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

6. Adım: Hata ayıklama kimliğini güncelleştirme

appxmanifest.xml öğesini değiştirdikten sonra hata ayıklama kimliğini güncelleyin.

npx winapp node add-electron-debug-identity

Uygulamayı çalıştırın:

npm start

Phi Silika özeti için konsol çıkışını denetleyin.

Uyarı

Seyrek paketlemesi olan "Electron" uygulamalarıyla ilgili, kilitlenmelere veya boş pencerelere neden olabilecek bilinen bir Windows hatası vardır. Geçici çözüm için kurulum kılavuzuna bakın.

Sonraki Adımlar