Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O ecossistema .NET fornece muitas ferramentas, bibliotecas e serviços poderosos para desenvolver aplicativos de IA. O .NET suporta conexões de modelo de IA local e na nuvem, muitos SDKs diferentes para vários serviços de IA e banco de dados vetorial e outras ferramentas para ajudá-lo a criar aplicativos inteligentes de escopo e complexidade variáveis.
Importante
Nem todos os SDKs e serviços apresentados neste artigo são mantidos pela Microsoft. Ao considerar um SDK, certifique-se de avaliar sua qualidade, licenciamento, suporte e compatibilidade para garantir que eles atendam aos seus requisitos.
Bibliotecas de Microsoft.Extensions.AI
Microsoft.Extensions.AI é um conjunto de bibliotecas .NET principais que fornecem uma camada unificada de abstrações em C# para interagir com serviços de IA, como modelos de linguagem pequenos e grandes (SLMs e LLMs), incorporações e middleware. Essas APIs foram criadas em colaboração com desenvolvedores em todo o ecossistema .NET, incluindo o Kernel Semântico. As APIs de baixo nível, como IChatClient e IEmbeddingGenerator<TInput,TEmbedding>, foram extraídas do Kernel Semântico e movidas para o Microsoft.Extensions.AI namespace.
Microsoft.Extensions.AI fornece abstrações que podem ser implementadas por vários serviços, todos aderindo aos mesmos conceitos centrais. Esta biblioteca não se destina a fornecer APIs adaptadas aos serviços de qualquer 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 ao mesmo tempo integração e colaboração perfeitas em todo o ecossistema.
Outras bibliotecas Microsoft.Extensions relacionadas com IA
O 📦 pacote Microsoft.Extensions.VectorData.Abstractions fornece uma camada unificada de abstrações para interagir com uma variedade de armazenamentos vetoriais. Permite-lhe armazenar blocos processados em lojas vetoriais como Qdrant, Azure SQL, CosmosDB, MongoDB, ElasticSearch e muitas outras. Para mais informações, consulte Construir uma aplicação de busca vetorial por IA em .NET.
O 📦 pacote Microsoft.Extensions.DataIngestion fornece blocos fundamentais .NET para a ingestão de dados. Permite aos programadores ler, processar e preparar documentos para fluxos de trabalho de IA e aprendizagem automática, especialmente cenários de geração aumentada por recuperação (RAG). Para mais informações, consulte Ingestão de dados.
Estrutura do Microsoft Agent
Se quiser usar serviços de baixo nível, como IChatClient e IEmbeddingGenerator<TInput,TEmbedding>, você pode fazer referência ao Microsoft.Extensions.AI.Abstractions pacote diretamente do seu aplicativo. No entanto, se você quiser criar aplicativos de IA agentic com recursos de orquestração de nível mais alto, use o Microsoft Agent Framework. O Agent Framework se baseia no Microsoft.Extensions.AI.Abstractions pacote e fornece implementações concretas para IChatClient diferentes serviços, incluindo OpenAI, Azure OpenAI, Azure AI Foundry e muito mais.
Essa estrutura é a abordagem recomendada para aplicativos .NET que precisam criar sistemas de IA agentic com orquestração avançada, colaboração multiagente e segurança e observabilidade de nível empresarial.
O Agent Framework é uma estrutura de código aberto pronta para produção que reúne os melhores recursos do Semantic Kernel e do AutoGen da Microsoft Research. O Agent Framework fornece:
- Orquestração multiagente: Suporte para padrões de orquestração sequencial, simultânea, de bate-papo em grupo, transferência e magnética (onde um agente líder dirige outros agentes).
- Flexibilidade da nuvem e do provedor: agnóstica da nuvem (contêineres, no local ou multinuvem) e agnóstica do provedor (por exemplo, OpenAI ou Azure AI Foundry) usando modelos de plug-in e conectores.
- Recursos de nível empresarial: observabilidade integrada (OpenTelemetry), integração de segurança do Microsoft Entra e recursos de IA responsável, incluindo proteção de injeção imediata e monitoramento de aderência de tarefas.
- Interoperabilidade baseada em padrões: Integração com padrões abertos, como o protocolo A2A (Agent-to-Agent) e o MCP (Model Context Protocol) para descoberta de agentes e interação de ferramentas.
Para obter mais informações, consulte a documentação do Microsoft Agent Framework.
Kernel semântico para .NET
O Semantic Kernel é uma biblioteca de código aberto que permite a integração de IA e recursos de orquestração em seus aplicativos .NET. O Semantic Kernel depende do Microsoft.Extensions.AI.Abstractions pacote e fornece conectores com implementações concretas de IChatClient e IEmbeddingGenerator<TInput,TEmbedding> para diferentes serviços, incluindo OpenAI, Amazon Bedrock e Google Gemini.
No entanto, para novos aplicativos que exigem recursos de agente, orquestração de vários agentes ou observabilidade e segurança de nível empresarial, a estrutura recomendada é o Microsoft Agent Framework.
SDKs .NET para criar aplicativos de IA
Muitos SDKs diferentes estão disponíveis para criar aplicativos .NET com recursos de IA, dependendo da plataforma de destino ou do modelo de IA. Os modelos OpenAI oferecem recursos poderosos de IA generativa, enquanto outros Serviços de IA do Azure fornecem soluções inteligentes para uma variedade de cenários específicos.
SDKs .NET para modelos OpenAI
| Pacote NuGet | Modelos suportados | Mantenedor ou fornecedor | Documentação |
|---|---|---|---|
| Microsoft.Agents.AI.OpenAI |
Modelos OpenAI Modelos suportados do Azure OpenAI |
Microsoft Agent Framework (Microsoft) | Documentação do Agent Framework |
| Microsoft.SemanticKernel |
Modelos OpenAI Modelos suportados do Azure OpenAI |
Kernel semântico (Microsoft) | Documentação do Kernel Semântico |
| Azure OpenAI SDK | Modelos suportados do Azure OpenAI | SDK do Azure para .NET (Microsoft) | Documentação dos serviços do Azure OpenAI |
| OpenAI SDK | Modelos suportados pela OpenAI | OpenAI SDK para .NET (OpenAI) | Documentação de serviços OpenAI |
SDKs do .NET para Serviços de IA do Azure
O Azure oferece muitos outros serviços de IA para criar recursos e fluxos de trabalho específicos de aplicativos. A maioria desses serviços fornece um SDK .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 dos serviços e recursos de aprendizagem disponíveis, consulte a documentação dos Serviços de IA do Azure .
| Serviço | Descrição |
|---|---|
| Azure AI Search | Integre a pesquisa na cloud com alimentada por IA nas suas aplicações Web e móveis. |
| Segurança dos Conteúdos no Azure AI | Detete conteúdo indesejado ou ofensivo. |
| Azure AI Document Intelligence | Transforme documentos em soluções inteligentes orientadas por dados. |
| Linguagem de IA do Azure | Crie aplicativos com recursos de compreensão de linguagem natural líderes do setor. |
| Azure AI Speech | Conversão de fala em texto, de texto em fala, tradução e reconhecimento de oradores. |
| Azure AI Translator | Tecnologia de tradução alimentada por IA com suporte para mais de 100 idiomas e dialetos. |
| Azure AI Vision | Analise conteúdo em imagens e vídeos. |
Desenvolva 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 Microsoft Agent Framework é a ferramenta recomendada para se conectar a modelos locais usando o .NET. Essa estrutura pode se conectar a muitos modelos diferentes hospedados em uma variedade de plataformas e abstrai detalhes de implementação de nível inferior.
Por exemplo, você pode usar o Ollama para se conectar a modelos de IA locais com o .NET, incluindo vários modelos de linguagem pequena (SLMs) 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 fornecidos 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.