Sdílet prostřednictvím


.NET Aspire Azure Integrace AI pro vyhledávání dokumentů

V tomto článku se dozvíte, jak používat .NET AspireAzure AI Search Documents client. Knihovna Aspire.Azure.Search.Documents slouží k registraci SearchIndexClient v kontejneru injektáže závislostí (DI) pro připojení k Azure Search. Umožňuje odpovídající kontroly stavu a protokolování.

Další informace o používání SearchIndexClientnaleznete v tématu Použití Azure. Search.Documents v .NET aplikace jazyka C#.

Začněte

Pokud chcete začít s integrací .NET AspireAzure AI Search Documents, nainstalujte 📦Aspire.Azure. Search.Documents balíček NuGet v projektu využívajícím client, tj. projekt aplikace, která používá clientdokumenty Azure AI Search Documents .

dotnet add package Aspire.Azure.Search.Documents

Další informace najdete v tématu dotnet add package nebo Správa závislostí balíčku v aplikacích .NET.

Příklad využití

Ve vašem projektu, který využívá client, zavolejte v souboru Program.cs metodu rozšíření, která zaregistruje SearchIndexClient k použití prostřednictvím kontejneru pro injektování závislostí. Metoda AddAzureSearchClient přebírá parametr názvu připojení.

builder.AddAzureSearchClient("searchConnectionName");

Potom můžete načíst instanci SearchIndexClient pomocí injekce závislostí. Pokud chcete například načíst client z ukázkové služby:

public class ExampleService(SearchIndexClient indexClient)
{
    // Use indexClient
}

Můžete také načíst SearchClient, který lze použít k dotazování, voláním metody SearchIndexClient.GetSearchClient následujícím způsobem:

public class ExampleService(SearchIndexClient indexClient)
{
    public async Task<long> GetDocumentCountAsync(
        string indexName,
        CancellationToken cancellationToken)
    {
        var searchClient = indexClient.GetSearchClient(indexName);

        var documentCountResponse = await searchClient.GetDocumentCountAsync(
            cancellationToken);

        return documentCountResponse.Value;
    }
}

Další informace najdete v knihovn ě hledání umělé inteligence příklady použití .

Využití hostitele aplikace

Pokud chcete do svého přidat podporu hostování AI, nainstalujte . Hostování.. V projektu hostitele aplikace vyhledejte balíček NuGet.

dotnet add package Aspire.Hosting.Azure.Search

V souboru Program.csAppHostpřidejte službu vyhledávání Azure a použijte následující metody pro využití připojení:

var builder = DistributedApplication.CreateBuilder(args);

var search = builder.ExecutionContext.IsPublishMode
    ? builder.AddAzureSearch("search")
    : builder.AddConnectionString("search");

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

Metoda AddAzureSearch načte informace o připojení z konfigurace AppHostu (například z tajných kódů uživatelů) pod konfiguračním klíčem ConnectionStrings:search. Metoda WithReference předá informace o připojení do připojovacího řetězce s názvem search v projektu MyService. V souboru Program.csMyServiceje možné připojení využívat pomocí:

builder.AddAzureSearch("search");

Konfigurace

Knihovna .NET AspireAzureAzure Search poskytuje několik možností, jak konfigurovat službu Azure Search na základě požadavků a konvencí vašeho projektu. Mějte na paměti, že je nutné zadat Endpoint nebo ConnectionString.

Použijte připojovací řetězec

Připojení lze vytvořit z karty klíče a koncového bodu s formátem Endpoint={endpoint};Key={key};. Název připojovacího řetězce můžete zadat při volání builder.AddAzureSearch():

builder.AddAzureSearch("searchConnectionName");

Připojovací řetězec se poté načte z oddílu konfigurace ConnectionStrings. Podporují se dva formáty připojení:

Koncový bod účtu

Doporučeným přístupem je použití Endpoint, která pracuje s vlastností AzureSearchSettings.Credential pro navázání připojení. Pokud nejsou nakonfigurované žádné přihlašovací údaje, použije se DefaultAzureCredential.

{
  "ConnectionStrings": {
    "searchConnectionName": "https://{search_service}.search.windows.net/"
  }
}

Připojovací řetězec

Případně můžete použít vlastní připojovací řetězec.

{
  "ConnectionStrings": {
    "searchConnectionName": "Endpoint=https://{search_service}.search.windows.net/;Key={account_key};"
  }
}

Použití zprostředkovatelů konfigurace

Knihovna .NET AspireAzure AI Search podporuje Microsoft.Extensions.Configuration. Načte AzureSearchSettings a SearchClientOptions z konfigurace pomocí klíče Aspire:Azure:Search:Documents. Příklad appsettings.json, který konfiguruje některé z možností:

{
  "Aspire": {
    "Azure": {
      "Search": {
        "Documents": {
          "DisableTracing": false,
        }
      }
    }
  }
}

Použití vložených delegátů

Můžete také předat delegáta Action<AzureSearchSettings> configureSettings a přímo nastavit některé nebo všechny možnosti, například vyřadit trasování v kódu:

builder.AddAzureSearch(
    "searchConnectionName",
    static settings => settings.DisableTracing = true);

Můžete také nastavit SearchClientOptions pomocí volitelného parametru Action<IAzureClientBuilder<SearchIndexClient, SearchClientOptions>> configureClientBuilder metody AddAzureSearch. Pokud chcete například nastavit ID client pro tento client:

builder.AddAzureSearch(
    "searchConnectionName",
    configureClientBuilder: builder => builder.ConfigureOptions(
        static options => options.Diagnostics.ApplicationId = "CLIENT_ID"));

Kontroly stavu

Integrace .NET.NET Aspire ve výchozím nastavení umožňují kontroly stavu pro všechny služby. Další informace naleznete v přehledu integrací .NET.NET Aspire.

Integrace dokumentů vyhledávání .NET AspireAzure AI implementuje jednu kontrolu stavu, která volá metodu GetServiceStatisticsAsync na SearchIndexClient, aby ověřila, že je služba dostupná.

Pozorovatelnost a telemetrie

.NET .NET Aspire integrace automaticky nastaví konfigurace protokolování, trasování a metrik, které se někdy označují jako pilíře pozorovatelnosti. Další informace o pozorovatelnosti a telemetrii integrace najdete v přehledu integrace .NET.NET Aspire. V závislosti na zálohovací službě můžou některé integrace podporovat pouze některé z těchto funkcí. Například některé integrace podporují protokolování a trasování, ale ne metriky. Funkce telemetrie je také možné zakázat pomocí technik uvedených v části Konfigurace.

Protokolování

Integrace vyhledávacích dokumentů AI .NET AspireAzure používá následující kategorie protokolů:

  • Azure
  • Azure.Core
  • Azure.Identity

Viz také