Referência de API para Phi Silica no SDK do Aplicativo Windows
Importante
Esse recurso ainda não está disponível. Espera-se que ele seja enviado em uma próxima versão de canal experimental do SDK do Aplicativo Windows.
O canal experimental do SDK do Aplicativo Windows inclui APIs e recursos em estágios iniciais de desenvolvimento. Todas as APIs no canal experimental estão sujeitas a extensas revisões e alterações interruptivas, podendo ser removidas de versões subsequentes a qualquer momento. Elas não são compatíveis com o uso em ambientes de produção e os aplicativos que usam os recursos experimentais não podem ser publicados na Microsoft Store.
Saiba mais sobre as APIs SDK do Aplicativo Windows que podem acessar modelos de idioma local, como Phi Silica, o modelo de idioma local ajustado para NPU mais poderoso da Microsoft que permite o processamento no dispositivo e a geração de chat, raciocínio sobre texto, resolução matemática, geração de código e muito mais.
Para obter mais detalhes, consulte Introdução ao Phi Silica no SDK do Aplicativo Windows.
Dica
Forneça comentários sobre essas APIs e sua funcionalidade criando um novo Problema no repositório GitHub SDK do Aplicativo Windows. (Certifique-se de incluir Phi Silica no título!)
Namespace Microsoft.Windows.AI.Generative
Fornece APIs para processamento e respostas de IA generativa local no dispositivo.
Classe ImageDescriptionGenerator
public sealed class ImageDescriptionGenerator : System.IDisposable
Método ImageDescriptionGenerator.Close
// This member is not implemented in C#
Método ImageDescriptionGenerator.CreateAsync
public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.ImageDescriptionGenerator> CreateAsync ();
Método ImageDescriptionGenerator.DescribeAsync(Microsoft.Windows.Imaging.ImageBuffer)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> DescribeAsync (Microsoft.Windows.Imaging.ImageBuffer image);
Método ImageDescriptionGenerator.DescribeAsync(Microsoft.Graphics.Imaging.ImageBuffer,Microsoft.Windows.AI.Generative.ImageDescriptionScenario)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> DescribeAsync (Microsoft.Graphics.Imaging.ImageBuffer image, Microsoft.Windows.AI.Generative.ImageDescriptionScenario scenario);
Parâmetros
imagem
cenário
Devoluções
Comentários
Método ImageDescriptionGenerator.DescribeAsync(Microsoft.Graphics.Imaging.ImageBuffer)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> DescribeAsync (Microsoft.Graphics.Imaging.ImageBuffer image);
Parâmetros
imagem
Devoluções
Comentários
Método ImageDescriptionGenerator.DescribeAsync(Microsoft.Graphics.Imaging.ImageBuffer,Microsoft.Windows.AI.Generative.ImageDescriptionScenario,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> DescribeAsync (Microsoft.Graphics.Imaging.ImageBuffer image, Microsoft.Windows.AI.Generative.ImageDescriptionScenario scenario, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions);
Parâmetros
imagem
cenário
opções de filtro de conteúdo
Devoluções
Comentários
Método ImageDescriptionGenerator.IsAvailable
public static bool IsAvailable ();
Método ImageDescriptionGenerator.MakeAvailableAsync
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
Classe LanguageModel
public sealed class LanguageModel : System.IDisposable
Representa um objeto que pode interagir com um modelo de linguagem local de modo a gerar respostas para uma solicitação fornecida.
Método LanguageModel.Close
Descarta o objeto e os recursos associados.
Comentários
Não implementado em C#.
Método LanguageModel.CreateAsync
public static Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModel> CreateAsync ();
Cria de forma assíncrona uma instância da classe LanguageModel.
Devoluções
Uma nova instância da classe TextRecognizer.
Método LanguageModel.CreateContext
public Microsoft.Windows.AI.Generative.LanguageModelContext CreateContext ();
Devoluções
Comentários
Método Microsoft.Windows.AI.Generative.LanguageModel.CreateContext(System.String,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions)
public Microsoft.Windows.AI.Generative.LanguageModelContext CreateContext (string systemPrompt, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions);
Parâmetros
systemPrompt
opções de filtro de conteúdo
Devoluções
Comentários
Método LanguageModel.GenerateEmbeddingVector(System.String,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions)
public System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector> GenerateEmbeddingVector (string prompt, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions);
Parâmetros
prompt
opções de filtro de conteúdo
Devoluções
Comentários
Método LanguageModel.GenerateEmbeddingVector(System.String)
public System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector> GenerateEmbeddingVector (string prompt);
Parâmetros
prompt
Devoluções
Comentários
Método LanguageModel.GenerateEmbeddingVectorAsync(System.String)
public Windows.Foundation.IAsyncOperation<System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector>> GenerateEmbeddingVectorAsync (string prompt);
Parâmetros
prompt
Devoluções
Comentários
Método LanguageModel.GenerateEmbeddingVectorAsync(System.String,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions)
public Windows.Foundation.IAsyncOperation<System.Collections.Generic.IReadOnlyList<Microsoft.Windows.SemanticSearch.EmbeddingVector>> GenerateEmbeddingVectorAsync (string prompt, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions);
Parâmetros
prompt
opcoesDeFiltroDeConteudo
Devoluções
Comentários
Método LanguageModel.GenerateResponseAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,System.String,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions)
public Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModelResponse> GenerateResponseAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, string prompt, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions);
Parâmetros
Opções
prompt
opçõesDeFiltroDeConteúdo
Devoluções
Comentários
Método LanguageModel.GenerateResponseAsync(System.String)
public Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModelResponse> GenerateResponseAsync (string prompt);
Gera e retorna uma resposta completa para uma única solicitação.
Parâmetros
prompt
Uma solicitação em forma de pergunta.
Devoluções
Uma sequência de resposta e status.
Exceções
ArgumentException: a solicitação especificada é maior do que o número máximo de tokens que o modelo pode aceitar.
Método LanguageModel.GenerateResponseAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,System.String,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions,Microsoft.Windows.AI.Generative.LanguageModelContext)
public Windows.Foundation.IAsyncOperation<Microsoft.Windows.AI.Generative.LanguageModelResponse> GenerateResponseAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, string prompt, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions, Microsoft.Windows.AI.Generative.LanguageModelContext context);
Parâmetros
Opções
prompt
opções de filtro de conteúdo
contexto
Devoluções
Comentários
Método 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);
Parâmetros
Opções
prompt
Devoluções
Comentários
Método LanguageModel.GenerateResponseFromEmbeddingsWithProgressAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,Windows.Foundation.Collections.IVectorView{Microsoft.Windows.SemanticSearch.EmbeddingVector},Microsoft.Windows.AI.ContentModeration.ContentFilterOptions,Microsoft.Windows.AI.Generative.LanguageModelContext)
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.ContentModeration.ContentFilterOptions contentFilterOptions, Microsoft.Windows.AI.Generative.LanguageModelContext context);
Parâmetros
Opções
promptEmbedding
opçõesDeFiltroDeConteúdo
contexto
Devoluções
Comentários
Método LanguageModel.GenerateResponseFromEmbeddingsWithProgressAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,Windows.Foundation.Collections.IVectorView{Microsoft.Windows.SemanticSearch.EmbeddingVector},Microsoft.Windows.AI.ContentModeration.ContentFilterOptions)
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.ContentModeration.ContentFilterOptions contentFilterOptions);
Parâmetros
Opções
promptEmbedding
opções de filtro de conteúdo
Devoluções
Comentários
Método 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);
Parâmetros
promptEmbedding
Devoluções
Comentários
Método 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);
Parâmetros
Opções
promptEmbedding
Devoluções
Comentários
Método LanguageModel.GenerateResponseFromTokensWithProgressAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,Windows.Foundation.Collections.IVectorView{System.Int64})
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseFromTokensWithProgressAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, System.Collections.Generic.IReadOnlyList<long> promptTokens);
Parâmetros
Opções
promptTokens
Devoluções
Comentários
Método LanguageModel.GenerateResponseFromTokensWithProgressAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,Windows.Foundation.Collections.IVectorView{System.Int64},Microsoft.Windows.AI.ContentModeration.ContentFilterOptions,Microsoft.Windows.AI.Generative.LanguageModelContext)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseFromTokensWithProgressAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, System.Collections.Generic.IReadOnlyList<long> promptTokens, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions, Microsoft.Windows.AI.Generative.LanguageModelContext context);
Parâmetros
Opções
promptTokens
opçõesDeFiltroDeConteúdo
contexto
Devoluções
Comentários
Método LanguageModel.GenerateResponseFromTokensWithProgressAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,Windows.Foundation.Collections.IVectorView{System.Int64},Microsoft.Windows.AI.ContentModeration.ContentFilterOptions,Microsoft.Windows.AI.Generative.LanguageModelContext)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseFromTokensWithProgressAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, System.Collections.Generic.IReadOnlyList<long> promptTokens, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions, Microsoft.Windows.AI.Generative.LanguageModelContext context);
Parâmetros
Opções
promptTokens
opçõesDeFiltroDeConteúdo
contexto
Devoluções
Comentários
Método LanguageModel.GenerateResponseWithProgressAsync(System.String)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,
string> GenerateResponseWithProgressAsync (string prompt);
Gera e transmite uma resposta por meio de um manipulador de progresso. Resultados parciais podem ser recuperados enquanto a geração está em andamento.
Parâmetros
prompt
A solicitação da resposta.
Devoluções
Uma sequência de resposta e status.
O próximo token da sequência que está sendo adicionado à resposta completa à medida que o modelo a retorna; esse é o delta do conjunto LanguageModelReponse anterior como o resultado OnProgress.
Exceções
ArgumentException: a solicitação especificada é maior do que o número máximo de tokens que o modelo pode aceitar.
Comentários
Os eventos OnProgress ocorrem na geração de cada palavra na resposta.
Método LanguageModel.GenerateResponseWithProgressAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,System.String,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseWithProgressAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, string prompt, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions);
Parâmetros
Opções
prompt
opçõesDeFiltroDeConteúdo
Devoluções
Comentários
Método LanguageModel.GenerateResponseWithProgressAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,System.String)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseWithProgressAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, string prompt);
Parâmetros
Opções
prompt
Devoluções
Comentários
Método LanguageModel.GenerateResponseWithProgressAsync(Microsoft.Windows.AI.Generative.LanguageModelOptions,System.String,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions,Microsoft.Windows.AI.Generative.LanguageModelContext)
public Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.AI.Generative.LanguageModelResponse,string> GenerateResponseWithProgressAsync (Microsoft.Windows.AI.Generative.LanguageModelOptions options, string prompt, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions, Microsoft.Windows.AI.Generative.LanguageModelContext context);
Parâmetros
Opções
prompt
opçõesDeFiltroDeConteúdo
contexto
Devoluções
Comentários
Método LanguageModel.GenerateTokens(System.String,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions)
public System.Collections.Generic.IReadOnlyList<long> GenerateTokens (string text, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions);
Parâmetros
Texto
opçõesDeFiltroDeConteúdo
Devoluções
Comentários
Método LanguageModel.GenerateTokens(System.String)
public System.Collections.Generic.IReadOnlyList<long> GenerateTokens (string text);
Parâmetros
Texto
Devoluções
Comentários
Método LanguageModel.GenerateTokensAsync(System.String)
public Windows.Foundation.IAsyncOperation<System.Collections.Generic.IReadOnlyList<long>> GenerateTokensAsync (string text);
Parâmetros
Texto
Devoluções
Comentários
Método LanguageModel.GenerateTokensAsync(System.String,Microsoft.Windows.AI.ContentModeration.ContentFilterOptions)
public Windows.Foundation.IAsyncOperation<System.Collections.Generic.IReadOnlyList<long>> GenerateTokensAsync (string text, Microsoft.Windows.AI.ContentModeration.ContentFilterOptions contentFilterOptions);
Parâmetros
Texto
opções de filtro de conteúdo
Devoluções
Comentários
Método LanguageModel.IsAvailable
public static bool IsAvailable ();
Recupera se o modelo de IA necessário está disponível.
Devoluções
Verdadeiro, se o modelo de IA necessário estiver disponível. Caso contrário, false.
Método LanguageModel.IsPromptLargerThanContext(System.String)
public bool IsPromptLargerThanContext (string prompt);
Parâmetros
prompt
Devoluções
Comentários
Método LanguageModel.IsPromptLargerThanContext(Microsoft.Windows.AI.Generative.LanguageModelContext,System.String)
public bool IsPromptLargerThanContext (Microsoft.Windows.AI.Generative.LanguageModelContext context, string prompt);
Parâmetros
contexto
prompt
Devoluções
Comentários
Método LanguageModel.MakeAvailableAsync
public static Windows.Foundation.IAsyncOperationWithProgress<Microsoft.Windows.Management.Deployment.PackageDeploymentResult,
Microsoft.Windows.Management.Deployment.PackageDeploymentProgress> MakeAvailableAsync ();
Garante que o modelo de idioma subjacente esteja instalado e disponível para uso.
Devoluções
Uma ação assíncrona com progresso que retorna um PackageDeploymentResult na conclusão.
Classe Microsoft.Windows.AI.Generative.LanguageModelContext
public sealed class LanguageModelContext
Comentários
Classe LanguageModelOptions
public sealed class LanguageModelOptions
Construtor LanguageModelOptions.#ctor
public LanguageModelOptions ();
Construtor 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);
Propriedade LanguageModelOptions.Skill
public Microsoft.Windows.AI.Generative.LanguageModelSkill Skill { get; set; }
Propriedade LanguageModelOptions.Temp
public float Temp { get; set; }
Propriedade LanguageModelOptions.Top_k
public uint Top_k { get; set; }
Propriedade Top_p de LanguageModelOptions
public float Top_p { get; set; }
Classe LanguageModelResponse
public sealed class LanguageModelResponse
Representa uma sequência de resposta e um status.
Construtor LanguageModelResponse.#ctor(System.String,Microsoft.Windows.AI.Generative.LanguageModelResponseStatus)
public LanguageModelResponse (string response, Microsoft.Windows.AI.Generative.LanguageModelResponseStatus status);
Parâmetros
resposta
status
Comentários
Propriedade LanguageModelResponse.Response
public string Response { get; }
Obtém a sequência de resposta devolvida pelo modelo de linguagem com base na solicitação fornecida.
Valor da propriedade
A sequência de resposta devolvida pelo modelo de linguagem com base na solicitação fornecida.
Propriedade LanguageModelResponse.Status
public Microsoft.Windows.AI.Generative.LanguageModelResponseStatus Status { get; }
Obtém o status de resposta com base na solicitação fornecida.
Valor da propriedade
A sequência de resposta devolvida pelo modelo de linguagem com base na solicitação fornecida.
Comentários
Qualquer valor que não seja Succeeded
ou InProgress
é considerado uma falha.
Enumeração LanguageModelResponseStatus
public enum LanguageModelResponseStatus
Especifica os possíveis valores do status de resposta da solicitação fornecida.
Campos – SISTEMA OPERACIONAL
Concluído: 0
A resposta está completa.
Em progresso: 1
A resposta está em andamento.
Bloqueado pela política: 2
A resposta está bloqueada por uma configuração de política.
PromptLargerThanContext: 3
PromptBlockedByPolicy: 4
ResponseBlockedByPolicy: 5
Enumeração LanguageModelSkill
public enum LanguageModelSkill