Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce guide vous montre comment créer un module complémentaire natif C# qui utilise le modèle IA Phi Silicon pour synthétiser du texte sur appareil dans votre application Electron. Phi Silicon est un petit modèle de langage qui s’exécute localement sur des appareils Windows 11 avec des processeurs réseau.
Prerequisites
- Fin de la configuration de l’environnement de développement
- Copilot+ PC (Windows 11 avec prise en charge du NPU)
Note
Phi Silicon nécessite un PC Copilot+ avec prise en charge de NPU. L'API renverra une erreur sur les appareils sans support NPU.
Étape 1 : Créer un complément natif C#
npx winapp node create-addon --template cs --name csAddon
Cela crée un csAddon/ dossier avec :
-
addon.cs- Votre code C# qui appelle les API Windows -
csAddon.csproj- fichier Project avec des références au Kit de développement logiciel (SDK) Windows et Windows App SDK -
README.md-Documentation
La commande ajoute également un build-addon script à votre package.json.
Générez le module complémentaire :
npm run build-addon
Étape 2 : Ajouter du code Phi Silicon
Ouvrez csAddon/addon.cs et ajoutez le code de synthèse Phi Silicon :
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;
}
}
Étape 3 : Générer le module complémentaire
npm run build-addon
Cela compile votre code C# à l’aide de Native AOT (compilation anticipée), qui crée un binaire .node qui ne nécessite aucun runtime .NET sur les machines cibles.
Étape 4 : Tester le module complémentaire
Ouvrez src/index.js et chargez le module complémentaire :
const csAddon = require('../csAddon/dist/csAddon.node');
Ajoutez une fonction de test :
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);
};
Appelez-le dans createWindow():
callPhiSilica();
Étape 5 : Ajouter une fonctionnalité requise
Ouvrez appxmanifest.xml et ajoutez la systemAIModels fonctionnalité :
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Étape 6 : Mettre à jour l’identité de débogage
Après avoir modifié appxmanifest.xml, mettez à jour l'identité de débogage :
npx winapp node add-electron-debug-identity
Exécutez l’application :
npm start
Vérifiez la sortie de la console pour le résumé de Phi Silica.
Note
Il existe un bogue Windows connu avec l’empaquetage d’applications Electron éparses qui peuvent provoquer des blocages ou des fenêtres vides. Consultez le guide de configuration pour la solution de contournement.
Étapes suivantes
- Creating a WinML addon - Exécuter des modèles machine learning
- Empaquetage pour la distribution - Créer un package MSIX signé
Rubriques connexes
Windows developer