Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os desenvolvedores do .NET precisam integrar e interagir com uma variedade crescente de serviços de IA (inteligência artificial) em seus aplicativos. As Microsoft.Extensions.AI bibliotecas fornecem uma abordagem unificada para representar componentes de IA generativos e habilitam a integração e interoperabilidade perfeitas com vários serviços de IA. Este artigo apresenta as bibliotecas e fornece exemplos de uso detalhados para ajudá-lo a começar.
Os pacotes
O 📦 pacote Microsoft.Extensions.AI.Abstractions fornece os principais tipos de troca, incluindo IChatClient e IEmbeddingGenerator<TInput,TEmbedding>. Qualquer biblioteca .NET que forneça um cliente LLM pode implementar a interface IChatClient para habilitar a integração perfeita com o código de consumo.
O pacote 📦 Microsoft.Extensions.AI tem uma dependência implícita no pacote Microsoft.Extensions.AI.Abstractions. Esse pacote permite que você integre facilmente componentes como invocação automática de ferramenta de função, telemetria e cache em seus aplicativos usando padrões familiares de injeção de dependência e middleware. Por exemplo, ele fornece o método de extensão UseOpenTelemetry(ChatClientBuilder, ILoggerFactory, String, Action<OpenTelemetryChatClient>), que adiciona suporte ao OpenTelemetry ao pipeline do cliente do chat.
Qual pacote referenciar
Para ter acesso a utilitários de nível superior para trabalhar com componentes de IA generativa, faça referência ao pacote Microsoft.Extensions.AI (que faz referência ao Microsoft.Extensions.AI.Abstractions). A maioria dos aplicativos e serviços consumidores deve fazer referência ao pacote Microsoft.Extensions.AI juntamente com uma ou mais bibliotecas que fornecem implementações concretas das abstracções.
Bibliotecas que fornecem implementações das abstrações normalmente fazem referência apenas Microsoft.Extensions.AI.Abstractions.
Instalar os pacotes
Para obter informações sobre como instalar pacotes NuGet, consulte adicionar pacote dotnet ou gerenciar dependências de pacote em aplicativos .NET.
APIs e funcionalidade
A interface IChatClient.
A interface do IChatClient define uma abstração do cliente responsável por interagir com serviços de IA que fornecem recursos de chat. Ela inclui métodos para enviar e receber mensagens com conteúdo multimodal (como texto, imagens e áudio), como um conjunto completo ou transmitidas de maneira incremental.
Para obter mais informações e exemplos de uso detalhados, consulte Usar a interface IChatClient.
A interface IEmbeddingGenerator.
A interface do IEmbeddingGenerator representa um gerador genérico de inserções. Para os parâmetros de tipo genérico, TInput é o tipo de valores de entrada que estão sendo inseridos e TEmbedding é o tipo de inserção gerada, que herda da Embedding classe.
Para obter mais informações e exemplos de uso detalhados, consulte Usar a interface IEmbeddingGenerator.
A Interface IImageGenerator (experimental)
A IImageGenerator interface representa um gerador para criar imagens a partir de prompts de texto ou de outras entradas. Essa interface permite que os aplicativos integrem recursos de geração de imagem de vários serviços de IA por meio de uma API consistente. A interface dá suporte à geração de texto em imagem (chamando GenerateAsync(ImageGenerationRequest, ImageGenerationOptions, CancellationToken)) e opções de configuração para o tamanho e o formato da imagem. Assim como outras interfaces na biblioteca, ela pode ser composta com middleware para cache, telemetria e outras preocupações transversais.
Para obter mais informações, consulte Gerar imagens de texto usando IA.
Crie com a Microsoft.Extensions.AI
Você pode começar a criar com a Microsoft.Extensions.AI das seguintes maneiras:
- Desenvolvedores de biblioteca: se você possui bibliotecas que fornecem clientes para serviços de IA, considere implementar as interfaces em suas bibliotecas. Isso permite que os usuários integrem facilmente seu pacote NuGet por meio das abstrações. Para obter exemplos, consulte exemplos de implementação do IChatClient e exemplos de implementação IEmbeddingGenerator.
- Consumidores de serviços: Se você estiver desenvolvendo bibliotecas que consomem serviços de IA, use as abstrações em vez de codificar para um serviço de IA específico. Essa abordagem oferece aos consumidores a flexibilidade para escolher seu provedor preferencial.
- Desenvolvedores de aplicativos: use as abstrações para simplificar a integração em seus aplicativos. Isso permite a portabilidade entre modelos e serviços, facilita o teste e a simulação, aproveita o middleware fornecido pelo ecossistema e mantém uma API consistente em todo o aplicativo, mesmo que você use serviços diferentes em diferentes partes do aplicativo.
- Colaboradores do ecossistema: se você estiver interessado em contribuir para o ecossistema, considere escrever componentes de middleware personalizados.
Para obter mais exemplos, consulte o repositório GitHub dotnet/ai-samples . Para obter um exemplo de ponta a ponta, consulte eShopSupport.