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 chamar a API de resumo de texto do SDK do Aplicativo Windows Phi Silica diretamente do JavaScript Eletrônico usando associações JS geradas.
Pré-requisitos
Antes de iniciar este guia, verifique se você:
- Concluiu a configuração do ambiente de desenvolvimento.
- Testado em um Copilot+ PC. O Phi Silica requer hardware que dê suporte ao modelo de idioma local.
Etapa 1: Adicionar a funcionalidade de IA
O Phi Silica requer a systemAIModels funcionalidade restrita. Adicione isso a Package.appxmanifest dentro de <Capabilities>:
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
Depois de alterar o manifesto, atualize a identidade de depuração:
npx winapp node add-electron-debug-identity
Etapa 2: Chamar Phi Silica do processo principal do Electron
Importe as associações geradas por meio #winapp/bindings, crie um TextSummarizere chame-o no final createWindow() para verificar se tudo funciona:
Requer
@microsoft/dynwinrt-codegen≥0.1.0-preview.8— consulte Primeiros passos com o Electron para alternativas para projetos mais antigos.
// src/index.js (Electron main, CommonJS)
const {
AIFeatureReadyState,
LanguageModel,
TextSummarizer,
} = require('#winapp/bindings');
const callPhiSilica = async () => {
console.log('Summarizing with Phi Silica:');
const readyState = LanguageModel.getReadyState();
if (readyState !== AIFeatureReadyState.Ready && readyState !== AIFeatureReadyState.NotReady) {
console.log('Summary: Model is not available');
return;
}
if (readyState === AIFeatureReadyState.NotReady) {
await LanguageModel.ensureReadyAsync();
}
const languageModel = await LanguageModel.createAsync();
try {
const summarizer = TextSummarizer.createInstance(languageModel);
const result = await summarizer.summarizeParagraphAsync(
"The Windows App Development CLI lets Electron apps call Windows-native APIs from JavaScript. Package identity enables features such as notifications and background tasks."
);
console.log('Summary:', result.text);
} finally {
languageModel.close();
}
};
const createWindow = () => {
// ... existing window creation code ...
// Test the Phi Silica AI API
callPhiSilica();
};
Note
getReadyState() retorna um de Ready, NotReady, DisabledByUserou NotSupportedOnCurrentSystem. A chamada ensureReadyAsync() dispara o sistema para baixar/inicializar o modelo se ele ainda não estiver pronto.
Etapa 3: Executá-la
npm start
Verifique a saída do console – você deve ver o resumo do Phi Silica impresso!
Se o modelo não estiver disponível no dispositivo, a função registrará "Summary: Model is not available". Verifique se você está usando um hardware compatível (Copilot+ PC) e se o manifesto inclui systemAIModels.
A partir daqui, você pode integrar o resumo ao seu aplicativo como desejar , expondo-o por meio de um script de pré-carregamento ao renderizador, conectando-o a manipuladores de IPC ou chamando-o diretamente no processo principal.
Próximas etapas
Parabéns! Agora você está chamando Phi Silica diretamente do JavaScript — sem complemento em C#, sem node-gyp etapa de build. 🎉
Agora você está pronto para:
-
Empacote seu aplicativo para distribuição — produza um MSIX que você pode distribuir (o ambiente de execução
@microsoft/dynwinrtjá está no seudependencies).
Ou explore outros guias:
- Mostrar uma notificação do JavaScript – mostrar uma notificação de SDK do Aplicativo Windows por meio de associações JS.
- Chame APIs do Windows a partir do JavaScript — escolha um arquivo e leia as dimensões da imagem usando bindings em JS.
-
Execute o WinML com JavaScript — use a descoberta de provedores de ML do SDK do Aplicativo Windows com
onnxruntime-node. - Criando um complemento Phi Silica – equivalente de complemento C# nativo.
- Visão geral de introdução – retorne ao guia principal.
Recursos adicionais
-
Documentação da CLI do winapp — referência completa da CLI (
init,restore, ).node generate-bindings - Exemplo de aplicativo Electron – exemplo de trabalho completo, incluindo associações JS.
- @microsoft/dynwinrt – o runtime que alimenta as associações geradas.
- @microsoft/dynwinrt-codegen – o gerador de código.
Windows developer