다음을 통해 공유


서비스 커넥터를 사용하여 Foundry 모델에서 Azure OpenAI에 연결

이 페이지에서는 지원되는 인증 방법 및 클라이언트에 대한 정보를 제공합니다. 서비스 커넥터를 사용하여 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에 연결하려면 다음 단계 및 코드를 참조하세요.

  1. 종속성을 설치합니다.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Identity
    
  2. 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
    );
    

사용자 할당 관리 ID

기본 환경 변수 이름 설명 샘플 값
AZURE_OPENAI_BASE Azure OpenAI 엔드포인트 https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_CLIENTID 클라이언트 ID <client-ID>

예제 코드

사용자 할당 관리 ID를 사용하여 Azure OpenAI에 연결하려면 다음 단계 및 코드를 참조하세요.

  1. 종속성을 설치합니다.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Identity
    
  2. 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
    );
    

연결 문자열

기본 환경 변수 이름 설명 샘플 값
AZURE_OPENAI_BASE Azure OpenAI 엔드포인트 https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_KEY Azure OpenAI API 키 <api-key>

샘플 코드

연결 문자열을 사용하여 Azure OpenAI에 연결하려면 다음 단계 및 코드를 참조하세요.

  1. 다음 종속성을 설치합니다.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Core --version 1.40.0
    
  2. 서비스 커넥터에서 추가한 환경 변수에서 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));
    

서비스 주체

기본 환경 변수 이름 설명 샘플 값
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에 연결하려면 다음 단계 및 코드를 참조하세요.

  1. 종속성을 설치합니다.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Identity
    
  2. 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
    );