次の方法で共有


Service Connector を使用して Foundry モデルの Azure OpenAI に接続する

このページでは、サポートされている認証方法とクライアントに関する情報と、Foundry Models の Azure OpenAI を Service Connector を使用して他のクラウド サービスに接続するためのサンプル コードについて説明します。 このページには、サービス接続を作成するときに取得する既定の環境変数の名前と値も示されています。

サポートされているコンピューティング サービス

Service Connector を使用して、次のコンピューティング サービスを Azure OpenAI に接続できます。

  • Azure App Service
  • Azure Container Apps
  • Azure Functions
  • Azure Kubernetes Service (AKS)
  • Azure Spring Apps

サポートされている認証の種類とクライアントの種類

次の表は、Service Connector を使用してコンピューティング サービスを Azure OpenAI に接続するためにサポートされている認証方法とクライアントの組み合わせを示しています。 "はい" はその組み合わせがサポートされていることを示し、"いいえ" はサポートされていないことを示します。

クライアントの種類 システム割り当てマネージド ID ユーザー割り当てマネージド ID シークレット/接続文字列 サービス プリンシパル
.NET はい はい はい はい
Java はい はい はい はい
Node.js はい はい はい はい
Python はい はい はい はい
None はい はい はい はい

この表は、表内のクライアントの種類と認証方法のすべての組み合わせがサポートされていることを示しています。 すべてのクライアントの種類では、任意の認証方法を使用して、Service Connector を使用して Azure OpenAI に接続できます。

既定の環境変数名またはアプリケーション プロパティとサンプル コード

コンピューティング サービスを Azure OpenAI に接続するには、次の接続の詳細を使用します。 名前付け規則の詳細については、「Service Connector の内部構造」の記事を参照してください。

システム割り当てマネージド 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>

サンプル コード

サービス principaL を使用して 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
    );