Das .NET-Ökosystem bietet viele leistungsstarke Tools, Bibliotheken und Dienste zum Entwickeln von KI-Anwendungen. .NET unterstützt sowohl Cloudverbindungen als auch lokale KI-Modellverbindungen, viele verschiedene SDKs für verschiedene KI- und Vektordatenbankdienste und andere Tools, mit denen Sie intelligente Apps unterschiedlicher Umfang und Komplexität erstellen können.
Wichtig
Nicht alle in diesem Dokument dargestellten SDKs und Dienste werden von Microsoft verwaltet. Wenn Sie ein SDK in Betracht ziehen, sollten Sie Aspekte wie Qualität, Lizenzierung, Support und Kompatibilität auswerten, um sicherzustellen, dass dieser Ihren Anforderungen entspricht.
Microsoft.Extensions.AI-Bibliothek für .NET
Microsoft.Extensions.AI ist eine Reihe von .NET-Kernbibliotheken, die in Zusammenarbeit mit Entwicklern im .NET-Ökosystem erstellt wurden, einschließlich semantischer Kernel. Diese Bibliotheken bieten eine einheitliche Ebene von C#-Abstraktionen für die Interaktion mit KI-Diensten, z. B. kleine und große Sprachmodelle (SLMs und LLMs), Einbettungen und Middleware.
Microsoft.Extensions.AI bietet Abstraktionen, die von verschiedenen Diensten implementiert werden können, wobei alle den gleichen Kernkonzepten entsprechen. Diese Bibliothek soll keine APIs bereitstellen, die auf die Dienste eines bestimmten Anbieters zugeschnitten sind. Ziel ist Microsoft.Extensions.AI es, als vereinheitlichende Ebene innerhalb des .NET-Ökosystems zu fungieren, sodass Entwickler ihre bevorzugten Frameworks und Bibliotheken auswählen und gleichzeitig eine nahtlose Integration und Zusammenarbeit im gesamten Ökosystem gewährleisten können.
Semantischer Kernel für .NET
Semantischenr Kernel ist ein Open-Source-SDK, das KI-Integrations- und Orchestrierungsfunktionen in Ihren .NET-Apps ermöglicht. Dieses SDK ist im Allgemeinen das empfohlene KI-Orchestrierungstool für .NET-Apps, die einen oder mehrere KI-Dienste in Kombination mit anderen APIs oder Webdiensten, Datenspeichern und benutzerdefiniertem Code verwenden. Der semantische Kernel hilft Unternehmensentwicklern auf folgende Weise:
Es optimiert die Integration von KI-Funktionen in vorhandene Anwendungen und ermöglicht so eine zusammenhängende Lösung für Unternehmensprodukte.
Es minimiert die Lernkurve der Arbeit mit verschiedenen KI-Modellen oder -Diensten, indem Abstraktionen bereitgestellt werden, die die Komplexität reduzieren.
Es verbessert die Zuverlässigkeit, indem das unvorhersehbare Verhalten von Prompts und Antworten von KI-Modellen reduziert wird. Sie können Prompts optimieren und Aufgaben planen, um eine kontrollierte und vorhersehbare Benutzerumgebung zu erstellen.
Viele verschiedene SDKs sind für .NET verfügbar, um Apps mit KI-Funktionen zu erstellen, je nach Zielplattform oder KI-Modell. OpenAI-Modelle bieten leistungsstarke generative KI-Funktionen, während andere Dienste von Azure KI Services intelligente Lösungen für eine Vielzahl von spezifischen Szenarios bereitstellen.
Azure bietet viele andere KI-Dienste zum Erstellen bestimmter Anwendungsfunktionen und Workflows. Die meisten dieser Dienste stellen ein .NET SDK bereit, um ihre Funktionalität in benutzerdefinierte Apps zu integrieren. Einige der am häufigsten verwendeten Dienste werden in der folgenden Tabelle angezeigt. Eine vollständige Liste der verfügbaren Dienste und Lernressourcen finden Sie in der Dokumentation zu Azure KI Services.
.NET-Apps können auch eine Verbindung mit lokalen KI-Modellen für viele verschiedene Entwicklungsszenarios herstellen. Semantischer Kernel ist das empfohlene Tool zum Herstellen einer Verbindung mit lokalen Modellen mithilfe von .NET. Der semantische Kernel kann eine Verbindung mit vielen verschiedenen Modellen herstellen, die auf einer Vielzahl von Plattformen gehostet werden, und abstrahiert Details zur Implementierung auf niedrigerer Ebene.
Recherchemodelle in Aufgaben, wie z. B. Überlegungen über die vom Benutzer gegebenen Daten, das Auslesen von Vergleichen, die mathematische Problemlösung und die Textzusammenfassung.
Hinweis
Die vorherigen SLMs können auch auf anderen Diensten wie Azure gehostet werden.
Herstellen einer Verbindung mit Vektordatenbanken und Diensten
KI-Anwendungen verwenden häufig Datenvektordatenbanken und -dienste, um die Relevanz zu verbessern und angepasste Funktionen bereitzustellen. Viele dieser Dienste stellen ein natives SDK für .NET bereit, während andere einen REST-Dienst anbieten, mit dem Sie über benutzerdefinierten Code eine Verbindung herstellen können. Der semantische Kernel bietet ein erweiterbares Komponentenmodell, mit dem Sie unterschiedliche Vektorspeicher verwenden können, ohne sich in jedes SDK einarbeiten zu müssen.
Der semantische Kernel stellt Connectors für die folgenden Vektordatenbanken und -dienste bereit:
Besuchen Sie die Dokumentation für jeden jeweiligen Dienst, um .NET SDK- und API-Unterstützung zu ermitteln.
Weitere Optionen
In diesem Artikel wurden die Tools und SDKs im .NET-Ökosystem zusammengefasst, mit dem Schwerpunkt auf Diensten, die offizielle Unterstützung für .NET bieten. Je nach Bedarf und Phase der App-Entwicklung sollten Sie sich auch die Open-Source-Optionen für das Ökosystem in der inoffiziellen Liste der .NET + KI-Ressourcen ansehen. Microsoft ist nicht der Maintainer vieler dieser Projekte. Achten Sie daher darauf, Qualität, Lizenzierung und Support zu überprüfen.
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Erfahren Sie, wie Sie mithilfe von Semantic Kernel SDK intelligente Anwendungen erstellen, die Aufgaben automatisieren und eine linguistische Datenverarbeitung ausführen. (AZ-2005)