Conexión a Azure OpenAI Service mediante Service Connector
Artículo
En esta página se proporciona información sobre los métodos de autenticación admitidos y los clientes, junto con el código de ejemplo para conectar Azure OpenAI Service a otros servicios en la nube mediante Service Connector. Esta página también muestra los nombres y valores predeterminados de las variables de entorno que se obtiene al crear conexiones de servicio.
Servicios de proceso admitidos
El conector de servicio se puede utilizar para conectar los siguientes servicios de proceso a Azure OpenAI Service:
Azure App Service
Azure Container Apps
Funciones de Azure
Azure Kubernetes Service (AKS)
Azure Spring Apps
Tipos de autenticación y tipos de cliente admitidos
En la tabla siguiente se muestran las combinaciones de métodos de autenticación y clientes que se admiten para conectar el servicio de proceso a Azure OpenAI Service mediante el conector de servicio. Un valor "Sí" indica que se admite la combinación, mientras que "No" indica que no se admite.
Tipo de cliente
Identidad administrada asignada por el sistema
Identidad administrada asignada por el usuario
Secreto/cadena de conexión
Entidad de servicio
.NET
Sí
Sí
Sí
Sí
Java
Sí
Sí
Sí
Sí
Node.js
Sí
Sí
Sí
Sí
Python
Sí
Sí
Sí
Sí
None
Sí
Sí
Sí
Sí
Esta tabla indica que todas las combinaciones de tipos de cliente y métodos de autenticación de la tabla son compatibles. Todos los tipos de cliente pueden utilizar cualquiera de los métodos de autenticación para conectarse a Azure OpenAI Service mediante el conector de servicio.
Nombres de variables de entorno predeterminados o propiedades de aplicación y código de ejemplo
Use los detalles de conexión siguientes para conectar servicios de proceso a Azure OpenAI Service. Para más información sobre las convenciones de nomenclatura, consulte el artículo sobre los elementos internos del conector de servicio.
Identidad administrada asignada por el sistema
Nombre de la variable de entorno predeterminado
Descripción
Valor de ejemplo
AZURE_OPENAI_BASE
Punto de conexión de Azure OpenAI Service
https://<Azure-OpenAI-name>.openai.azure.com/
Código de ejemplo
Consulte los pasos y el código siguientes para conectarse a Azure OpenAI Service mediante una identidad administrada asignada por el sistema.
Autentíquese mediante la biblioteca de identidades de Azure y obtenga el punto de conexión de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
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
);
Agregue las siguientes dependencias al archivo pom.xml:
Autentíquese mediante azure-identity y obtenga el espacio de nombres de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
// 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();
Instale las dependencias.
pip install openai
pip install azure-identity
Autentíquese mediante azure-identity y obtenga el espacio de nombres de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
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
)
Autentíquese mediante @azure/identity y obtenga el espacio de nombres de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
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);
Para otros lenguajes, puede usar la información de conexión que el conector de servicio establece en las variables de entorno para conectarse a Azure OpenAI. Para más información sobre las variables de entorno, consulte Integración de Azure OpenAI con el conector de servicio.
Identidad administrada asignada por el usuario
Nombre de la variable de entorno predeterminado
Descripción
Valor de ejemplo
AZURE_OPENAI_BASE
Punto de conexión de Azure OpenAI Service
https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_CLIENTID
Id. de cliente
<client-ID>
Código de ejemplo
Consulte los pasos y el código siguientes para conectarse a Azure OpenAI Service mediante una identidad administrada asignada por el usuario.
Autentíquese mediante la biblioteca de identidades de Azure y obtenga el punto de conexión de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
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
);
Agregue las siguientes dependencias al archivo pom.xml:
Autentíquese mediante azure-identity y obtenga el espacio de nombres de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
// 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();
Instale las dependencias.
pip install openai
pip install azure-identity
Autentíquese mediante azure-identity y obtenga el espacio de nombres de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
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
)
Autentíquese mediante @azure/identity y obtenga el espacio de nombres de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
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);
Para otros lenguajes, puede usar la información de conexión que el conector de servicio establece en las variables de entorno para conectarse a Azure OpenAI. Para más información sobre las variables de entorno, consulte Integración de Azure OpenAI con el conector de servicio.
Cadena de conexión
Nombre de la variable de entorno predeterminado
Descripción
Valor de ejemplo
AZURE_OPENAI_BASE
Punto de conexión de Azure OpenAI Service
https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_KEY
Clave de API de Azure OpenAI Service
<api-key>
Código de ejemplo
Consulte los pasos y el código siguientes para conectarse a Azure OpenAI Service mediante una cadena de conexión.
Obtenga el punto de conexión de Azure OpenAI y la clave de API de las variables de entorno agregadas por el conector de servicio.
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);
Para otros lenguajes, puede usar la información de conexión que el conector de servicio establece en las variables de entorno para conectarse a Azure OpenAI. Para más información sobre las variables de entorno, consulte Integración de Azure OpenAI con el conector de servicio.
Entidad de servicio
Nombre de la variable de entorno predeterminado
Descripción
Valor de ejemplo
AZURE_OPENAI_BASE
Punto de conexión de Azure OpenAI Service
https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_CLIENTID
Id. de cliente
<client-ID>
AZURE_OPENAI_CLIENTSECRET
Secreto de cliente
<client-secret>
AZURE_OPENAI_TENANTID
El identificador de inquilino
<tenant-ID>
Código de ejemplo
Consulte los pasos y el código siguientes para conectarse a Azure OpenAI Service mediante una entidad de servicio.
Autentíquese mediante la biblioteca de identidades de Azure y obtenga el punto de conexión de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
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
);
Agregue las siguientes dependencias al archivo pom.xml:
Autentíquese mediante azure-identity y obtenga el espacio de nombres de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
// 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();
Instale las dependencias.
pip install openai
pip install azure-identity
Autentíquese mediante azure-identity y obtenga el espacio de nombres de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
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
)
Autentíquese mediante @azure/identity y obtenga el espacio de nombres de Azure OpenAI de las variables de entorno agregadas por el conector de servicio. Al usar el código siguiente, quite la marca de comentario de la parte del fragmento de código para el tipo de autenticación que desea usar.
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);
Para otros lenguajes, puede usar la información de conexión que el conector de servicio establece en las variables de entorno para conectarse a Azure OpenAI. Para más información sobre las variables de entorno, consulte Integración de Azure OpenAI con el conector de servicio.