다음을 통해 공유


.NET .NET Aspire Qdrant 통합

이 문서에서는 .NET.NET Aspire Qdrant 통합을 사용하는 방법을 알아봅니다. 이 통합을 통해 Qdrant server에 연결하기 위해 DI 컨테이너에 QdrantClient을 등록할 수 있습니다.

시작

.NET .NET Aspire Qdrant 통합을 시작하려면 📦Aspire설치합니다. Qdrant. client-consuming 프로젝트, 즉 Qdrant client사용하는 애플리케이션용 프로젝트에서 NuGet 패키지를Client.

dotnet add package Aspire.Qdrant.Client

자세한 내용은 dotnet add package 또는 .NET 응용 프로그램에서 패키지 종속성 관리를 참조하세요.

예제 사용

client사용 중인 프로젝트의 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 엔드포인트를 사용합니다.

구성 공급자 사용

Qdrant 통합 기능은 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 통합 개요참조하세요. 지원 서비스에 따라 일부 통합은 이러한 기능 중 일부만 지원할 수 있습니다. 예를 들어 일부 통합은 로깅 및 추적을 지원하지만 메트릭은 지원하지 않습니다. 구성 섹션에 제시된 기술을 사용하여 원격 분석 기능을 사용하지 않도록 설정할 수도 있습니다.

로깅

.NET .NET Aspire Qdrant 통합은 다음 로깅 범주를 사용합니다.

  • "Qdrant.Client"

참조