Поделиться через


Подключение к службе OpenAI Azure с помощью соединителя службы

Эта страница содержит сведения о поддерживаемых методах проверки подлинности и клиентах, а также пример кода для подключения Службы OpenAI к другим облачным службам с помощью соединителя служб. На этой странице также перечислены имена и значения переменных среды по умолчанию, полученные при создании подключений к службе.

Поддерживаемые службы вычислений

Соединитель служб можно использовать для подключения следующих вычислительных служб к Службе OpenAI Azure:

  • Служба приложений Azure
  • Приложения-контейнеры Azure
  • Функции Azure
  • Служба Azure Kubernetes (AKS)
  • Azure Spring Apps

Поддерживаемые типы проверки подлинности и типы клиентов

В таблице ниже показано, какие сочетания методов проверки подлинности и клиентов поддерживаются для подключения вычислительной службы к Службе OpenAI Azure с помощью соединителя служб. Значение "Да" указывает, что сочетание поддерживается, а значение "Нет" указывает, что оно не поддерживается.

Тип клиента Управляемое удостоверение, назначаемое системой Управляемое удостоверение, назначаемое пользователем Секрет/строка подключения Субъект-служба
.NET Да Да Да Да
Java Да Да Да Да
Node.js Да Да Да Да
Python Да Да Да Да
Не допускается Да Да Да Да

Эта таблица указывает, что поддерживаются все сочетания типов клиентов и методов проверки подлинности в таблице. Все типы клиентов могут использовать любой из методов проверки подлинности для подключения к службе Azure OpenAI с помощью соединителя службы.

Имена переменных среды по умолчанию или свойства приложения и пример кода

Используйте приведенные ниже сведения о подключении для подключения вычислительных служб к Службе OpenAI Azure. Дополнительные сведения о соглашениях об именовании см. в статье "Внутренние компоненты соединителя служб".

Управляемое удостоверение, назначаемое системой

Имя переменной среды по умолчанию Description Пример значения
AZURE_OPENAI_BASE Конечная точка службы OpenAI Azure https://<Azure-OpenAI-name>.openai.azure.com/

Пример кода

Ознакомьтесь с инструкциями и кодом ниже, чтобы подключиться к службе Azure OpenAI с помощью управляемого удостоверения, назначаемого системой.

  1. Установите зависимости.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Identity
    
  2. Проверка подлинности с помощью библиотеки удостоверений Azure и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.

    using Azure.AI.OpenAI;
    using Azure.Identity;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_BASE");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_OPENAI_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    AzureOpenAIClient openAIClient = new(
      new Uri(endpoint),
      credential
    );
    

Управляемое удостоверение, назначаемое пользователем

Имя переменной среды по умолчанию Description Пример значения
AZURE_OPENAI_BASE Конечная точка службы Azure OpenAI https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_CLIENTID Идентификатор клиента <client-ID>

Пример кода

Ознакомьтесь с инструкциями и кодом ниже, чтобы подключиться к службе Azure OpenAI с помощью управляемого удостоверения, назначаемого пользователем.

  1. Установите зависимости.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Identity
    
  2. Проверка подлинности с помощью библиотеки удостоверений Azure и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.

    using Azure.AI.OpenAI;
    using Azure.Identity;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_BASE");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_OPENAI_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    AzureOpenAIClient openAIClient = new(
      new Uri(endpoint),
      credential
    );
    

Connection string

Имя переменной среды по умолчанию Description Пример значения
AZURE_OPENAI_BASE Конечная точка службы Azure OpenAI https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_KEY Ключ API службы Azure OpenAI <api-key>

Пример кода

Ознакомьтесь с инструкциями и кодом ниже, чтобы подключиться к службе Azure OpenAI с помощью строка подключения.

  1. Установите следующие зависимости.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Core --version 1.40.0
    
  2. Получите конечную точку и ключ API Azure OpenAI из переменных среды, добавленных соединителем службы.

    using Azure.AI.OpenAI;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_BASE")
    string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_KEY");
    
    AzureOpenAIClient openAIClient = new(
      new Uri(endpoint),
      new AzureKeyCredential(key));
    

Субъект-служба

Имя переменной среды по умолчанию Description Пример значения
AZURE_OPENAI_BASE Конечная точка службы Azure OpenAI https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_CLIENTID Идентификатор клиента <client-ID>
AZURE_OPENAI_CLIENTSECRET Секрет клиента <client-secret>
AZURE_OPENAI_TENANTID Идентификатор клиента <tenant-ID>

Пример кода

Ознакомьтесь с инструкциями и кодом ниже, чтобы подключиться к Службе OpenAI Azure с помощью principaL службы.

  1. Установите зависимости.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Identity
    
  2. Проверка подлинности с помощью библиотеки удостоверений Azure и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.

    using Azure.AI.OpenAI;
    using Azure.Identity;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_BASE");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_OPENAI_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_OPENAI_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    AzureOpenAIClient openAIClient = new(
      new Uri(endpoint),
      credential
    );