Подключение к службе OpenAI Azure с помощью соединителя службы
Статья
Эта страница содержит сведения о поддерживаемых методах проверки подлинности и клиентах, а также пример кода для подключения Службы OpenAI к другим облачным службам с помощью соединителя служб. На этой странице также перечислены имена и значения переменных среды по умолчанию, полученные при создании подключений к службе.
Поддерживаемые службы вычислений
Соединитель служб можно использовать для подключения следующих вычислительных служб к Службе OpenAI Azure:
Служба приложений Azure
Приложения-контейнеры Azure
Функции Azure
Служба Azure Kubernetes (AKS)
Azure Spring Apps
Поддерживаемые типы проверки подлинности и типы клиентов
В таблице ниже показано, какие сочетания методов проверки подлинности и клиентов поддерживаются для подключения вычислительной службы к Службе OpenAI Azure с помощью соединителя служб. Значение "Да" указывает, что сочетание поддерживается, а значение "Нет" указывает, что оно не поддерживается.
Эта таблица указывает, что поддерживаются все сочетания типов клиентов и методов проверки подлинности в таблице. Все типы клиентов могут использовать любой из методов проверки подлинности для подключения к службе Azure OpenAI с помощью соединителя службы.
Имена переменных среды по умолчанию или свойства приложения и пример кода
Используйте приведенные ниже сведения о подключении для подключения вычислительных служб к Службе OpenAI Azure. Дополнительные сведения о соглашениях об именовании см. в статье "Внутренние компоненты соединителя служб".
Управляемое удостоверение, назначаемое системой
Имя переменной среды по умолчанию
Description
Пример значения
AZURE_OPENAI_BASE
Конечная точка службы OpenAI Azure
https://<Azure-OpenAI-name>.openai.azure.com/
Пример кода
Ознакомьтесь с инструкциями и кодом ниже, чтобы подключиться к службе Azure OpenAI с помощью управляемого удостоверения, назначаемого системой.
Проверка подлинности с помощью библиотеки удостоверений 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
);
Проверка подлинности с помощью azure-identity и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .clientSecret(System.getenv("AZURE_OPENAI_CLIENTSECRET"))
// .tenantId(System.getenv("AZURE_OPENAI_TENANTID"))
// .build();
String endpoint = System.getenv("AZURE_OPENAI_BASE");
OpenAIClient client = new OpenAIClientBuilder()
.credential(credential)
.endpoint(endpoint)
.buildClient();
Установите зависимости.
pip install openai
pip install azure-identity
Проверка подлинности с помощью azure-identity и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.
import os
import OpenAI
from azure.identity import ManagedIdentityCredential, ClientSecretCredential, get_bearer_token_provider
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_OPENAI_TENANTID')
# client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# client_secret = os.getenv('AZURE_OPENAI_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
token_provider = get_bearer_token_provider(
cred, "https://cognitiveservices.azure.com/.default"
)
endpoint = os.getenv('AZURE_OPENAI_BASE')
client = AzureOpenAI(
api_version="2024-02-15-preview",
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider
)
Проверка подлинности с помощью @azure/identity и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_OPENAI_TENANTID;
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const clientSecret = process.env.AZURE_OPENAI_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const endpoint = process.env.AZURE_OPENAI_BASE;
const client = new OpenAIClient(endpoint, credential);
Для других языков можно использовать сведения о подключении, которые соединитель службы задает переменным среды для подключения к Azure OpenAI. Сведения об переменной среды см. в статье "Интеграция Azure OpenAI с соединителем службы".
Проверка подлинности с помощью библиотеки удостоверений 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
);
Проверка подлинности с помощью azure-identity и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .clientSecret(System.getenv("AZURE_OPENAI_CLIENTSECRET"))
// .tenantId(System.getenv("AZURE_OPENAI_TENANTID"))
// .build();
String endpoint = System.getenv("AZURE_OPENAI_BASE");
OpenAIClient client = new OpenAIClientBuilder()
.credential(credential)
.endpoint(endpoint)
.buildClient();
Установите зависимости.
pip install openai
pip install azure-identity
Проверка подлинности с помощью azure-identity и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.
import os
import OpenAI
from azure.identity import ManagedIdentityCredential, ClientSecretCredential, get_bearer_token_provider
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_OPENAI_TENANTID')
# client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# client_secret = os.getenv('AZURE_OPENAI_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
token_provider = get_bearer_token_provider(
cred, "https://cognitiveservices.azure.com/.default"
)
endpoint = os.getenv('AZURE_OPENAI_BASE')
client = AzureOpenAI(
api_version="2024-02-15-preview",
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider
)
Проверка подлинности с помощью @azure/identity и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_OPENAI_TENANTID;
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const clientSecret = process.env.AZURE_OPENAI_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const endpoint = process.env.AZURE_OPENAI_BASE;
const client = new OpenAIClient(endpoint, credential);
Для других языков можно использовать сведения о подключении, которые соединитель службы задает переменным среды для подключения к Azure OpenAI. Сведения об переменной среды см. в статье "Интеграция Azure OpenAI с соединителем службы".
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 с помощью строка подключения.
Получите конечную точку и ключ API Azure OpenAI из переменных среды, добавленных соединителем службы.
import { OpenAIClient } from "@azure/openai";
import { AzureKeyCredential } from "@azure/core-auth";
const endpoint = process.env.AZURE_OPENAI_BASE;
const credential = new AzureKeyCredential(process.env.AZURE_OPENAI_KEY);
const client = new OpenAIClient(endpoint, credential);
Для других языков можно использовать сведения о подключении, которые соединитель службы задает переменным среды для подключения к Azure OpenAI. Сведения об переменной среды см. в статье "Интеграция Azure OpenAI с соединителем службы".
Субъект-служба
Имя переменной среды по умолчанию
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 службы.
Проверка подлинности с помощью библиотеки удостоверений 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
);
Проверка подлинности с помощью azure-identity и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder().build();
// for user-assigned managed identity
// DefaultAzureCredential credential = new DefaultAzureCredentialBuilder()
// .managedIdentityClientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .build();
// for service principal
// ClientSecretCredential credential = new ClientSecretCredentialBuilder()
// .clientId(System.getenv("AZURE_OPENAI_CLIENTID"))
// .clientSecret(System.getenv("AZURE_OPENAI_CLIENTSECRET"))
// .tenantId(System.getenv("AZURE_OPENAI_TENANTID"))
// .build();
String endpoint = System.getenv("AZURE_OPENAI_BASE");
OpenAIClient client = new OpenAIClientBuilder()
.credential(credential)
.endpoint(endpoint)
.buildClient();
Установите зависимости.
pip install openai
pip install azure-identity
Проверка подлинности с помощью azure-identity и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.
import os
import OpenAI
from azure.identity import ManagedIdentityCredential, ClientSecretCredential, get_bearer_token_provider
# Uncomment the following lines corresponding to the authentication type you want to use.
# system-assigned managed identity
# cred = ManagedIdentityCredential()
# user-assigned managed identity
# managed_identity_client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# cred = ManagedIdentityCredential(client_id=managed_identity_client_id)
# service principal
# tenant_id = os.getenv('AZURE_OPENAI_TENANTID')
# client_id = os.getenv('AZURE_OPENAI_CLIENTID')
# client_secret = os.getenv('AZURE_OPENAI_CLIENTSECRET')
# cred = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
token_provider = get_bearer_token_provider(
cred, "https://cognitiveservices.azure.com/.default"
)
endpoint = os.getenv('AZURE_OPENAI_BASE')
client = AzureOpenAI(
api_version="2024-02-15-preview",
azure_endpoint=endpoint,
azure_ad_token_provider=token_provider
)
Проверка подлинности с помощью @azure/identity и получение конечной точки Azure OpenAI из переменных среды, добавленных соединителем службы. При использовании приведенного ниже кода раскомментируйте часть фрагмента кода для используемого типа проверки подлинности.
import { DefaultAzureCredential,ClientSecretCredential } from "@azure/identity";
// Uncomment the following lines corresponding to the authentication type you want to use.
// for system-assigned managed identity
// const credential = new DefaultAzureCredential();
// for user-assigned managed identity
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const credential = new DefaultAzureCredential({
// managedIdentityClientId: clientId
// });
// for service principal
// const tenantId = process.env.AZURE_OPENAI_TENANTID;
// const clientId = process.env.AZURE_OPENAI_CLIENTID;
// const clientSecret = process.env.AZURE_OPENAI_CLIENTSECRET;
// const credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
const endpoint = process.env.AZURE_OPENAI_BASE;
const client = new OpenAIClient(endpoint, credential);
Для других языков можно использовать сведения о подключении, которые соединитель службы задает переменным среды для подключения к Azure OpenAI. Сведения об переменной среды см. в статье "Интеграция Azure OpenAI с соединителем службы".