Windows 應用程式 SDK 中適用於 Phi 矽的 API 參考
重要
此功能尚無法使用。 預計它將在即將推出的 Windows 應用程式 SDK 實驗通道發行中出貨。
Windows 應用程式 SDK 實驗通道包含開發初期的 API 和功能。 實驗通道中的所有 API 都受限於廣泛的修訂和中斷性變更,而且可以隨時從後續版本中移除。 不支援在生產環境中使用,且使用實驗性功能的應用程式無法發佈至 Microsoft 市集。
瞭解 Windows 應用程式 SDK API,這些 API 可以存取本機語言模型,例如 Phi 孔,Microsoft功能最強大的 NPU 微調本機語言模型,可讓您在裝置上處理和產生聊天、推理文字、數學解算、程式代碼產生等等。
如需詳細資訊,請參閱開始使用 Windows 應用程式 SDK 中的 Phi 矽。
提示
藉由 Windows 應用程式 SDK 在 GitHub 存放庫中建立新的問題,提供這些 API 及其功能的意見反應。 (請確定您在標題中包含菲·矽!
Microsoft.Windows.AI.Generative 命名空間
提供本機、裝置上產生的 AI 提示處理和回應的 API。
ImageDescriptionGenerator 類別
public sealed class ImageDescriptionGenerator : System.IDisposable
ImageDescriptionGenerator.Close 方法
// This member is not implemented in C#
ImageDescriptionGenerator.CreateAsync 方法
public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.ImageDescriptionGenerator> CreateAsync ();
ImageDescriptionGenerator.DescribeAsync(Microsoft.Windows.Imaging.ImageBuffer) 方法
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> DescribeAsync (Microsoft.Windows.Imaging.ImageBuffer image);
ImageDescriptionGenerator.IsAvailable 方法
public static bool IsAvailable ();
ImageDescriptionGenerator.MakeAvailableAsync 方法
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
LanguageModel 類別
public sealed class LanguageModel : System.IDisposable
表示可以與本機語言模型互動的物件,以產生所提供提示的回應。
LanguageModel.Close 方法
處置 對象和相關聯的資源。
備註
未在 C# 中實作。
LanguageModel.CreateAsync 方法
public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModel> CreateAsync ();
以異步方式建立 LanguageModel 類別的新實例。
傳回
TextRecognizer 類別的新實例。
LanguageModel.GenerateEmbeddingVector(System.String) 方法
public System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector> GenerateEmbeddingVector (string prompt);
LanguageModel.GenerateEmbeddingVectorAsync(System.String) 方法
public Windows.Foundation.IAsyncOperation<System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector>> GenerateEmbeddingVectorAsync (string prompt);
LanguageModel.GenerateResponseAsync(System.String) 方法
public Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModelResponse> GenerateResponseAsync (string prompt);
產生並傳回單一提示的完整回應。
參數
prompt
以問題形式出現提示。
傳回
回應字串和狀態。
例外狀況
ArgumentException:指定的提示時間超過模型可接受的令牌數目上限。
LanguageModel.GenerateResponseAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,System.String) 方法
public Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModelResponse> GenerateResponseAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, string prompt);
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);
LanguageModel.GenerateResponseFromEmbeddingsWithProgressAsync(Microsoft.Windows.AI.Generative.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);
LanguageModel.GenerateResponseWithProgressAsync(System.String) 方法
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,
string> GenerateResponseWithProgressAsync (string prompt);
透過進度處理程式產生並串流回應。 產生正在進行時,可以擷取部分結果。
參數
prompt
回應的提示。
傳回
回應字串和狀態。
當模型傳回時,要新增至完整回應的字串下一個標記,這是上一個 LanguageModelReponse 設定為結果 OnProgress 的差異。
例外狀況
ArgumentException:指定的提示時間超過模型可接受的令牌數目上限。
備註
OnProgress 事件會在響應中產生每個單一單字時發生。
LanguageModel.IsAvailable 方法
public static bool IsAvailable ();
擷取所需的 AI 模型是否可用。
傳回
True 是表示 如果需要的 AI 模型可供使用。 否則為 false。
LanguageModel.IsPromptLargerThanContext(System.String) 方法
public bool IsPromptLargerThanContext (string prompt);
LanguageModel.MakeAvailableAsync 方法
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,
Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
確定已安裝基礎語言模型並可供使用。
傳回
異步動作,其進度會在完成時傳 回 PackageDeploymentResult 。
LanguageModelOptions 類別
public sealed class LanguageModelOptions
LanguageModelOptions.#ctor 建構函式
public LanguageModelOptions ();
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);
LanguageModelOptions.Skill 屬性
public Microsoft.Windows.AI.Generative.LanguageModelSkill Skill { get; set; }
LanguageModelOptions.Temp 屬性
public float Temp { get; set; }
LanguageModelOptions.Top_k 屬性
public uint Top_k { get; set; }
LanguageModelOptions.Top_p 屬性
public float Top_p { get; set; }
LanguageModelResponse 類別
public sealed class LanguageModelResponse
表示回應字串和狀態。
LanguageModelResponse.Response 屬性
public string Response { get; }
根據提供的提示,取得語言模型所傳回的回應字串。
屬性值
根據提供的提示,語言模型傳回的回應字串。
LanguageModelResponse.Status 屬性
public Microsoft.Windows.AI.Generative.LanguageModelResponseStatus Status { get; }
根據提供的提示取得響應狀態。
屬性值
根據提供的提示,語言模型傳回的回應字串。
備註
或 Succeeded
以外的InProgress
任何值都會被視為失敗。
LanguageModelResponseStatus 列舉型別
public enum LanguageModelResponseStatus
指定所提供提示的可能響應狀態值。
欄位 - OS
完成:0
回應已完成。
InProgress: 1
回應正在進行中。
BlockedByPolicy:2
原則設定會封鎖回應。
PromptLargerThanContext: 3
LanguageModelSkill 列舉
public enum LanguageModelSkill
領域
一般:0
TextToTable:1
相關內容
- 在 Windows 上開發負責任的生成式 AI 應用程式和功能
- 在 Windows 應用程式 SDK 開始使用菲矽
- Windows 應用程式 ADK (機器翻譯)
- Windows 應用程式 SDK 的最新版本資訊