Delen via


Overzicht van het .NET + AI-ecosysteem

Het .NET-ecosysteem biedt veel krachtige hulpprogramma's, bibliotheken en services voor het ontwikkelen van AI-toepassingen. .NET ondersteunt zowel cloud- als lokale AI-modelverbindingen, veel verschillende SDK's voor verschillende AI- en vectordatabaseservices en andere hulpprogramma's om intelligente apps met verschillende omvang en complexiteit te bouwen.

Belangrijk

Niet alle SDK's en services die in dit document worden gepresenteerd, worden onderhouden door Microsoft. Wanneer u een SDK overweegt, moet u ervoor zorgen dat u de kwaliteit, licentieverlening, ondersteuning en compatibiliteit evalueert om ervoor te zorgen dat deze voldoen aan uw vereisten.

Microsoft.Extensions.AI-bibliotheek voor .NET

Microsoft.Extensions.AI is een set kernbibliotheken van .NET die zijn gemaakt in samenwerking met ontwikkelaars in het .NET-ecosysteem, waaronder Semantische kernel. Deze bibliotheken bieden een uniforme laag C#-abstracties voor interactie met AI-services, zoals kleine en grote taalmodellen (SLM's en LLM's), insluitingen en middleware.

Microsoft.Extensions.AI biedt abstracties die kunnen worden geïmplementeerd door verschillende services, die allemaal aan dezelfde kernconcepten houden. Deze bibliotheek is niet bedoeld om API's te bieden die zijn afgestemd op de services van een specifieke provider. Het doel is Microsoft.Extensions.AI om te fungeren als een verbindende laag binnen het .NET-ecosysteem, zodat ontwikkelaars hun favoriete frameworks en bibliotheken kunnen kiezen en tegelijkertijd naadloze integratie en samenwerking binnen het ecosysteem kunnen garanderen.

Semantische kernel voor .NET

Semantische kernel is een opensource-SDK waarmee AI-integratie- en indelingsmogelijkheden in uw .NET-apps mogelijk zijn. Deze SDK is over het algemeen het aanbevolen AI-indelingsprogramma voor .NET-apps die gebruikmaken van een of meer AI-services in combinatie met andere API's of webservices, gegevensarchieven en aangepaste code. Semantic Kernel biedt zakelijke ontwikkelaars de volgende voordelen:

  • Stroomlijnt de integratie van AI-mogelijkheden in bestaande toepassingen om een samenhangende oplossing voor bedrijfsproducten mogelijk te maken.
  • Minimaliseert de leercurve van het werken met verschillende AI-modellen of -services door abstracties te bieden die de complexiteit verminderen.
  • Verbetert de betrouwbaarheid door het onvoorspelbare gedrag van prompts en antwoorden van AI-modellen te verminderen. U kunt prompts verfijnen en taken plannen om een gecontroleerde en voorspelbare gebruikerservaring te maken.

Zie de Semantische kerneldocumentatie voor meer informatie.

.NET SDK's voor het bouwen van AI-apps

Er zijn veel verschillende SDK's beschikbaar voor .NET om apps te bouwen met AI-mogelijkheden, afhankelijk van het doelplatform of AI-model. OpenAI-modellen bieden krachtige generatieve AI-mogelijkheden, terwijl andere Azure AI Services intelligente oplossingen bieden voor verschillende specifieke scenario's.

.NET SDK's voor OpenAI-modellen

NuGet-pakket Ondersteunde modellen Onderhouder of leverancier Documentatie
Microsoft.SemanticKernel OpenAI-modellen
Door Azure OpenAI ondersteunde modellen
Semantische kernel (Microsoft) Semantische kerneldocumentatie
Azure OpenAI SDK Door Azure OpenAI ondersteunde modellen Azure SDK voor .NET (Microsoft) Documentatie voor Azure OpenAI-services
OpenAI SDK Ondersteunde OpenAI-modellen OpenAI SDK voor .NET (OpenAI) Documentatie voor OpenAI-services

.NET SDK's voor Azure AI Services

Azure biedt veel andere AI-services voor het bouwen van specifieke toepassingsmogelijkheden en werkstromen. De meeste van deze services bieden een .NET SDK om hun functionaliteit te integreren in aangepaste apps. Sommige van de meest gebruikte services worden weergegeven in de volgende tabel. Zie de documentatie van Azure AI Services voor een volledige lijst met beschikbare services en leerbronnen.

Service Beschrijving
Azure AI Search Breng zoeken in de cloud op basis van kunstmatige intelligentie naar uw mobiele apps en web-apps.
Azure AI Content Veiligheid Ongewenste of aanstootgevende inhoud detecteren.
Azure AI-documentinformatie Documenten omzetten in intelligente gegevensgestuurde oplossingen.
Azure AI-taal Bouw apps met toonaangevende mogelijkheden voor natuurlijke taalbegrip.
Azure AI Speech Spraak naar tekst, tekst naar spraak, vertaling en sprekerherkenning.
Azure AI Translator Door AI gemaakte vertaaltechnologie met ondersteuning voor meer dan 100 talen en dialecten.
Azure AI Vision Analyseer inhoud in afbeeldingen en video's.

Ontwikkelen met lokale AI-modellen

.NET-apps kunnen ook verbinding maken met lokale AI-modellen voor veel verschillende ontwikkelscenario's. Semantische kernel is het aanbevolen hulpprogramma om verbinding te maken met lokale modellen met behulp van .NET. Semantische kernel kan verbinding maken met veel verschillende modellen die worden gehost op verschillende platforms en abstraheren implementatiedetails op lager niveau.

U kunt bijvoorbeeld Ollama gebruiken om verbinding te maken met lokale AI-modellen met .NET, waaronder verschillende kleine taalmodellen (SLM's) die zijn ontwikkeld door Microsoft:

Modelleren Beschrijving
phi3-modellen Een familie van krachtige SLM's met baanbrekende prestaties tegen lage kosten en lage latentie.
orca-modellen Onderzoek modellen in taken zoals redenering over door de gebruiker verstrekte gegevens, het lezen van begrip, het oplossen van wiskundige problemen en het samenvatten van tekst.

Notitie

De voorgaande SLM's kunnen ook worden gehost op andere services, zoals Azure.

Verbinding maken met vectordatabases en -services

AI-toepassingen maken vaak gebruik van gegevensvectordatabases en -services om de relevantie te verbeteren en aangepaste functionaliteit te bieden. Veel van deze services bieden een systeemeigen SDK voor .NET, terwijl anderen een REST-service bieden waarmee u verbinding kunt maken via aangepaste code. Semantische kernel biedt een uitbreidbaar onderdeelmodel waarmee u verschillende vectorarchieven kunt gebruiken zonder dat u elke SDK hoeft te leren.

Semantische kernel biedt connectors voor de volgende vectordatabases en -services:

Vector-service Semantische kernelconnector .NET SDK
Azure AI Search Microsoft.SemanticKernel.Connectors.AzureAISearch Azure.Search.Documents
Azure Cosmos DB voor NoSQL Microsoft.SemanticKernel.Connectors.AzureCosmosDBNoSQL Microsoft.Azure.Cosmos
Azure Cosmos DB voor MongoDB Microsoft.SemanticKernel.Connectors.AzureCosmosDBMongoDB MongoDb.Driver
Azure PostgreSQL-server Microsoft.SemanticKernel.Connectors.Postgres Npgsql
Azure SQL-database Microsoft.SemanticKernel.Connectors.SqlServer Microsoft.Data.SqlClient
Chroma Microsoft.SemanticKernel.Connectors.Chroma N.v.t.
DuckDB Microsoft.SemanticKernel.Connectors.DuckDB DuckDB.NET.Data.Full
Milvus Microsoft.SemanticKernel.Connectors.Milvus Milvus.Client
MongoDB Atlas Vector Search Microsoft.SemanticKernel.Connectors.MongoDB MongoDb.Driver
Pinecone Microsoft.SemanticKernel.Connectors.Pinecone REST API
Postgres Microsoft.SemanticKernel.Connectors.Postgres Npgsql
Qdrant Microsoft.SemanticKernel.Connectors.Qdrant Qdrant.Client
Redis Microsoft.SemanticKernel.Connectors.Redis StackExchange.Redis
Weaviaat Microsoft.SemanticKernel.Connectors.Weaviate REST API

Als u .NET SDK- en API-ondersteuning wilt detecteren, gaat u naar de documentatie voor elke betreffende service.

Andere opties

In dit artikel vindt u een overzicht van de hulpprogramma's en SDK's in het .NET-ecosysteem, met een focus op services die officiële ondersteuning bieden voor .NET. Afhankelijk van uw behoeften en fase van app-ontwikkeling, kunt u ook de opensource-opties voor het ecosysteem bekijken in de onofficiële lijst met .NET + AI-resources. Microsoft is niet de onderhouder van veel van deze projecten, dus zorg ervoor dat u de kwaliteit, licentieverlening en ondersteuning ervan beoordeelt.

Volgende stappen