Udostępnij za pośrednictwem


Integracja .NET.NET Aspire Qdrant

Z tego artykułu dowiesz się, jak korzystać z integracji .NET.NET Aspire Qdrant. Użyj tej integracji, aby zarejestrować QdrantClient w kontenerze DI na potrzeby nawiązywania połączenia z serverQdrant.

Zacznij

Aby rozpocząć pracę z integracją .NET.NET Aspire Qdrant, zainstaluj 📦Aspire.Qdrant.Client pakiet NuGet w projekcie korzystającym z client, tj. projekt aplikacji używającej Qdrant client.

dotnet add package Aspire.Qdrant.Client

Aby uzyskać więcej informacji, zobacz dotnet add package lub Zarządzaj zależnościami pakietów w aplikacjach .NET.

Przykładowe użycie

W pliku Program.cs projektu clientużywającego wywołaj metodę rozszerzenia AddQdrantClient, aby zarejestrować QdrantClient do użycia za pośrednictwem kontenera wstrzykiwania zależności. Metoda przyjmuje parametr nazwy połączenia.

builder.AddQdrantClient("qdrant");

Aby pobrać obiekt QdrantClient, rozważ następującą przykładową usługę:

public class ExampleService(QdrantClient client)
{
    // Use client...
}

Użycie hosta aplikacji

Aby modelować zasób Qdrant server na hoście aplikacji, zainstaluj pakiet NuGet 📦Aspire.Hosting.Qdrant w projekcie hosta aplikacji .

dotnet add package Aspire.Hosting.Qdrant

W projekcie hosta aplikacji zarejestruj server Qdrant i użyj połączenia przy użyciu następujących metod:

var builder = DistributedApplication.CreateBuilder(args);

var qdrant = builder.AddQdrant("qdrant");

var myService = builder.AddProject<Projects.MyService>()
                       .WithReference(qdrant);

Jeśli chcesz jawnie podać klucz interfejsu API, możesz podać go jako parametr. Rozważmy następujący przykład alternatywny:

var apiKey = builder.AddParameter("apikey", secret: true);

var qdrant = builder.AddQdrant("qdrant", apiKey);

var myService = builder.AddProject<Projects.MyService>()
                       .WithReference(qdrant);

Aby uzyskać więcej informacji, zobacz Parametry zewnętrzne.

Konfiguracja

Integracja .NET Aspire Qdrant Client udostępnia wiele opcji konfigurowania połączenia server na podstawie wymagań i konwencji projektu.

Używanie parametrów połączenia

W przypadku używania parametrów połączenia z sekcji konfiguracji ConnectionStrings można podać nazwę parametrów połączenia podczas wywoływania builder.AddQdrantClient():

builder.AddQdrantClient("qdrant");

Następnie parametry połączenia zostaną pobrane z sekcji konfiguracji ConnectionStrings:

{
  "ConnectionStrings": {
    "qdrant": "Endpoint=http://localhost:6334;Key=123456!@#$%"
  }
}

Domyślnie QdrantClient używa punktu końcowego API gRPC.

Korzystanie z dostawców konfiguracji

Integracja .NET Aspire Qdrant Client obsługuje Microsoft.Extensions.Configuration. Ładuje QdrantClientSettings z konfiguracji przy użyciu klucza Aspire:Qdrant:Client. Przykład appsettings.json, który konfiguruje niektóre opcje:

{
  "Aspire": {
    "Qdrant": {
      "Client": {
        "Key": "123456!@#$%"
      }
    }
  }
}

Używanie delegatów wbudowanych

Możesz również przekazać delegata Action<QdrantClientSettings> configureSettings, aby skonfigurować niektóre lub wszystkie opcje bezpośrednio, na przykład w celu ustawienia klucza interfejsu API z poziomu kodu.

builder.AddQdrantClient("qdrant", settings => settings.ApiKey = "12345!@#$%");

Obserwowanie i telemetria

.NET .NET Aspire integracje automatycznie ustawiają konfiguracje rejestrowania, śledzenia i metryk, które są czasami nazywane filarami obserwowalności. Aby uzyskać więcej informacji na temat możliwości obserwacji integracji i telemetrii, zobacz omówienie integracji .NET.NET Aspire. W zależności od usługi pomocniczej niektóre integracje mogą obsługiwać tylko niektóre z tych funkcji. Na przykład niektóre integracje obsługują rejestrowanie i śledzenie, ale nie metryki. Funkcje telemetrii można również wyłączyć przy użyciu technik przedstawionych w sekcji konfiguracji .

Wyrąb

Integracja .NET.NET Aspire Qdrant używa następujących kategorii rejestrowania:

  • "Qdrant.Client"

Zobacz też