Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym przewodniku pokazano, jak utworzyć natywny dodatek języka C#, który używa modelu Fi Silica AI do podsumowania tekstu na urządzeniu w aplikacji Electron. Silica Phi to mały model językowy, który działa lokalnie na urządzeniach Windows 11 z jednostkami NPU.
Wymagania wstępne
- Ukończono konfigurację środowiska deweloperskiego
- Copilot+ PC (Windows 11 z obsługą jednostek NPU)
Uwaga / Notatka
Phi Silica wymaga Copilot+ PC z obsługą NPU. Interfejs API zwróci błąd na urządzeniach bez obsługi jednostek NPU.
Krok 1. Tworzenie natywnego dodatku języka C#
npx winapp node create-addon --template cs --name csAddon
Spowoduje to utworzenie folderu z csAddon/ następującymi elementami:
-
addon.cs— Kod języka C#, który będzie wywoływać interfejsy API systemu Windows -
csAddon.csproj— plik Project z odwołaniami do zestawu Windows SDK i Windows App SDK -
README.md- Dokumentacja
Polecenie dodaje skrypt build-addon do twojego package.json.
Skompiluj dodatek:
npm run build-addon
Krok 2. Dodawanie kodu krzemionki Phi
Otwórz csAddon/addon.cs i dodaj kod podsumowujący 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. Kompilowanie dodatku
npm run build-addon
Spowoduje to skompilowanie kodu w języku C# przy użyciu Native AOT (kompilacja z wyprzedzeniem), która tworzy plik binarny .node, który nie wymaga środowiska uruchomieniowego .NET dla maszyn docelowych.
Krok 4. Testowanie dodatku
Otwórz src/index.js i załaduj dodatek:
const csAddon = require('../csAddon/dist/csAddon.node');
Dodaj funkcję testową:
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);
};
Wywołaj go w pliku createWindow():
callPhiSilica();
Krok 5. Dodawanie wymaganej możliwości
Otwórz appxmanifest.xml i dodaj funkcjonalność systemAIModels.
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Krok 6. Aktualizowanie tożsamości debugowania
Po zmodyfikowaniu appxmanifest.xmlzaktualizuj tożsamość debugowania:
npx winapp node add-electron-debug-identity
Uruchom aplikację:
npm start
Sprawdź dane wyjściowe konsoli dla podsumowania Phi Silica.
Uwaga / Notatka
Istnieje znana usterka systemu Windows z rozrzednymi pakietami aplikacji Electron, które mogą powodować awarie lub puste okna. Zapoznaj się z przewodnikiem instalacji , aby uzyskać obejście problemu.
Następne kroki
- Tworzenie dodatku WinML — uruchamianie modeli machine learning
- Pakowanie do dystrybucji — tworzenie podpisanego pakietu MSIX