次の方法で共有


電子のためのファイシリカアドオンの作成

このガイドでは、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-addonpackage.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アプリケーションに関連する既知のバグがあり、これによりクラッシュや空白のウィンドウが発生する可能性があります。 回避策については、 セットアップ ガイド を参照してください。

次のステップ