Översikt över .NET + AI-ekosystemet
.NET-ekosystemet innehåller många kraftfulla verktyg, bibliotek och tjänster för att utveckla AI-program. .NET stöder både molnbaserade och lokala AI-modellanslutningar, många olika SDK:er för olika AI- och vektordatabastjänster och andra verktyg som hjälper dig att skapa intelligenta appar med varierande omfattning och komplexitet.
Viktigt!
Alla SDK:er och tjänster som presenteras i det här dokumentet underhålls inte av Microsoft. När du överväger en SDK bör du utvärdera dess kvalitet, licensiering, support och kompatibilitet för att säkerställa att de uppfyller dina krav.
Microsoft.Extensions.AI bibliotek för .NET
Microsoft.Extensions.AI
är en uppsättning .NET-kärnbibliotek som skapats i samarbete med utvecklare i .NET-ekosystemet, inklusive semantisk kernel. De här biblioteken tillhandahåller ett enhetligt lager av C#-abstraktioner för att interagera med AI-tjänster, till exempel små och stora språkmodeller (SLA och LLM), inbäddningar och mellanprogram.
Microsoft.Extensions.AI
tillhandahåller abstraktioner som kan implementeras av olika tjänster, som alla följer samma grundläggande begrepp. Det här biblioteket är inte avsett att tillhandahålla API:er som är skräddarsydda för någon specifik leverantörs tjänster. Målet Microsoft.Extensions.AI
med är att fungera som ett enhetligt lager i .NET-ekosystemet, vilket gör det möjligt för utvecklare att välja önskade ramverk och bibliotek samtidigt som sömlös integrering och samarbete säkerställs i hela ekosystemet.
Semantisk kernel för .NET
Semantisk kernel är en SDK med öppen källkod som möjliggör AI-integrering och orkestreringsfunktioner i dina .NET-appar. Detta SDK är vanligtvis det rekommenderade AI-orkestreringsverktyget för .NET-appar som använder en eller flera AI-tjänster i kombination med andra API:er eller webbtjänster, datalager och anpassad kod. Semantisk kernel gynnar företagsutvecklare på följande sätt:
- Effektiviserar integreringen av AI-funktioner i befintliga program för att möjliggöra en sammanhängande lösning för företagsprodukter.
- Minimerar inlärningskurvan för att arbeta med olika AI-modeller eller tjänster genom att tillhandahålla abstraktioner som minskar komplexiteten.
- Förbättrar tillförlitligheten genom att minska det oförutsägbara beteendet för frågor och svar från AI-modeller. Du kan finjustera frågor och planera uppgifter för att skapa en kontrollerad och förutsägbar användarupplevelse.
Mer information finns i dokumentationen om semantisk kernel.
.NET SDK:er för att skapa AI-appar
Många olika SDK:er är tillgängliga för .NET för att skapa appar med AI-funktioner beroende på målplattformen eller AI-modellen. OpenAI-modeller erbjuder kraftfulla generativa AI-funktioner, medan andra Azure AI-tjänster tillhandahåller intelligenta lösningar för en mängd olika specifika scenarier.
.NET SDK:er för OpenAI-modeller
NuGet-paket | Modeller som stöds | Underhållare eller leverantör | Dokumentation |
---|---|---|---|
Microsoft.SemanticKernel |
OpenAI-modeller Modeller som stöds av Azure OpenAI |
Semantisk kernel (Microsoft) | Dokumentation om semantisk kernel |
Azure OpenAI SDK | Modeller som stöds av Azure OpenAI | Azure SDK för .NET (Microsoft) | Dokumentation om Azure OpenAI-tjänster |
OpenAI SDK | OpenAI-modeller som stöds | OpenAI SDK för .NET (OpenAI) | Dokumentation om OpenAI-tjänster |
.NET SDK:er för Azure AI Services
Azure erbjuder många andra AI-tjänster för att skapa specifika programfunktioner och arbetsflöden. De flesta av dessa tjänster tillhandahåller en .NET SDK för att integrera deras funktioner i anpassade appar. Några av de vanligaste tjänsterna visas i följande tabell. En fullständig lista över tillgängliga tjänster och utbildningsresurser finns i Azure AI Services-dokumentationen.
Tjänst | beskrivning |
---|---|
Azure AI Search | Lägg till AI-baserad molnsökning i dina mobil- och webbappar. |
Säkerhet för Azure AI-innehåll | Identifiera oönskat eller stötande innehåll. |
Azure AI-dokumentinformation | Omvandla dokument till intelligenta datadrivna lösningar. |
Azure AI Language | Skapa appar med branschledande funktioner för förståelse av naturligt språk. |
Azure AI Speech | Tal till text, text till tal, översättning och talarigenkänning. |
Azure AI Translator | AI-baserad översättningsteknik med stöd för mer än 100 språk och dialekter. |
Azure AI Vision | Analysera innehåll i bilder och videor. |
Utveckla med lokala AI-modeller
.NET-appar kan också ansluta till lokala AI-modeller för många olika utvecklingsscenarier. Semantisk kernel är det rekommenderade verktyget för att ansluta till lokala modeller med hjälp av .NET. Semantisk kernel kan ansluta till många olika modeller som finns på en mängd olika plattformar och sammanfattar implementeringsinformation på lägre nivå.
Du kan till exempel använda Ollama för att ansluta till lokala AI-modeller med .NET, inklusive flera små språkmodeller (SLA) som utvecklats av Microsoft:
Modell | beskrivning |
---|---|
phi3-modeller | En familj av kraftfulla SLA:er med banbrytande prestanda till låg kostnad och låg svarstid. |
orca-modeller | Forskningsmodeller i uppgifter som att resonera över data som tillhandahålls av användaren, läsförståelse, matematisk problemlösning och textsammanfattning. |
Kommentar
De föregående SLA:erna kan också finnas på andra tjänster, till exempel Azure.
Ansluta till vektordatabaser och -tjänster
AI-program använder ofta datavektordatabaser och -tjänster för att förbättra relevansen och tillhandahålla anpassade funktioner. Många av dessa tjänster tillhandahåller ett inbyggt SDK för .NET, medan andra erbjuder en REST-tjänst som du kan ansluta till via anpassad kod. Semantisk kernel tillhandahåller en utökningsbar komponentmodell som gör att du kan använda olika vektorlager utan att behöva lära dig varje SDK.
Semantisk kernel tillhandahåller anslutningsappar för följande vektordatabaser och tjänster:
Om du vill identifiera .NET SDK- och API-stöd går du till dokumentationen för respektive tjänst.
Andra alternativ
I den här artikeln sammanfattas verktygen och SDK:erna i .NET-ekosystemet med fokus på tjänster som ger officiellt stöd för .NET. Beroende på dina behov och steg i apputvecklingen kanske du också vill ta en titt på alternativen med öppen källkod för ekosystemet i den inofficiella listan över .NET + AI-resurser. Microsoft är inte underhållare för många av dessa projekt, så se till att granska deras kvalitet, licensiering och support.