Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Deweloperzy platformy .NET muszą integrować i korzystać z rosnących różnych usług sztucznej inteligencji (AI) w swoich aplikacjach. Biblioteki Microsoft.Extensions.AI zapewniają ujednolicone podejście do reprezentowania składników generacyjnych sztucznej inteligencji oraz umożliwiają bezproblemową integrację i współdziałanie z różnymi usługami sztucznej inteligencji. W tym artykule przedstawiono biblioteki i przedstawiono szczegółowe przykłady użycia, które ułatwiają rozpoczęcie pracy.
Pakiety
📦 Pakiet Microsoft.Extensions.AI.Abstractions udostępnia podstawowe typy wymiany, w tym IChatClient i IEmbeddingGenerator<TInput,TEmbedding>. Dowolna biblioteka platformy .NET, która udostępnia klienta LLM, może zaimplementować IChatClient interfejs, aby umożliwić bezproblemową integrację z kodem korzystającym z biblioteki.
Pakiet 📦 Microsoft.Extensions.AI ma niejawną zależność od pakietu Microsoft.Extensions.AI.Abstractions. Ten pakiet umożliwia łatwe integrowanie składników, takich jak wywoływanie narzędzi funkcji automatycznych, telemetria i buforowanie w aplikacjach przy użyciu znanych wzorców wstrzykiwania zależności i oprogramowania pośredniczącego. Na przykład udostępnia metodę rozszerzenia UseOpenTelemetry(ChatClientBuilder, ILoggerFactory, String, Action<OpenTelemetryChatClient>), która dodaje wsparcie OpenTelemetry do kanału klienta czatu.
Do którego pakietu należy się odwołać
Aby uzyskać dostęp do narzędzi wyższego poziomu do pracy ze składnikami generatywnej sztucznej inteligencji, należy odwołać się do pakietu Microsoft.Extensions.AI (który odwołuje się do elementu Microsoft.Extensions.AI.Abstractions). Większość korzystających aplikacji i usług powinna odwoływać się do Microsoft.Extensions.AI pakietu wraz z co najmniej jedną biblioteką, która zapewnia konkretne implementacje abstrakcji.
Biblioteki, które udostępniają implementacje abstrakcji, zwykle odwołują się tylko do Microsoft.Extensions.AI.Abstractions.
Instalowanie pakietów
Aby uzyskać informacje o sposobie instalowania pakietów NuGet, zobacz dotnet package add or Manage package dependencies in .NET applications (Dodawanie pakietów dotnet lub zarządzanie zależnościami pakietów w aplikacjach platformy .NET).
Interfejsy API i funkcje
Interfejs IChatClient
Interfejs IChatClient definiuje abstrakcję klienta odpowiedzialną za interakcję z usługami sztucznej inteligencji, które zapewniają możliwości czatu. Zawiera metody wysyłania i odbierania wiadomości z treściami multimodalnymi (takimi jak tekst, obrazy i dźwięk) jako kompletne zestawy lub strumieniowo w sposób przyrostowy.
Aby uzyskać więcej informacji i szczegółowe przykłady użycia, zobacz Use the IChatClient interface (Używanie interfejsu IChatClient).
Interfejs IEmbeddingGenerator
Interfejs IEmbeddingGenerator reprezentuje ogólny generator osadzonych elementów. W przypadku parametrów typu ogólnego, TInput jest typem wartości wejściowych, które są osadzane, a TEmbedding jest typem wygenerowanego osadzenia, który dziedziczy z klasy Embedding.
Aby uzyskać więcej informacji i szczegółowe przykłady użycia, zobacz Use the IEmbeddingGenerator interface (Używanie interfejsu IEmbeddingGenerator).
Interfejs IImageGenerator (eksperymentalny)
Interfejs IImageGenerator reprezentuje generator do tworzenia obrazów na podstawie monitów tekstowych lub innych danych wejściowych. Ten interfejs umożliwia aplikacjom integrowanie możliwości generowania obrazów z różnych usług sztucznej inteligencji za pośrednictwem spójnego interfejsu API. Interfejs obsługuje generowanie obrazu z tekstu (przez wywołanie GenerateAsync(ImageGenerationRequest, ImageGenerationOptions, CancellationToken)) i opcje konfiguracji dla rozmiaru i formatu obrazu. Podobnie jak inne interfejsy w bibliotece, może być złożony z middleware do buforowania, telemetrii i innych kwestii wspólnych.
Aby uzyskać więcej informacji, zobacz Generowanie obrazów na podstawie tekstu przy użyciu sztucznej inteligencji.
Tworzenie z użyciem Microsoft.Extensions.AI
Możesz zacząć budować z użyciem Microsoft.Extensions.AI w następujący sposób:
- Deweloperzy bibliotek: jeśli posiadasz biblioteki, które oferują klientom usługi AI, rozważ zaimplementowanie interfejsów w swoich bibliotekach. Dzięki temu użytkownicy mogą łatwo zintegrować pakiet NuGet za pośrednictwem abstrakcji. Przykłady implementacji IChatClient i przykłady implementacji IEmbeddingGenerator.
- konsumenci usług: Jeżeli tworzysz biblioteki, które korzystają z usług AI, używaj abstrakcji zamiast kodować je na stałe do konkretnej usługi AI. Takie podejście zapewnia konsumentom elastyczność wyboru preferowanego dostawcy.
- deweloperzy aplikacji: użyj abstrakcji, aby uprościć integrację z aplikacjami. Umożliwia to przenośność między modelami i usługami, ułatwia testowanie i pozorowanie, wykorzystuje oprogramowanie pośredniczące dostarczane przez ekosystem i utrzymuje spójny interfejs API w całej aplikacji, nawet jeśli używasz różnych usług w różnych częściach aplikacji.
- Współautorzy ekosystemu: Jeśli interesuje Cię współtworzenie ekosystemu, rozważ napisanie niestandardowych komponentów oprogramowania pośredniczącego.
Aby uzyskać więcej przykładów, zobacz repozytorium GitHub dotnet/ai-samples . Aby zapoznać się z kompleksowym przykładem, zobacz eShopSupport.