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í OpenAIClient
najdete v tématu Rychlý start: Začínáme generovat text pomocí AzureOpenAI Service.
Začněte
- Azure předplatné: vytvořte si ho zdarma.
- Azure OpenAI nebo OpenAI účet: vytvořit prostředek služby AzureOpenAI.
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
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.AddAzureAIOpenAI
zadat 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