.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"