このガイドでは、Phi Silica AI モデルを使用して Electron アプリのデバイス上のテキストを要約する C# ネイティブ アドオンを作成する方法について説明します。 Phi Silica は、NPU を使用する Windows 11 デバイスでローカルに実行される小さな言語モデルです。
[前提条件]
- 開発環境のセットアップが完了しました
- Copilot+ PC (NPU サポート付きの Windows 11)
注
Phi Silica には、NPU をサポートする Copilot+ PC が必要です。 この API は、NPU をサポートしていないデバイスでエラーを返します。
手順 1: C# ネイティブ アドオンを作成する
npx winapp node create-addon --template cs --name csAddon
これにより、次の csAddon/ フォルダーが作成されます。
-
addon.cs- Windows API を呼び出す C# コード -
csAddon.csproj- Windows SDK と Windows App SDK への参照を含むProject ファイル -
README.md-ドキュメント
このコマンドでは、build-addonにpackage.json スクリプトも追加します。
アドオンをビルドします。
npm run build-addon
手順 2: Phi Silica コードを追加する
csAddon/addon.cs開き、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;
}
}
手順 3: アドオンをビルドする
npm run build-addon
これにより、Native AOT (Ahead-of-Time コンパイル) を使用して C# コードがコンパイルされます。これにより、ターゲット マシンに.NETランタイムを必要としない .node バイナリが作成されます。
手順 4: アドオンをテストする
src/index.jsを開き、アドオンを読み込みます。
const csAddon = require('../csAddon/dist/csAddon.node');
テスト関数を追加します。
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);
};
createWindow()で呼び出します。
callPhiSilica();
手順 5: 必要な機能を追加する
appxmanifest.xmlを開き、systemAIModels機能を追加します。
<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="systemAIModels" />
</Capabilities>
手順 6: デバッグ ID を更新する
appxmanifest.xmlを変更した後、デバッグ ID を更新します。
npx winapp node add-electron-debug-identity
アプリを実行します。
npm start
コンソールの出力で Phi Silica の概要を確認します。
注
Windowsで疎にパッケージ化したElectronアプリケーションに関連する既知のバグがあり、これによりクラッシュや空白のウィンドウが発生する可能性があります。 回避策については、 セットアップ ガイド を参照してください。
次のステップ
- WinML アドオンの作成 - machine learning モデルの実行
- 配布用のパッケージ 化 - 署名付き MSIX パッケージを作成する
関連トピック
Windows developer