次の方法で共有


Qdrant の統合 .NET.NET Aspire

この記事では、.NET.NET Aspire Qdrant 統合を使用する方法について説明します。 この統合を使用して、Qdrant serverに接続するための QdrantClient を DI コンテナーに登録します。

作業の開始

.NET .NET Aspire Qdrant 統合の使用を開始するには、📦Aspireをインストールします。Qdrant。client-consuming プロジェクト(Qdrant clientを使用するアプリケーションのプロジェクト) に NuGet パッケージをClient します。

dotnet add package Aspire.Qdrant.Client

詳細については、「dotnet パッケージ の追加」または「.NET アプリケーションでのパッケージの依存関係の管理」を参照してください。

使用例

client-consuming プロジェクトの Program.cs ファイルで、AddQdrantClient 拡張メソッドを呼び出して、依存関係挿入コンテナーを介して使用する QdrantClient を登録します。 このメソッドは、接続名パラメーターを受け取ります。

builder.AddQdrantClient("qdrant");

QdrantClient オブジェクトを取得するには、次のサービス例を検討してください。

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

アプリ ホストの使用状況

アプリ ホストで Qdrant server リソースをモデル化するには、📦Aspireをインストールします。アプリ ホスト プロジェクト内の Hosting.Qdrant NuGet パッケージ。

dotnet add package Aspire.Hosting.Qdrant

アプリ ホスト プロジェクトで、Qdrant server を登録し、次の方法を使用して接続を使用します。

var builder = DistributedApplication.CreateBuilder(args);

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

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

API キーを明示的に指定する場合は、パラメーターとして指定できます。 次の代替例を考えてみましょう。

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

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

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

詳細については、「外部パラメーターを参照してください。

構成

.NET Aspire Qdrant Client 統合には、プロジェクトの要件と規則に基づいて server 接続を構成するための複数のオプションが用意されています。

接続文字列を使用する

ConnectionStrings 構成セクションの接続文字列を使用する場合は、builder.AddQdrantClient()を呼び出すときに接続文字列の名前を指定できます。

builder.AddQdrantClient("qdrant");

接続文字列は、ConnectionStrings 構成セクションから取得されます。

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

既定では、QdrantClient は gRPC API エンドポイントを使用します。

構成プロバイダーを使用する

.NET Aspire Qdrant Client 統合は、Microsoft.Extensions.Configurationをサポートします。 Aspire:Qdrant:Client キーを使用して、構成から QdrantClientSettings を読み込みます。 いくつかのオプションを構成する appsettings.json の例:

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

インライン デリゲートを使用する

Action<QdrantClientSettings> configureSettings デリゲートを渡して、コードから API キーを設定するなど、一部またはすべてのオプションをインラインで設定することもできます。

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

可観測性とテレメトリ

統合により、ログ記録、トレース、メトリックの構成が自動的に設定されます。これは、監視の柱 とも呼ばれます。 統合の可観測性とテレメトリの詳細については、統合の概要 参照してください。 バッキング サービスによっては、一部の統合でこれらの機能の一部のみがサポートされる場合があります。 たとえば、一部の統合ではログ記録とトレースがサポートされますが、メトリックはサポートされません。 テレメトリ機能は、「構成」セクションに記載されている手法を使用して無効にすることもできます。

伐採

.NET .NET Aspire Qdrant 統合では、次のログカテゴリが使用されます。

  • "Qdrant.Client"

関連項目