.NET Aspire Azure OpenAI integrering
I den här artikeln får du lära dig hur du använder .NET AspireAzureOpenAIclient.
Aspire.Azure.AI.OpenAI
-biblioteket används för att registrera en OpenAIClient
i di-containern (beroendeinmatning) för användning av AzureOpenAI eller OpenAI funktioner. Det möjliggör motsvarande loggning och telemetri.
Mer information om hur du använder OpenAIClient
finns i Snabbstart: Kom igång med att generera text med hjälp av AzureOpenAI Service.
Sätta igång
- Azure prenumeration: skapa en kostnadsfri prenumeration.
- Azure OpenAI eller OpenAI konto: skapa en AzureOpenAI Service-resurs.
Kom igång med .NET AspireAzureOpenAI-integration genom att installera 📦Aspire.Azure.AI.OpenAI NuGet-paketet i det client-förbrukande projektet, det vill säga projektet för det program som använder AzureOpenAIclient.
dotnet add package Aspire.Azure.AI.OpenAI
Mer information finns i dotnet add package eller Hantera paketberoenden i .NET applikationer.
Exempel på användning
I Program.cs-filen för ditt client-förbrukande projekt, anropa tilläggsmetoden för att registrera en OpenAIClient
för användning genom beroendeinjektionscontainern. Metoden tar en parameter för anslutningsnamn.
builder.AddAzureOpenAIClient("openAiConnectionName");
I föregående kod lägger metoden AddAzureOpenAIClient
till en OpenAIClient
till DI-containern. Parametern openAiConnectionName
är namnet på anslutningssträngen i konfigurationen. Du kan sedan hämta OpenAIClient
-instansen med hjälp av beroendeinjektion. Om du till exempel vill hämta anslutningen från en exempeltjänst:
public class ExampleService(OpenAIClient client)
{
// Use client...
}
Apphostanvändning
Om du vill lägga till Azure värdstöd i din IDistributedApplicationBuilderinstallerar du 📦Aspire.Hosting.Azure.CognitiveServices NuGet-paket i projektet för appvärd.
dotnet add package Aspire.Hosting.Azure.CognitiveServices
I värdprojektet registrerar du en AzureOpenAI resurs genom att använda följande metoder, till exempel AddAzureOpenAI:
var builder = DistributedApplication.CreateBuilder(args);
var openai = builder.ExecutionContext.IsPublishMode
? builder.AddAzureOpenAI("openAiConnectionName")
: builder.AddConnectionString("openAiConnectionName");
builder.AddProject<Projects.ExampleProject>()
.WithReference(openai);
Metoden AddAzureAIOpenAI
läser anslutningsinformation från appvärdens konfiguration (till exempel från "användarhemligheter") under konfigurationsnyckeln ConnectionStrings:openAiConnectionName
. Metoden WithReference skickar anslutningsinformationen till en anslutningssträng med namnet openAiConnectionName
i ExampleProject
-projektet. I Program.cs-filen i ExampleProject kan anslutningen användas med hjälp av:
builder.AddAzureAIOpenAI("openAiConnectionName");
Konfiguration
Den .NET AspireAzureOpenAI integreringen innehåller flera alternativ för att konfigurera anslutningen baserat på kraven och konventionerna i ditt projekt.
Använda en anslutningssträng
När du använder en anslutningssträng från ConnectionStrings
konfigurationsavsnittet kan du ange namnet på anslutningssträngen när du anropar builder.AddAzureAIOpenAI
:
builder.AddAzureAIOpenAI("openAiConnectionName");
Anslutningssträngen hämtas från konfigurationsavsnittet ConnectionStrings
och det finns två format som stöds, antingen den kontoslutpunkt som används tillsammans med standard Azure autentiseringsuppgifter eller en anslutningssträng med kontonyckeln.
Kontoslutpunkt
Den rekommenderade metoden är att använda en slutpunkt, som fungerar med egenskapen AzureOpenAISettings.Credential
för att upprätta en anslutning. Om inga autentiseringsuppgifter har konfigurerats används DefaultAzureCredential.
{
"ConnectionStrings": {
"openAiConnectionName": "https://{account_name}.openai.azure.com/"
}
}
Mer information finns i Använd AzureOpenAI utan nycklar.
Anslutningssträng
Du kan också använda en anpassad anslutningssträng.
{
"ConnectionStrings": {
"openAiConnectionName": "Endpoint=https://{account_name}.openai.azure.com/;Key={account_key};"
}
}
Om du vill ansluta till tjänsten som inte ärAzureOpenAI släpper du egenskapen Endpoint
och anger endast egenskapen Nyckel för att ange API-nyckel.
Använda konfigurationsprovidrar
.NET Aspire
Azure
OpenAI-integreringen stöder Microsoft.Extensions.Configuration. Den läser in AzureOpenAISettings
från konfigurationen med hjälp av Aspire:Azure:AI:OpenAI
-nyckeln. Exempel appsettings.json som konfigurerar några av alternativen:
{
"Aspire": {
"Azure": {
"AI": {
"OpenAI": {
"DisableTracing": false,
}
}
}
}
}
Använd inline-delegater
Du kan också skicka delegeringen Action<AzureOpenAISettings> configureSettings
för att konfigurera vissa eller alla alternativ direkt, till exempel för att inaktivera spårning i koden.
builder.AddAzureAIOpenAI(
"openAiConnectionName",
static settings => settings.DisableTracing = true);
Du kan också konfigurera OpenAIClientOptions med den valfria parametern Action<IAzureClientBuilder<OpenAIClient, OpenAIClientOptions>> configureClientBuilder
för metoden AddAzureAIOpenAI
. Om du till exempel vill ange client ID för den här client:
builder.AddAzureAIOpenAI(
"openAiConnectionName",
configureClientBuilder: builder => builder.ConfigureOptions(
options => options.Diagnostics.ApplicationId = "CLIENT_ID"));
Observerbarhet och telemetri
.NET .NET Aspire integreringar konfigurerar automatiskt konfigurationer för loggning, spårning och mått, som ibland kallas grundpelarna för observerbarhet. Mer information om integreringsobservabilitet och telemetri finns i översikten över .NET.NET Aspire integreringar. Beroende på säkerhetskopieringstjänsten kanske vissa integreringar bara stöder vissa av dessa funktioner. Vissa integreringar stöder till exempel loggning och spårning, men inte mått. Telemetrifunktioner kan också inaktiveras med hjälp av de tekniker som visas i avsnittet Configuration.
Skogsavverkning
.NET Aspire Azure OpenAI-integreringen använder följande loggkategorier:
Azure
Azure.Core
Azure.Identity
Se även
.NET Aspire