次の方法で共有


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

列挙型フィールド

一般: 0
TextToTable: 1