Windows アプリで AI に基づく機能と APIs の使用を開始する
Windows Copilot Runtime では、独自の Machine Learning (ML) モデルを検索、実行、最適化することなく、AI 機能を活用できる、さまざまな AI に基づく機能と APIs が提供されています。 Copilot+ PCで、Windows Copilot Runtimeを動作させるモデルは、常にローカル環境およびバックグラウンドで実行されます。
AI 機能を利用する場合は、「Windowsでの責任ある生成 AI アプリケーションと機能の開発」を確認することをお勧めします。
Windows アプリの Windows Copilot Runtime 機能と APIs
Windows Copilot Runtime には、Windows デバイスでローカルに実行されているモデルを利用した、次の機能と AI ベースの APIs (Windows App SDK) が含まれています。
ファイシリカ:まだ利用できません。 Phi Silica APIs は、Windows App SDKに付属します。 ChatGPT を駆動する OpenAI の GPT 大規模言語モデル (LLM) と同様に、Phi は、Microsoft Research によって開発された、ローカル デバイスで言語処理タスクを実行するための小規模言語モデル (SLM) です。 Phi Silica は、ニューラル処理ユニット (NPU) を備えた Windows デバイス向けに特別に設計されており、テキスト生成機能と会話機能を、デバイス上で直接高パフォーマンスでハードウェアで高速化された方法で実行できます。
OCRを使用した
: まだ使用できません。 (光学式文字認識または OCR とも呼ばれます) は、 Windows App SDK に付属します。 これらの APIs、画像内のテキストの認識と、さまざまな種類のドキュメント (スキャンされた紙のドキュメント、PDF ファイル、デジタル カメラでキャプチャされた画像など) を、ローカル デバイス上の編集可能で検索可能なデータに変換できます。イメージング APIs: はまだ使用できません。 AI 強化イメージング APIs は、Windows App SDKに付属します。 これらの APIs は、画像をインテリジェントにスケーリングしたり、イメージ内のオブジェクトを識別したりなど、さまざまなアクションを実行します。
Studio Effects: Copilot+ PC 上の Windows 11 バージョン 22H2 以降 (ビルド 22623.885 以降) で使用できます。互換性のあるニューラル処理ユニット (NPU) を持つ Windows デバイス、Studio Effects を組み込みのデバイス カメラとマイクの設定に統合します。 背景のぼかし、アイ コンタクト修整、自動フレーミング、ポートレート ライト修整、クリエイティブ フィルター、バックグラウンド ノイズを除去するための音声フォーカスなど、AI を利用する特殊効果を適用します。
Recall: Copilot+ PC の Windows Insider Program を使用してプレビューできます。Recall を使用すると、ユーザーはドキュメント、画像、Web サイトなど、過去のアクティビティからすばやく見つけることができます。 開発者は、User Activity APIを使用して、基になるベクター データベースにコンテキスト情報を追加することで、アプリでユーザーの Recall エクスペリエンスを強化できます。 この統合により、ユーザーはアプリを中断したところから再開できるようになり、アプリのエンゲージメントと、Windows とアプリ間のシームレスな移動が向上します。
Live Caption Translationsは、Windowsを利用するすべての人が、特に聴覚に障害がある方や難聴の方々が、音声コンテンツのキャプションを表示することでオーディオをより理解するのに役立ちます。(オーディオコンテンツがシステムの優先言語とは異なる言語である場合でも)
クラウドと AI を活用した Windows アプリ用の APIs
また、クラウドでモデルを実行する APIs を使用して、Windows アプリに追加できる AI 機能を強化することもできます。 Microsoft または OpenAI によって提供されるクラウドベースの AI ベースの APIs の例を次に示します。
OpenAI チャット入力候補を WinUI 3/Windows アプリ SDK デスクトップ アプリに追加する: クラウドベースの OpenAI ChatGPT の入力候補機能を WinUI 3/Windows アプリ SDK デスクトップ アプリに統合する方法に関するチュートリアルです。
DALL-E を WinUI 3/Windows アプリ SDK デスクトップ アプリに追加する: クラウドベースの OpenAI DALL-E イメージ生成機能を WinUI 3/Windows アプリ SDK デスクトップ アプリに統合する方法に関するチュートリアルです。
.NET MAUI と ChatGPT を使用して推奨アプリを作成する: クラウドベースの OpenAI ChatGPT の入力候補機能を .NET MAUI アプリに統合するサンプルの推奨アプリを作成する方法に関するチュートリアルです。
DALL-E を .NET MAUI Windows デスクトップ アプリに追加する: クラウドベースの OpenAI DALL-E イメージ生成機能を .NET MAUI アプリに統合する方法に関するチュートリアルです。
Azure OpenAI Service: Azure のセキュリティとエンタープライズ機能が追加された、GPT-4、GPT-4 Turbo with Vision、GPT-3.5-Turbo、DALLE-3、Embeddings モデル シリーズなどの OpenAI モデルに Windows アプリでアクセスする場合は、この Azure OpenAI ドキュメントでガイダンスを確認できます。
Azure AI Services: Azure では、REST APIs およびクライアント ライブラリ SDK を通じて一般的な開発言語で利用できる AI サービスのスイート全体が提供されます。 詳細については、各サービスのドキュメントを参照してください。 これらのクラウドベースのサービスは、開発者や組織が、すぐに使用でき、事前構築済みのカスタマイズ可能な APIs とモデルを使用して、インテリジェントで最先端の市場対応の責任あるアプリケーションを迅速に作成するのに役立ちます。 アプリケーションの例には、会話、検索、監視、翻訳、音声、ビジョン、意思決定のための自然言語処理が含まれます。
Windows アプリでローカルとクラウドベースの AI ベースの APIs を使用する場合の考慮事項
Windows アプリで、ML モデルをローカルで実行する API を使用するか、クラウドで実行する API を使用するかを決定する際には、いくつかの利点と欠点を考慮する必要があります。
リソースの可用性
- ローカル デバイス: モデルの実行は、CPU、GPU、NPU、メモリ、ストレージ容量など、使用されているデバイスで使用可能なリソースによって異なります。 デバイスに高いコンピューティング能力や十分なストレージがない場合、これによって制限が生じる可能性があります。 Phi のような小規模言語モデル (SLM) は、デバイスでローカルに使用するのに適しています。
- クラウド: Azure などのクラウド プラットフォームは、スケーラブルなリソースを提供します。 必要なだけのコンピューティング能力やストレージを使用でき、使用した分だけ支払います。 OpenAI 言語モデルのような大規模言語モデル (LLM) は、より多くのリソースを必要としますが、より強力です。
データのプライバシーとセキュリティ
- ローカル デバイス: モデルをローカルで実行すると、データがデバイス上に残るため、安全性と機密性を向上させることができます。 データ セキュリティの責任はユーザーにあります。
- クラウド: クラウド プロバイダーは堅牢なセキュリティ対策を提供しますが、データをクラウドに転送する必要があるため、場合によってはデータ プライバシーに関する懸念が生じる可能性があります。
アクセシビリティとコラボレーション
- ローカル デバイス: モデルとデータは、手動で共有しない限り、デバイス上でのみアクセスできます。 これにより、モデル データに対するコラボレーションがより困難になる可能性があります。
- クラウド: モデルとデータには、インターネット接続を使用してどこからでもアクセスできます。 これは、コラボレーション シナリオには適している場合があります。
原価
- ローカル デバイス: デバイスへの初期投資以外に追加コストは発生しません。
- クラウド: クラウド プラットフォームは従量課金制モデルで運用されますが、使用するリソースと使用期間に基づいてコストが蓄積される可能性があります。
メンテナンスと更新
- ローカル デバイス: システムのメンテナンスと更新のインストールはユーザーが行います。
- クラウド: メンテナンス、システム更新、および新機能の更新は、クラウド サービス プロバイダーによって処理されるため、ユーザーのメンテナンス オーバーヘッドが軽減されます。
小規模言語モデル (SLM) のローカル実行とクラウドでの大規模言語モデル (LLM) の実行の違いの詳細については、「小規模言語モデルをローカルで実行、およびクラウドで大規模言語モデルを実行」を参照してください。