Megosztás a következőn keresztül:


.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 OpenAIClienthaszná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

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.AddAzureAIOpenAIhí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

Lásd még: