Windows アプリ SDKの Phi Silica の API リファレンス
重要
この機能はまだ使用できません。 Windows アプリ SDKの今後の体験チャネルリリースで出荷される予定です。
Windows アプリ SDK の実験的チャネルには、開発の初期段階にある API と機能が含まれています。 実験用チャネル内のすべての API は、広範な変更と破壊的変更の対象となり、今後のリリースからいつでも削除される可能性があります。 これらは運用環境での使用ではサポートされていません。また、実験的機能を使用するアプリを Microsoft Store に公開することはできません。
Microsoft の最も強力な NPU チューニングローカル言語モデルである Phi Silica などのローカル言語モデルにアクセスできるWindows アプリ SDK API について説明します。これにより、デバイス上での処理とチャットの生成、テキストの推論、数学の解決、コードの生成などが可能になります。
詳細については、「Windows アプリ SDKの Phi Silica の使用を開始する」を参照してください。
ヒント
Windows アプリ SDK GitHub リポジトリに新しい Issue を作成して、これらの API とその機能に関するフィードバックを提供します。 (タイトルに Phi シリカ を含めるようにしてください!)
Microsoft.Windows.AI.Generative 名前空間
ローカルのデバイス上の生成 AI プロンプト処理と応答用の API を提供します。
Microsoft.Windows.AI.Generative.ImageDescriptionGenerator クラス
public sealed class ImageDescriptionGenerator : System.IDisposable
Microsoft.Windows.AI.Generative.ImageDescriptionGenerator.Close メソッド
// This member is not implemented in C#
Microsoft.Windows.AI.Generative.ImageDescriptionGenerator.CreateAsync メソッド
public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.ImageDescriptionGenerator> CreateAsync ();
Microsoft.Windows.AI.Generative.ImageDescriptionGenerator.DescribeAsync(Microsoft.Windows.Imaging.ImageBuffer) メソッド
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> DescribeAsync (Microsoft.Windows.Imaging.ImageBuffer image);
Microsoft.Windows.AI.Generative.ImageDescriptionGenerator.IsAvailable メソッド
public static bool IsAvailable ();
Microsoft.Windows.AI.Generative.ImageDescriptionGenerator.MakeAvailableAsync メソッド
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
Microsoft.Windows.AI.Generative.LanguageModel クラス
public sealed class LanguageModel : System.IDisposable
ローカル言語モデルと対話して、指定されたプロンプトの応答を生成できるオブジェクトを表します。
Microsoft.Windows.AI.Generative.LanguageModel.Close メソッド
オブジェクトと関連付けられているリソースを破棄します。
解説
C# では実装されていません。
Microsoft.Windows.AI.Generative.LanguageModel.CreateAsync メソッド
public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModel> CreateAsync ();
LanguageModel クラスの新しいインスタンスを非同期的に作成します。
返品
TextRecognizer クラスの新しいインスタンス。
Microsoft.Windows.AI.Generateive.LanguageModel.GenerateEmbeddingVector(System.String) メソッド
public System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector> GenerateEmbeddingVector (string prompt);
Microsoft.Windows.AI.Generateive.LanguageModel.GenerateEmbeddingVectorAsync(System.String) メソッド
public Windows.Foundation.IAsyncOperation<System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector>> GenerateEmbeddingVectorAsync (string prompt);
Microsoft.Windows.AI.Generateive.LanguageModel.GenerateResponseAsync(System.String) メソッド
public Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModelResponse> GenerateResponseAsync (string prompt);
1 つのプロンプトに対する完全な応答を生成して返します。
パラメーター
prompt
質問の形式のプロンプト。
返品
応答文字列と状態。
例外
ArgumentException: 指定されたプロンプトが、モデルが受け入れ可能なトークンの最大数より長くなっています。
Microsoft.Windows.AI.Generateive.LanguageModel.GenerateResponseAsync(Microsoft.Windows.AI.Generateive.LanguageModelOptions,System.String) メソッド
public Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModelResponse> GenerateResponseAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, string prompt);
Microsoft.Windows.AI.Generateive.LanguageModel.GenerateResponseFromEmbeddingsWithProgressAsync(Windows.Foundation.Collections.IVectorView{Microsoft.Windows.SemanticSearch.EmbeddingVector}) メソッド
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseFromEmbeddingsWithProgressAsync (System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector> promptEmbedding);
Microsoft.Windows.AI.Generateive.LanguageModel.GenerateResponseFromEmbeddingsWithProgressAsync(Microsoft.Windows.AI.Generateive.LanguageModelOptions,Windows.Foundation.Collections.IVectorView{Microsoft.Windows.SemanticSearch.EmbeddingVector}) メソッド
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseFromEmbeddingsWithProgressAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector> promptEmbedding);
Microsoft.Windows.AI.Generateive.LanguageModel.GenerateResponseWithProgressAsync(System.String) メソッド
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,
string> GenerateResponseWithProgressAsync (string prompt);
進行状況ハンドラーを使用して応答を生成し、ストリーム配信します。 生成の進行中には、部分的な結果を取得できます。
パラメーター
prompt
応答のプロンプト。
返品
応答文字列と状態。
モデルが返す完全な応答に追加される文字列の次のトークン。これは、結果 OnProgress として設定された前の LanguageModelReponse からの差分です。
例外
ArgumentException: 指定されたプロンプトが、モデルが受け入れ可能なトークンの最大数より長くなっています。
解説
OnProgress イベントは、応答内の単一の単語が生成されるたびに発生します。
Microsoft.Windows.AI.Generative.LanguageModel.IsAvailable メソッド
public static bool IsAvailable ();
必要な AI モデルが使用可能かどうかを取得します。
返品
True の場合、AI モデルが利用可能です (必須の場合)。 それ以外の場合は、 falseです。
Microsoft.Windows.AI.Generative.LanguageModel.IsPromptLargerThanContext(System.String) メソッド
public bool IsPromptLargerThanContext (string prompt);
Microsoft.Windows.AI.Generative.LanguageModel.MakeAvailableAsync メソッド
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,
Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
基になる言語モデルがインストールされ、使用できることを確認します。
返品
完了時に PackageDeploymentResult を返す進行状況を含む非同期アクション。
Microsoft.Windows.AI.Generative.LanguageModelOptions クラス
public sealed class LanguageModelOptions
Microsoft.Windows.AI.Generative.LanguageModelOptions.#ctor コンストラクター
public LanguageModelOptions ();
Microsoft.Windows.AI.Generative.LanguageModelOptions.#ctor(Microsoft.Windows.AI.Generative.LanguageModelSkill,System.Single,System.Single,System.UInt32) コンストラクター
public LanguageModelOptions (Microsoft.Windows.AI.Generative.LanguageModelSkill skill, float temp, float top_p, uint top_k);
Microsoft.Windows.AI.Generative.LanguageModelOptions.Skill プロパティ
public Microsoft.Windows.AI.Generative.LanguageModelSkill Skill { get; set; }
Microsoft.Windows.AI.Generative.LanguageModelOptions.Temp プロパティ
public float Temp { get; set; }
Microsoft.Windows.AI.Generative.LanguageModelOptions.Top_k プロパティ
public uint Top_k { get; set; }
Microsoft.Windows.AI.Generative.LanguageModelOptions.Top_p プロパティ
public float Top_p { get; set; }
Microsoft.Windows.AI.Generative.LanguageModelResponse クラス
public sealed class LanguageModelResponse
応答文字列と状態を表します。
Microsoft.Windows.AI.Generative.LanguageModelResponse.Response プロパティ
public string Response { get; }
指定されたプロンプトに基づいて、言語モデルによって返される応答文字列を取得します。
プロパティ値
指定されたプロンプトに基づいて言語モデルによって返される応答文字列。
Microsoft.Windows.AI.Generative.LanguageModelResponse.Status プロパティ
public Microsoft.Windows.AI.Generative.LanguageModelResponseStatus Status { get; }
指定されたプロンプトに基づいて応答の状態を取得します。
プロパティ値
指定されたプロンプトに基づいて言語モデルによって返される応答文字列。
解説
Succeeded
以外の値の場合、InProgress
はエラーと見なされます
Microsoft.Windows.AI.Generative.LanguageModelResponseStatus 列挙型
public enum LanguageModelResponseStatus
指定されたプロンプトで使用可能な応答状態の値を指定します。
列挙型フィールド
完了: 0
応答が完了しました。
InProgress: 1
応答は進行中です。
BlockedByPolicy: 2
応答はポリシー設定によってブロックされます。
PromptLargerThanContext: 3
Microsoft.Windows.AI.Generative.LanguageModelSkill 列挙型
public enum LanguageModelSkill