Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este guia mostra como criar um complemento nativo em C# que usa o modelo de IA Phi Silica para resumir o texto no dispositivo em seu aplicativo Electron. O Phi Silica é um modelo de linguagem pequeno que é executado localmente em dispositivos Windows 11 com NPUs.
Pré-requisitos
- Concluído a configuração do ambiente de desenvolvimento
- Copilot+ PC (Windows 11 com suporte à NPU)
Observação
O Phi Silica requer um pc Copilot+ com suporte de NPU. A API retornará um erro em dispositivos sem suporte à NPU.
Etapa 1: Criar um complemento nativo em C#
npx winapp node create-addon --template cs --name csAddon
Isso cria uma csAddon/ pasta com:
-
addon.cs- Seu código C# que chamará APIs do Windows -
csAddon.csproj– arquivo Project com referências ao SDK do Windows e Windows App SDK -
README.md-Documentação
O comando também adiciona um script build-addon ao seu package.json.
Crie o complemento:
npm run build-addon
Etapa 2: Adicionar código Phi Silica
Abra csAddon/addon.cs e adicione o código de resumo 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;
}
}
Etapa 3: Criar o complemento
npm run build-addon
Isso compila seu código C# usando Native AOT (compilação antecipada), que cria um binário .node que não requer .NET runtime em computadores de destino.
Etapa 4: Testar o complemento
Abra src/index.js e carregue o complemento:
const csAddon = require('../csAddon/dist/csAddon.node');
Adicionar uma função de teste:
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);
};
Chame-o em createWindow():
callPhiSilica();
Etapa 5: Adicionar a funcionalidade necessária
Abra appxmanifest.xml e adicione a systemAIModels funcionalidade:
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Etapa 6: Atualizar identidade de depuração
Depois de modificar appxmanifest.xml, atualize a identidade de depuração.
npx winapp node add-electron-debug-identity
Execute o aplicativo:
npm start
Verifique a saída do console para o resumo do Phi Silica.
Observação
Há um bug conhecido no Windows associado a aplicativos Electron com embalagem esparsa, que pode resultar em falhas ou janelas em branco. Consulte o guia de configuração para a solução alternativa.
Próximas Etapas
- Criando um complemento WinML – executar modelos machine learning
- Empacotamento para distribuição – Criar um pacote MSIX assinado
Tópicos relacionados
Windows developer