이 페이지에서는 지원되는 인증 방법 및 클라이언트에 대한 정보를 제공합니다. 서비스 커넥터를 사용하여 Foundry 모델의 Azure OpenAI에 컴퓨팅 서비스를 연결하는 데 사용할 수 있는 샘플 코드를 제공합니다. 이 페이지에는 서비스 연결을 만들 때 얻은 기본 환경 변수 이름과 값도 나열됩니다.
지원되는 컴퓨팅 서비스
서비스 커넥터를 사용하여 다음 컴퓨팅 서비스를 Azure OpenAI에 연결할 수 있습니다.
- Azure App Service
- Azure Container Apps
- Azure Functions
- AKS(Azure Kubernetes Service)
- Azure Spring Apps
지원되는 인증 유형 및 클라이언트 유형
이 표에서는 서비스 커넥터를 사용하여 컴퓨팅 서비스를 Azure OpenAI에 연결하는 데 지원되는 인증 방법과 클라이언트의 조합을 보여 줍니다. "예"는 조합이 지원됨을 나타내고 "아니요"는 지원되지 않음을 나타냅니다.
| 클라이언트 유형 |
시스템 할당 관리 ID |
사용자 할당 관리 ID |
비밀/연결 문자열 |
서비스 주체 |
| .NET |
예 |
예 |
예 |
예 |
| Java |
예 |
예 |
예 |
예 |
| Node.js |
예 |
예 |
예 |
예 |
| Python |
예 |
예 |
예 |
예 |
| None |
예 |
예 |
예 |
예 |
이 표는 표에 있는 클라이언트 유형과 모든 인증 방법 조합이 지원됨을 나타냅니다. 모든 클라이언트 유형은 모든 인증 방법을 사용하여 서비스 커넥터를 사용하여 Azure OpenAI에 연결할 수 있습니다.
기본 환경 변수 이름 또는 애플리케이션 속성과 샘플 코드
다음 연결 세부 정보를 사용하여 컴퓨팅 서비스를 Azure OpenAI에 연결합니다. 자세한 내용은 구성 명명 규칙을 참조하세요.
시스템 할당 관리 ID
| 기본 환경 변수 이름 |
설명 |
샘플 값 |
| AZURE_OPENAI_BASE |
Azure OpenAI 엔드포인트 |
https://<Azure-OpenAI-name>.openai.azure.com/ |
예제 코드
시스템 할당 관리 ID를 사용하여 Azure OpenAI에 연결하려면 다음 단계 및 코드를 참조하세요.
종속성을 설치합니다.
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
Azure ID 라이브러리를 사용하여 인증하고 서비스 커넥터에서 추가한 환경 변수에서 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
);
pom.xml 파일에서 다음 종속성을 추가합니다.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-openai</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.11.4</version>
</dependency>
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
)
종속성을 설치합니다.
npm install --save @azure/identity
npm install @azure/openai
@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 통합을 참조하세요.
사용자 할당 관리 ID
| 기본 환경 변수 이름 |
설명 |
샘플 값 |
| AZURE_OPENAI_BASE |
Azure OpenAI 엔드포인트 |
https://<Azure-OpenAI-name>.openai.azure.com/ |
| AZURE_OPENAI_CLIENTID |
클라이언트 ID |
<client-ID> |
예제 코드
사용자 할당 관리 ID를 사용하여 Azure OpenAI에 연결하려면 다음 단계 및 코드를 참조하세요.
종속성을 설치합니다.
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
Azure ID 라이브러리를 사용하여 인증하고 서비스 커넥터에서 추가한 환경 변수에서 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
);
pom.xml 파일에서 다음 종속성을 추가합니다.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-openai</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.11.4</version>
</dependency>
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
)
종속성을 설치합니다.
npm install --save @azure/identity
npm install @azure/openai
@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_OPENAI_BASE |
Azure OpenAI 엔드포인트 |
https://<Azure-OpenAI-name>.openai.azure.com/ |
| AZURE_OPENAI_KEY |
Azure OpenAI API 키 |
<api-key> |
샘플 코드
연결 문자열을 사용하여 Azure OpenAI에 연결하려면 다음 단계 및 코드를 참조하세요.
다음 종속성을 설치합니다.
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Core --version 1.40.0
서비스 커넥터에서 추가한 환경 변수에서 Azure OpenAI 엔드포인트 및 API 키를 가져옵니다.
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));
pom.xml 파일에 다음 종속성을 추가합니다.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.49.1</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-openai</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
서비스 커넥터에서 추가한 환경 변수에서 Azure OpenAI 엔드포인트 및 API 키를 가져옵니다.
String endpoint = System.getenv("AZURE_OPENAI_BASE");
String key = System.getenv("AZURE_OPENAI_KEY");
OpenAIClient client = new OpenAIClientBuilder()
.credential(new AzureKeyCredential(key))
.endpoint(endpoint)
.buildClient();
다음 종속성을 설치합니다.
pip install openai
pip install azure-core
서비스 커넥터에서 추가한 환경 변수에서 Azure OpenAI 엔드포인트 및 API 키를 가져옵니다.
import os
from openai import AzureOpenAI
from azure.core.credentials import AzureKeyCredential
key = os.environ['AZURE_OPENAI_KEY']
endpoint = os.environ['AZURE_OPENAI_BASE']
client = AzureOpenAI(
api_version="2024-02-15-preview",
azure_endpoint=endpoint,
api_key=key
)
다음 종속성을 설치합니다.
npm install @azure/openai
npm install @azure/core-auth
서비스 커넥터에서 추가한 환경 변수에서 Azure OpenAI 엔드포인트 및 API 키를 가져옵니다.
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 통합을 참조하세요.
서비스 주체
| 기본 환경 변수 이름 |
설명 |
샘플 값 |
| AZURE_OPENAI_BASE |
Azure OpenAI 엔드포인트 |
https://<Azure-OpenAI-name>.openai.azure.com/ |
| AZURE_OPENAI_CLIENTID |
클라이언트 ID |
<client-ID> |
| AZURE_OPENAI_CLIENTSECRET |
클라이언트 암호 |
<client-secret> |
| AZURE_OPENAI_TENANTID |
테넌트 ID |
<tenant-ID> |
예제 코드
서비스 주체를 사용하여 Azure OpenAI에 연결하려면 다음 단계 및 코드를 참조하세요.
종속성을 설치합니다.
dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
Azure ID 라이브러리를 사용하여 인증하고 서비스 커넥터에서 추가한 환경 변수에서 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
);
pom.xml 파일에서 다음 종속성을 추가합니다.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-openai</artifactId>
<version>1.0.0-beta.6</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.11.4</version>
</dependency>
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
)
종속성을 설치합니다.
npm install --save @azure/identity
npm install @azure/openai
@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 통합을 참조하세요.
관련 콘텐츠