Partilhar via


.NET .NET Aspire Integração com Qdrant

Neste artigo, você aprenderá a usar a integração .NET.NET Aspire Qdrant. Utilize esta integração para registar um QdrantClient no contentor DI para se conectar a um Qdrant server.

Começar

Para começar a usar a integração do .NET.NET Aspire Qdrant, instale o 📦Aspire. Qdrant.Client pacote NuGet no projeto que consome client, ou seja, o projeto para o aplicativo que usa o Qdrant client.

dotnet add package Aspire.Qdrant.Client

Para obter mais informações, consulte dotnet add package ou Gerir dependências de pacotes em aplicações .NET.

Exemplo de utilização

No arquivo de Program.cs do seu projeto que consome client, chame o método de extensão AddQdrantClient para registar um QdrantClient para uso através do contentor de injeção de dependências. O método usa um parâmetro de nome de conexão.

builder.AddQdrantClient("qdrant");

Para recuperar seu objeto QdrantClient, considere o seguinte serviço de exemplo:

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

Utilização do anfitrião da aplicação

Para modelar o recurso Qdrant server no host da aplicação, instale o pacote NuGet 📦Aspire.Hosting.Qdrant no projeto da aplicação hosteado pelo.

dotnet add package Aspire.Hosting.Qdrant

Em seu projeto de host de aplicativo, registre um server Qdrant e consuma a conexão usando os seguintes métodos:

var builder = DistributedApplication.CreateBuilder(args);

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

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

Quando quiser fornecer explicitamente a chave da API, você pode fornecê-la como um parâmetro. Considere o seguinte exemplo alternativo:

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

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

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

Para obter mais informações, consulte Parâmetros externos.

Configuração

A integração .NET Aspire Qdrant Client fornece várias opções para configurar a conexão server com base nos requisitos e convenções do seu projeto.

Usar uma string de conexão

Ao usar uma cadeia de conexão da seção de configuração de ConnectionStrings, você pode fornecer o nome da cadeia de conexão ao chamar builder.AddQdrantClient():

builder.AddQdrantClient("qdrant");

E, em seguida, a cadeia de conexão será recuperada da seção de configuração ConnectionStrings:

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

Por padrão, o QdrantClient utiliza o endpoint da API gRPC.

Usar provedores de configuração

A integração .NET Aspire Qdrant Client suporta Microsoft.Extensions.Configuration. Ele carrega o QdrantClientSettings da configuração usando a chave Aspire:Qdrant:Client. Exemplo de appsettings.json que configura algumas das opções:

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

Usar delegados embutidos

Você também pode passar o delegado Action<QdrantClientSettings> configureSettings para configurar algumas ou todas as opções diretamente no código, por exemplo, definir a chave de API a partir do código:

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

Observabilidade e telemetria

.NET .NET Aspire integrações configuram automaticamente as configurações de Logging, Trace e Metrics, que às vezes são conhecidas como os pilares da observabilidade. Para obter mais informações sobre observabilidade e telemetria de integração, consulte Visão geral de integrações .NET.NET Aspire. Dependendo do serviço de suporte, algumas integrações podem suportar apenas alguns desses recursos. Por exemplo, algumas integrações suportam registro em log e rastreamento, mas não métricas. Os recursos de telemetria também podem ser desativados usando as técnicas apresentadas na secção de Configuração .

Registo

A integração do .NET.NET Aspire Qdrant usa as seguintes categorias de registo:

  • "Qdrant.Client"

Ver também