Sdílet prostřednictvím


integrace .NET AspireAzureOpenAI

V tomto článku se dozvíte, jak používat .NET AspireAzureOpenAIclient. Knihovna Aspire.Azure.AI.OpenAI slouží k registraci OpenAIClient v kontejneru pro injekci závislostí (DI) pro využívání funkcionality AzureOpenAI nebo OpenAI. Umožňuje odpovídající protokolování a telemetrii.

Další informace o používání OpenAIClientnajdete v tématu Rychlý start: Začínáme generovat text pomocí AzureOpenAI Service.

Začněte

Pokud chcete začít s integrací .NET AspireAzureOpenAI, nainstalujte balíček NuGet 📦Aspire.Azure.OpenAI do projektu client, tj. projektu pro aplikaci, která používá AzureOpenAIclient.

dotnet add package Aspire.Azure.AI.OpenAI

Další informace najdete v tématu dotnet add package nebo Manage package dependencies in .NET applications.

Příklad využití

V souboru Program.cs projektu, který využívá client, zavolejte metodu rozšíření, která zaregistruje OpenAIClient pro použití prostřednictvím kontejneru injektáže závislostí. Metoda přebírá parametr názvu připojení.

builder.AddAzureOpenAIClient("openAiConnectionName");

V předchozím kódu přidá metoda AddAzureOpenAIClient do kontejneru DI OpenAIClient. Parametr openAiConnectionName je název připojovacího řetězce v konfiguraci. Potom můžete načíst instanci OpenAIClient pomocí vkládání závislostí. Pokud například chcete načíst připojení z ukázkové služby:

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

Využití hostitele aplikace

Pokud chcete do přidat podporu hostování , nainstalujte . Hostování.. CognitiveServices balíček NuGet v projektu hostitele aplikace .

dotnet add package Aspire.Hosting.Azure.CognitiveServices

V hostitelském projektu vaší aplikace zaregistrujte zdroj AzureOpenAI pomocí následujících metod, jako je například AddAzureOpenAI:

var builder = DistributedApplication.CreateBuilder(args);

var openai = builder.ExecutionContext.IsPublishMode
    ? builder.AddAzureOpenAI("openAiConnectionName")
    : builder.AddConnectionString("openAiConnectionName");

builder.AddProject<Projects.ExampleProject>()
       .WithReference(openai);

Metoda AddAzureAIOpenAI načte informace o připojení z konfigurace hostitele aplikace (například z tajných kódů uživatelů) pod konfiguračním klíčem ConnectionStrings:openAiConnectionName. Metoda WithReference předá informace o připojení do připojovacího řetězce s názvem openAiConnectionName v projektu ExampleProject. V Program.cs souboru ExampleProject lze připojení využívat pomocí:

builder.AddAzureAIOpenAI("openAiConnectionName");

Konfigurace

Integrace .NET AspireAzureOpenAI poskytuje několik možností konfigurace připojení na základě požadavků a konvencí projektu.

Použití připojovacího řetězce

Při použití připojovacího řetězce z oddílu konfigurace ConnectionStrings můžete při volání builder.AddAzureAIOpenAIzadat název připojovacího řetězce:

builder.AddAzureAIOpenAI("openAiConnectionName");

Připojovací řetězec se načte z oddílu konfigurace ConnectionStrings a existují dva podporované formáty– koncový bod účtu použitý společně s výchozími přihlašovacími údaji Azure nebo připojovacím řetězcem s klíčem účtu.

Koncový bod účtu

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

{
  "ConnectionStrings": {
    "openAiConnectionName": "https://{account_name}.openai.azure.com/"
  }
}

Další informace najdete v tématu Použití AzureOpenAI bez klíčů.

Připojovací řetězec

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

{
  "ConnectionStrings": {
    "openAiConnectionName": "Endpoint=https://{account_name}.openai.azure.com/;Key={account_key};"
  }
}

Pokud se chcete připojit ke službě, která neníAzureOpenAI, vypusťte vlastnost Endpoint a nastavte pouze vlastnost Klíč tak, aby nastavil klíč rozhraní API.

Použití zprostředkovatelů konfigurace

Integrace .NET AspireAzureOpenAI podporuje Microsoft.Extensions.Configuration. Načte AzureOpenAISettings z konfigurace pomocí klíče Aspire:Azure:AI:OpenAI. Příklad appsettings.json, který konfiguruje některé z možností:

{
  "Aspire": {
    "Azure": {
      "AI": {
        "OpenAI": {
          "DisableTracing": false,
        }
      }
    }
  }
}

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

Můžete také předat delegáta Action<AzureOpenAISettings> configureSettings a nastavit některé nebo všechny možnosti přímo v kódu, například zakázat trasování přímo z kódu.

builder.AddAzureAIOpenAI(
    "openAiConnectionName",
    static settings => settings.DisableTracing = true);

OpenAIClientOptions můžete také nastavit pomocí volitelného parametru Action<IAzureClientBuilder<OpenAIClient, OpenAIClientOptions>> configureClientBuilder metody AddAzureAIOpenAI. Pokud chcete například nastavit ID client pro tento client:

builder.AddAzureAIOpenAI(
    "openAiConnectionName",
    configureClientBuilder: builder => builder.ConfigureOptions(
        options => options.Diagnostics.ApplicationId = "CLIENT_ID"));

Pozorovatelnost a telemetrie

.NET .NET Aspire integrace automaticky nastaví konfigurace protokolování, trasování a metrik, které se někdy označují jako základy 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 .NET AspireAzureOpenAI používá následující kategorie protokolů:

  • Azure
  • Azure.Core
  • Azure.Identity

Viz také