Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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
- Geliştirme ortamı kurulumu tamamlandı
- Copilot+ PC (NPU desteğine sahip Windows 11)
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
- WinML eklentisi oluşturma - machine learning modelleri çalıştırma
- Dağıtım için paketleme - İmzalı bir MSIX paketi oluşturma
İlgili konular
Windows developer