Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
.NET-Entwickler müssen in ihre Apps eine wachsende Vielfalt von KI-Diensten (Künstliche Intelligenz) integrieren und damit interagieren. Die Microsoft.Extensions.AI Bibliotheken bieten einen einheitlichen Ansatz für die Darstellung von generativen KI-Komponenten und ermöglichen eine nahtlose Integration und Interoperabilität mit verschiedenen KI-Diensten. In diesem Artikel werden die Bibliotheken vorgestellt und ausführliche Verwendungsbeispiele bereitgestellt, die Ihnen bei den ersten Schritten helfen.
Die Pakete
Das 📦 Microsoft.Extensions.AI.Abstractions-Paket stellt die Kernaustauschtypen bereit, einschließlich IChatClient und IEmbeddingGenerator<TInput,TEmbedding>. Jede .NET-Bibliothek, die einen LLM-Client bereitstellt, kann die IChatClient Schnittstelle implementieren, um eine nahtlose Integration mit Verwendungscode zu ermöglichen.
Das 📦 Microsoft.Extensions.AI-Paket hat eine implizite Abhängigkeit vom Microsoft.Extensions.AI.Abstractions Paket. Mit diesem Paket können Sie Komponenten wie automatische Funktionstoolaufrufe, Telemetrie und Zwischenspeicherung einfach in Ihre Anwendungen integrieren, indem Sie vertraute Abhängigkeitsinjektions- und Middlewaremuster verwenden. Beispielsweise stellt sie die UseOpenTelemetry(ChatClientBuilder, ILoggerFactory, String, Action<OpenTelemetryChatClient>) Erweiterungsmethode bereit, die der Chatclientpipeline OpenTelemetry-Unterstützung hinzufügt.
Auf welches Paket verwiesen werden soll
Wenn Sie Zugriff auf Hilfsprogramme auf höherer Ebene haben möchten, um mit generativen KI-Komponenten zu arbeiten, verweisen Sie stattdessen auf das Microsoft.Extensions.AI Paket (auf das sich selbst bezieht Microsoft.Extensions.AI.Abstractions). Die meisten verbrauchenden Anwendungen und Dienste sollten zusammen mit einer oder mehreren Bibliotheken, die konkrete Implementierungen der Abstraktionen bereitstellen, auf das Microsoft.Extensions.AI Paket verweisen.
Bibliotheken, die Implementierungen der Abstraktionen bereitstellen, verweisen in der Regel nur auf Microsoft.Extensions.AI.Abstractions.
Installieren der Pakete
Informationen zum Installieren von NuGet-Paketen finden Sie unter dotnet package add oder Paketabhängigkeiten in .NET-Anwendungen verwalten.
APIs und Funktionen
-
Die
IChatClient-Schnittstelle -
Die
IEmbeddingGenerator-Schnittstelle -
Die
IImageGeneratorSchnittstelle (experimentell)
Die IChatClient-Schnittstelle
Die IChatClient-Schnittstelle definiert eine Client-Abstraktion, die für die Interaktion mit KI-Diensten verantwortlich ist, die Chatfunktionen bereitstellen. Es enthält Methoden zum Senden und Empfangen von Nachrichten mit multimodalem Inhalt (wie z. B. Text, Bilder und Audio), entweder als kompletter Satz oder inkrementell gestreamt.
Weitere Informationen und detaillierte Verwendungsbeispiele finden Sie unter Verwenden der IChatClient-Schnittstelle.
Die IEmbeddingGenerator-Schnittstelle
Die Schnittstelle IEmbeddingGenerator stellt einen generischen Generator für Einbettungen dar. Bei den generischen Typparametern TInput handelt es sich um den Typ der eingebetteten Eingabewerte und TEmbedding ist der Typ der generierten Einbettung, die von der Embedding Klasse erbt.
Weitere Informationen und detaillierte Verwendungsbeispiele finden Sie unter Verwenden der IEmbeddingGenerator-Schnittstelle.
Die IImageGenerator-Schnittstelle (experimentell)
Die IImageGenerator Schnittstelle stellt einen Generator zum Erstellen von Bildern aus Texteingabeaufforderungen oder anderen Eingaben dar. Diese Schnittstelle ermöglicht Anwendungen die Integration von Bildgenerierungsfunktionen aus verschiedenen KI-Diensten über eine konsistente API. Die Schnittstelle unterstützt die Text-zu-Bild-Generierung (durch Aufrufen GenerateAsync(ImageGenerationRequest, ImageGenerationOptions, CancellationToken)) und Konfigurationsoptionen für Bildgröße und -format. Wie andere Schnittstellen in der Bibliothek kann sie mit Middleware zum Zwischenspeichern, Telemetrie und anderen grenzüberschreitenden Problemen zusammengesetzt werden.
Weitere Informationen finden Sie unter Generieren von Bildern aus Text mithilfe von KI.
Bauen mit Microsoft.Extensions.AI
Auf Microsoft.Extensions.AI können Sie auf folgende Weise mit dem Aufbau beginnen:
- Bibliotheksentwickler: Wenn Sie Bibliotheken besitzen, die Clients für KI-Dienste bereitstellen, sollten Sie die Schnittstellen in Ihren Bibliotheken implementieren. Auf diese Weise können Benutzer Ihr NuGet-Paket einfach über die Abstraktionen integrieren. Beispiele finden Sie unter IChatClient-Implementierungsbeispiele und IEmbeddingGenerator-Implementierungsbeispiele.
- Servicekonsumenten: Wenn Sie Bibliotheken entwickeln, die KI-Dienste nutzen, verwenden Sie die Abstraktionen anstelle von Hardcoding für einen bestimmten KI-Dienst. Dieser Ansatz bietet Ihren Verbrauchern die Flexibilität, ihren bevorzugten Anbieter auszuwählen.
- Anwendungsentwickler: Verwenden Sie die Abstraktionen, um die Integration in Ihre Apps zu vereinfachen. Dies ermöglicht die Portabilität über Modelle und Dienste hinweg, erleichtert das Testen und Mocken, nutzt Middleware, die vom Ökosystem bereitgestellt wird, und behält eine konsistente API in Ihrer gesamten App bei, selbst wenn Sie verschiedene Dienste in unterschiedlichen Teilen Ihrer Anwendung verwenden.
- Ökosystemmitwirkende: Wenn Sie daran interessiert sind, zum Ökosystem beizutragen, sollten Sie benutzerdefinierte Middleware-Komponenten schreiben.
Weitere Beispiele finden Sie im GitHub-Repository "dotnet/ai-samples ". Ein End-to-End-Beispiel finden Sie unter "eShopSupport".