Freigeben über


.NET .NET Aspire Qdrant-Integration

In diesem Artikel erfahren Sie, wie Sie die .NET.NET Aspire Qdrant-Integration verwenden. Verwenden Sie diese Integration, um einen QdrantClient im DI-Container zu registrieren, um eine Verbindung mit einem Qdrant serverherzustellen.

Loslegen

Um mit der .NET.NET Aspire Qdrant-Integration zu beginnen, installieren Sie das 📦Aspire.Qdrant.Client NuGet-Paket im client-verbrauchenden Projekt, d. h. in dem Projekt für die Anwendung, die die Qdrant-clientverwendet.

dotnet add package Aspire.Qdrant.Client

Weitere Informationen finden Sie unter dotnet add package oder Verwalten von Paketabhängigkeiten in .NET-Anwendungen.

Beispielverwendung

Rufen Sie in der Program.cs-Datei Ihres client-verwendenden Projekts die AddQdrantClient-Erweiterungsmethode auf, um eine QdrantClient für die Verwendung über den Abhängigkeitsinjektionscontainer zu registrieren. Die Methode verwendet einen Verbindungsnamenparameter.

builder.AddQdrantClient("qdrant");

Um Ihr QdrantClient-Objekt abzurufen, betrachten Sie den folgenden Beispielservice:

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

Verwendung des App-Hosts

Um die Qdrant-server-Ressource im App-Host zu modellieren, installieren Sie die 📦Aspire. Hosting.Qdrant NuGet-Paket im App-Host Projekt.

dotnet add package Aspire.Hosting.Qdrant

Registrieren Sie in Ihrem App-Hostprojekt eine Qdrant-server und nutzen Sie die Verbindung mit den folgenden Methoden:

var builder = DistributedApplication.CreateBuilder(args);

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

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

Wenn Sie den API-Schlüssel explizit bereitstellen möchten, können Sie ihn als Parameter angeben. Betrachten Sie das folgende alternative Beispiel:

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

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

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

Weitere Informationen finden Sie unter Externe Parameter.

Konfiguration

Die .NET Aspire Qdrant Client Integration bietet mehrere Optionen zum Konfigurieren der server Verbindung basierend auf den Anforderungen und Konventionen Ihres Projekts.

Verwenden Sie eine Verbindungszeichenfolge

Wenn Sie eine Verbindungszeichenfolge aus dem Konfigurationsabschnitt ConnectionStrings verwenden, können Sie beim Aufrufen von builder.AddQdrantClient()den Namen der Verbindungszeichenfolge angeben:

builder.AddQdrantClient("qdrant");

Anschließend wird die Verbindungszeichenfolge aus dem Konfigurationsabschnitt ConnectionStrings abgerufen:

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

Standardmäßig verwendet der QdrantClient den gRPC-API-Endpunkt.

Verwendung von Konfigurationsanbietern

Die .NET Aspire Qdrant Client Integration unterstützt Microsoft.Extensions.Configuration. Sie lädt die QdrantClientSettings mithilfe des Aspire:Qdrant:Client Schlüssels aus der Konfiguration. Beispiel appsettings.json, das einige der Optionen konfiguriert:

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

Verwenden von Inlinedelegaten

Sie können auch den Action<QdrantClientSettings> configureSettings Delegat übergeben, um einige oder alle Optionen inline einzurichten, z. B. um den API-Schlüssel aus Code festzulegen:

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

Observability und Telemetrie

.NET .NET Aspire Integrationen richten automatisch Protokollierungs-, Ablaufverfolgungs- und Metrikkonfigurationen ein, die manchmal als die Säulen der Observabilitybezeichnet werden. Weitere Informationen zur Integrationsobservierbarkeit und Telemetrie finden Sie unter .NET.NET Aspire Integrationsübersicht. Je nach unterstützendem Dienst unterstützen einige Integrationen möglicherweise nur bestimmte dieser Funktionen. Beispielsweise unterstützen einige Integrationen Protokollierung und Ablaufverfolgung, aber keine Metriken. Telemetriefeatures können auch mithilfe der Techniken deaktiviert werden, die im Abschnitt Konfiguration dargestellt werden.

Protokollierung

Die .NET.NET Aspire Qdrant-Integration verwendet die folgenden Log-Kategorien:

  • "Qdrant.Client"

Siehe auch