Ler em inglês

Compartilhar via


Visão geral do ecossistema .NET + AI

O ecossistema do .NET fornece muitas ferramentas, bibliotecas e serviços avançados para desenvolver aplicativos de IA. O .NET dá suporte a conexões de modelo de IA locais e de nuvem, muitos SDKs diferentes para vários serviços de banco de dados vetorial e de IA e outras ferramentas para ajudar você a criar aplicativos inteligentes de escopo e complexidade diferentes.

Importante

Nem todos os SDKs e serviços apresentados neste documento são mantidos pela Microsoft. Ao considerar um SDK, avalie a qualidade, licenciamento, suporte e compatibilidade dele para garantir que ele atenda às suas necessidades.

Microsoft.Extensions.AI biblioteca para .NET

Microsoft.Extensions.AI é um conjunto de bibliotecas principais do .NET criadas em colaboração com desenvolvedores em todo o ecossistema .NET, incluindo o Kernel Semântico. Essas bibliotecas fornecem uma camada unificada de abstrações C# para interagir com serviços de IA, como modelos de linguagem pequenos e grandes (SLMs e LLMs), inserções e middleware.

Microsoft.Extensions.AI fornece abstrações que podem ser implementadas por vários serviços, todos aderindo aos mesmos conceitos básicos. Esta biblioteca não se destina a fornecer APIs personalizadas para os serviços de nenhum provedor específico. O objetivo é Microsoft.Extensions.AI atuar como uma camada unificadora dentro do ecossistema .NET, permitindo que os desenvolvedores escolham suas estruturas e bibliotecas preferidas, garantindo integração e colaboração perfeitas em todo o ecossistema.

Kernel Semântico para .NET

O Kernel Semântico é um SDK de código aberto que permite recursos de orquestração e integração de IA em seus aplicativos .NET. Esse SDK geralmente é a ferramenta de orquestração de IA recomendada para aplicativos .NET que usam um ou mais serviços de IA em combinação com outras APIs ou serviços Web, armazenamentos de dados e código personalizado. O Kernel Semântico beneficia os desenvolvedores empresariais das seguintes maneiras:

  • Simplifica a integração de recursos de IA em aplicativos existentes para permitir uma solução coesa para produtos empresariais.
  • Minimiza a curva de aprendizado do trabalho com diferentes modelos ou serviços de IA, fornecendo abstrações que reduzem a complexidade.
  • Aumenta a confiabilidade ao reduzir o comportamento imprevisível dos prompts e das respostas dos modelos de IA. É possível ajustar os prompts e planejar tarefas para criar uma experiência de usuário controlada e previsível.

Para obter mais informações, consulte a documentação do Semantic Kernel.

SDKs do .NET para a criação de aplicativos de IA

Vários SDKs diferentes estão disponíveis para o .NET criar aplicativos com recursos de IA, dependendo da plataforma de destino ou do modelo de IA. Os modelos da OpenAI oferecem funcionalidades de IA generativa avançadas, enquanto outros Serviços de IA do Azure fornecem soluções inteligentes para uma variedade de cenários específicos.

SDKs do .NET para modelos da OpenAI

SDKS do .NET para Serviços de IA do Azure

O Azure oferece muitos outros serviços de IA para criar recursos de aplicativo e fluxos de trabalho específicos. A maioria desses serviços fornece um SDK do .NET para integrar suas funcionalidades em aplicativos personalizados. Alguns dos serviços mais usados são mostrados na tabela a seguir. Para obter uma lista completa de serviços disponíveis e recursos de aprendizagem, consulte a documentação Serviços de IA do Azure.

Serviço Descrição
Azure AI Search Insira a pesquisa em nuvem habilitada para IA nos seus aplicativos Web e móveis.
Segurança de Conteúdo da IA do Azure Detectar conteúdo indesejado ou ofensivo.
IA do Azure para Informação de Documentos Transforme documentos em soluções inteligentes baseadas em dados.
Linguagem de IA do Azure Criar aplicativos com recursos líderes do setor de reconhecimento de linguagem natural.
Fala de IA do Azure Conversão de fala em texto, conversão de texto em fala, tradução e reconhecimento de locutor.
Tradutor de IA do Azure Tecnologia de tradução baseada em IA com suporte para mais de 100 idiomas e dialetos.
Visão de IA do Azure Analisar o conteúdo em imagens e vídeos.

Desenvolver com modelos de IA locais

Os aplicativos .NET também podem se conectar a modelos de IA locais para muitos cenários de desenvolvimento diferentes. O Kernel Semântico é a ferramenta recomendada para se conectar a modelos locais usando o .NET. O Kernel Semântico pode se conectar a vários modelos diferentes hospedados em uma variedade de plataformas e abstrai os detalhes de implementação de nível inferior.

Por exemplo, você pode usar o Ollama para se conectar a modelos de IA locais com .NET, incluindo vários SLMs (Small Language Models) desenvolvidos pela Microsoft:

Modelo Descrição
Modelos phi3 Uma família de SLMs poderosos com desempenho inovador a baixo custo e baixa latência.
Modelos orca Modelos de pesquisa em tarefas como raciocínio sobre dados determinados pelo usuário, compreensão de leitura, resolução de problemas matemáticos e resumo de texto.

Observação

Os SLMs anteriores também podem ser hospedados em outros serviços, como o Azure.

Conectar-se a serviços e bancos de dados vetoriais

Os aplicativos de IA geralmente usam bancos de dados e serviços de vetor de dados para melhorar a relevância e fornecer funcionalidade personalizada. Muitos desses serviços fornecem um SDK nativo para .NET, enquanto outros oferecem um serviço REST ao qual você pode se conectar por meio de um código personalizado. O Kernel Semântico fornece um modelo de componente extensível que permite que você use repositórios de vetores diferentes sem a necessidade de aprender cada SDK.

O Kernel Semântico fornece conectores para os seguintes bancos de dados e serviços de vetor:

Acesse a documentação de cada serviço respectivo para descobrir o SDK do .NET e o suporte à API.

Outras opções

Este artigo resumiu as ferramentas e os SDKs no ecossistema do .NET, com foco nos serviços que fornecem suporte oficial ao .NET. Dependendo de suas necessidades e estágio de desenvolvimento de aplicativos, talvez você também queira dar uma olhada nas opções de software livre para o ecossistema em a lista não oficial de recursos .NET + IA. A Microsoft não é a mantenedora de muitos desses projetos, portanto, certifique-se de examinar sua qualidade, licenciamento e suporte.

Próximas etapas