Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En esta guía se muestra cómo crear un complemento nativo de C# que use el modelo phiLice AI para resumir el texto en el dispositivo en la aplicación Electron. PhiLice es un modelo de lenguaje pequeño que se ejecuta localmente en dispositivos Windows 11 con NPUs.
Prerrequisitos
- Completado la configuración del entorno de desarrollo
- Copilot+ PC (Windows 11 con compatibilidad con NPU)
Nota:
Phi Silica requiere un PC Copilot+ con soporte de NPU. La API devolverá un error en los dispositivos sin compatibilidad con NPU.
Paso 1: Crear un complemento nativo de C#
npx winapp node create-addon --template cs --name csAddon
Esto crea una csAddon/ carpeta con:
-
addon.cs- El código de C# que llamará a las API de Windows -
csAddon.csproj- Archivo de proyecto con referencias a Windows SDK y Windows App SDK -
README.md- Documentación
El comando también agrega un build-addon script a package.json.
Compile el complemento:
npm run build-addon
Paso 2: Agregar código Phi Silica
Abra csAddon/addon.cs y agregue el código de resumen de PhiLice:
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;
}
}
Paso 3: Compilar el complemento
npm run build-addon
Esto compila tu código de C# mediante Native AOT (compilación anticipada), que crea un binario .node que no requiere un tiempo de ejecución .NET en las máquinas de destino.
Paso 4: Probar el complemento
Abra src/index.js y cargue el complemento:
const csAddon = require('../csAddon/dist/csAddon.node');
Agregue una función de prueba:
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);
};
Llámalo en createWindow():
callPhiSilica();
Paso 5: Agregar la funcionalidad necesaria
Abra appxmanifest.xml y agregue la systemAIModels funcionalidad:
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Paso 6: Actualización de la identidad de depuración
Después de modificar appxmanifest.xml, actualice la identidad de depuración:
npx winapp node add-electron-debug-identity
Ejecute la aplicación:
npm start
Compruebe la salida de la consola para ver el resumen de PhiLice.
Nota:
Hay un error conocido de Windows con aplicaciones de Electron de empaquetado disperso que pueden provocar bloqueos o ventanas en blanco. Consulte la guía de configuración para encontrar una alternativa.
Pasos siguientes
- Crear un complemento WinML: ejecutar modelos de machine learning
- Empaquetado para distribución : creación de un paquete MSIX firmado