Partilhar via


Visão geral do ecossistema .NET + AI

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 documento 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.

Kernel semântico para .NET

O Semantic Kernel é um SDK de código aberto que permite a integração de IA e recursos de orquestração em seus aplicativos .NET. Este 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 corporativos das seguintes maneiras:

  • Simplifica a integração de recursos de IA em aplicativos existentes para permitir uma solução coesa para produtos corporativos.
  • Minimiza a curva de aprendizado de trabalhar com diferentes modelos ou serviços de IA, fornecendo abstrações que reduzem a complexidade.
  • Melhora a confiabilidade reduzindo o comportamento imprevisível de prompts e respostas de modelos de IA. Você pode ajustar 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 .NET para criar aplicativos de IA

Muitos 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 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.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 Description
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 Kernel Semântico é a ferramenta recomendada para se conectar a modelos locais usando .NET. O Kernel Semântico 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 Small Language Models (SLMs) desenvolvidos pela Microsoft:

Modelo Description
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 sumarização de texto.

Nota

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

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

Os aplicativos de IA geralmente usam bancos de dados e serviços vetoriais 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 código personalizado. O Kernel Semântico fornece um modelo de componente extensível que permite que você use diferentes armazenamentos vetoriais sem a necessidade de aprender cada SDK.

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

Serviço vetorial Conector do kernel semântico SDK do .NET
Pesquisa de IA do Azure Microsoft.SemanticKernel.Connectors.AzureAISearch Azure.Search.Documents
Azure Cosmos DB para NoSQL Microsoft.SemanticKernel.Connectors.AzureCosmosDBNoSQL Microsoft.Azure.Cosmos
Azure Cosmos DB para MongoDB Microsoft.SemanticKernel.Connectors.AzureCosmosDBMongoDB MongoDb.Driver
Azure PostgreSQL Server Microsoft.SemanticKernel.Connectors.Postgres Npgsql
Base de Dados SQL do Azure Microsoft.SemanticKernel.Connectors.SqlServer Microsoft.Data.SqlClient
Cromo Microsoft.SemanticKernel.Connectors.Chroma ND
DuckDB Microsoft.SemanticKernel.Connectors.DuckDB DuckDB.NET.Data.Full
Milvus Microsoft.SemanticKernel.Connectors.Milvus Milvus.Cliente
Pesquisa vetorial do Atlas MongoDB Microsoft.SemanticKernel.Connectors.MongoDB MongoDb.Driver
Pinecone Microsoft.SemanticKernel.Connectors.Pinecone API REST
Postgres Microsoft.SemanticKernel.Connectors.Postgres Npgsql
Qdrant Microsoft.SemanticKernel.Connectors.Qdrant Qdrant.Cliente
Redis Microsoft.SemanticKernel.Connectors.Redis StackExchange.Redis
Tecelagem Microsoft.SemanticKernel.Connectors.Weaviate API REST

Visite a documentação de cada serviço respetivo para descobrir o .NET SDK e o suporte à API.

Outras opções

Este artigo resumiu as ferramentas e SDKs no ecossistema .NET, com foco em serviços que fornecem suporte oficial para .NET. Dependendo de suas necessidades e do estágio de desenvolvimento do aplicativo, você também pode querer dar uma olhada nas opções de código aberto para o ecossistema na lista não oficial de recursos .NET + AI. A Microsoft não é a mantenedora de muitos desses projetos, portanto, certifique-se de revisar sua qualidade, licenciamento e suporte.

Passos Seguintes