.NET Aspire Azure OpenAI integráció
Ebből a cikkből megtudhatja, hogyan használhatja a .NET AspireAzureOpenAI-ügyfelet. A Aspire.Azure.AI.OpenAI
könyvtárat arra használják, hogy egy OpenAIClient
regisztrálásra kerüljön a függőséginjektálási (DI) tárolóban a AzureOpenAI vagy OpenAI funkcionalitásának használatához. Lehetővé teszi a megfelelő naplózást és telemetriát.
További információ a OpenAIClient
használatáról: Rövid útmutató: A szöveg AzureOpenAI Szolgáltatáshasználatával történő létrehozásának első lépései.
Kezdje el
- Azure előfizetés: hozzon létre egyet ingyen.
- Azure OpenAI vagy OpenAI-fiók: hozzon létre egy AzureOpenAI szolgáltatáserőforrást.
A .NET AspireAzureOpenAI integrációjának megkezdéséhez telepítse a 📦Aspire.Azure. AI.OpenAI NuGet-csomagot az ügyfélfogyasztó projektben, azaz a AzureOpenAI ügyfelet használó alkalmazás projektjében.
dotnet add package Aspire.Azure.AI.OpenAI
További információért lásd: dotnet add package vagy Csomagfüggőségek kezelése .NET alkalmazásokban.
Példa használatra
Az ügyfél-oldali projekt Program.cs fájljában hívja meg a bővítménymetódust, hogy regisztráljon egy OpenAIClient
-et a függőséginjektálási tárolón keresztül történő használatra. A metódus egy kapcsolatnévparamétert használ.
builder.AddAzureOpenAIClient("openAiConnectionName");
Az előző kódban a AddAzureOpenAIClient
metódus hozzáad egy OpenAIClient
a DI-tárolóhoz. A openAiConnectionName
paraméter a konfigurációban lévő kapcsolati sztring neve. Ezután függőséginjektálással lekérheti a OpenAIClient
-példányt. Ha például egy példaszolgáltatásból szeretné lekérni a kapcsolatot:
public class ExampleService(OpenAIClient client)
{
// Use client...
}
Alkalmazásgazda használata
Ha Azure üzemeltetési támogatást szeretne hozzáadni a IDistributedApplicationBuilder-hez, telepítse a 📦Aspire.Hosting.Azure.CognitiveServices NuGet-csomagot az alkalmazáshoszt projektben.
dotnet add package Aspire.Hosting.Azure.CognitiveServices
Az alkalmazásgazdaprojektben regisztráljon egy AzureOpenAI erőforrást az alábbi módszerekkel, például AddAzureOpenAI:
var builder = DistributedApplication.CreateBuilder(args);
var openai = builder.ExecutionContext.IsPublishMode
? builder.AddAzureOpenAI("openAiConnectionName")
: builder.AddConnectionString("openAiConnectionName");
builder.AddProject<Projects.ExampleProject>()
.WithReference(openai);
A AddAzureAIOpenAI
metódus a ConnectionStrings:openAiConnectionName
konfigurációs kulcs alatt az alkalmazás hosztjának konfigurációjából (például a "felhasználói titkokból") olvassa be a kapcsolati adatokat. A WithReference metódus a kapcsolati adatokat egy openAiConnectionName
nevű kapcsolati sztringbe továbbítja a ExampleProject
projektben. Az ExampleProject Program.cs fájljában a kapcsolat a következő módon használható:
builder.AddAzureAIOpenAI("openAiConnectionName");
Konfiguráció
A .NET AspireAzureOpenAI integráció több lehetőséget is kínál a kapcsolat konfigurálására a projekt követelményei és konvenciói alapján.
Kapcsolati karakterlánc használata
Ha kapcsolati sztringet használ a ConnectionStrings
konfigurációs szakaszból, megadhatja a kapcsolati sztring nevét builder.AddAzureAIOpenAI
hívásakor:
builder.AddAzureAIOpenAI("openAiConnectionName");
A kapcsolati sztring a ConnectionStrings
konfigurációs szakaszból lesz lekérve, és két támogatott formátum létezik, vagy az alapértelmezett Azure hitelesítő adatokkal együtt használt fiókvégpont, vagy a fiókkulcsot tartalmazó kapcsolati sztring.
Fiókvégpont
Az ajánlott módszer egy Végponthasználata, amely a AzureOpenAISettings.Credential
tulajdonsággal együttműködve hoz létre kapcsolatot. Ha nincs hitelesítő adat konfigurálva, a rendszer a DefaultAzureCredential használja.
{
"ConnectionStrings": {
"openAiConnectionName": "https://{account_name}.openai.azure.com/"
}
}
További információ: AzureOpenAI használata kulcsok nélkül.
Kapcsolati karakterlánc
Másik lehetőségként egyéni kapcsolati sztring is használható.
{
"ConnectionStrings": {
"openAiConnectionName": "Endpoint=https://{account_name}.openai.azure.com/;Key={account_key};"
}
}
A nemAzureOpenAI szolgáltatáshoz való csatlakozáshoz ejtse a Endpoint
tulajdonságot, és csak a Key tulajdonságot állítsa be a API-kulcsbeállításához.
Konfigurációs szolgáltatók használata
A .NET AspireAzureOpenAI integráció támogatja a Microsoft.Extensions.Configuration. A AzureOpenAISettings
kulccsal betölti a Aspire:Azure:AI:OpenAI
-át a konfigurációból. Példa appsettings.json, amely konfigurál néhány beállítást:
{
"Aspire": {
"Azure": {
"AI": {
"OpenAI": {
"DisableTracing": false,
}
}
}
}
}
Beágyazott meghatalmazottak használata
A Action<AzureOpenAISettings> configureSettings
függvényt is használhatja néhány vagy az összes lehetőség közvetlen beállításához, például a nyomkövetés kódból való letiltásához.
builder.AddAzureAIOpenAI(
"openAiConnectionName",
static settings => settings.DisableTracing = true);
Az OpenAIClientOptionst a Action<IAzureClientBuilder<OpenAIClient, OpenAIClientOptions>> configureClientBuilder
metódus opcionális AddAzureAIOpenAI
paraméterével is beállíthatja. Például az ügyfél ügyfélazonosítójának beállításához:
builder.AddAzureAIOpenAI(
"openAiConnectionName",
configureClientBuilder: builder => builder.ConfigureOptions(
options => options.Diagnostics.ApplicationId = "CLIENT_ID"));
Megfigyelhetőség és telemetria
.NET .NET Aspire integrációk automatikusan beállítják a naplózási, nyomkövetési és metrikakonfigurációkat, amelyeket más néven a megfigyelhetőség alappillérei. Az integráció megfigyelhetőségéről és telemetriáról további információt .NET.NET Aspire integrációk áttekintésében. A háttérszolgáltatástól függően egyes integrációk csak bizonyos funkciókat támogatnak. Egyes integrációk például támogatják a naplózást és a nyomkövetést, a metrikákat azonban nem. A telemetriai funkciók a Konfiguráció szakaszban ismertetett technikákkal is letilthatók.
Fakitermelés
Az .NET AspireAzureOpenAI integráció a következő naplókategóriákat használja:
Azure
Azure.Core
Azure.Identity