Condividi tramite


Collegarsi ad Azure OpenAI nei Modelli di Foundry usando Service Connector

Questa pagina fornisce informazioni sui metodi di autenticazione e i client supportati. Fornisce codice di esempio che è possibile usare per connettere i servizi di calcolo ad Azure OpenAI nei modelli Foundry usando Service Connector. Questa pagina elenca anche i nomi e i valori predefiniti delle variabili di ambiente ottenuti durante la creazione di connessioni al servizio.

Servizi di calcolo supportati

Service Connector può essere usato per connettere i servizi di calcolo seguenti ad Azure OpenAI:

  • Servizio app di Azure
  • App contenitore di Azure
  • Funzioni di Azure
  • Servizio Azure Kubernetes
  • Azure Spring Apps

Tipi di autenticazione e di client supportati

Questa tabella illustra le combinazioni di metodi di autenticazione e client supportati per la connessione del servizio di calcolo ad Azure OpenAI tramite Service Connector. Un valore "Sì" indica che la combinazione è supportata, mentre "No" indica che non è supportata.

Tipo di client Identità gestita assegnata dal sistema Identità gestita assegnata dall'utente Stringa di segreto/connessione Entità servizio
.NET
Java
Node.js
Python
nessuno

Questa tabella indica che tutte le combinazioni di tipi client e metodi di autenticazione nella tabella sono supportate. Tutti i tipi di client possono usare uno dei metodi di autenticazione per connettersi ad Azure OpenAI tramite Service Connector.

Nomi di variabili di ambiente predefiniti o proprietà dell'applicazione e codice di esempio

Usare i dettagli di connessione seguenti per connettere i servizi di calcolo ad Azure OpenAI. Per altre informazioni, vedere Convenzione di denominazione della configurazione.

Identità gestita assegnata dal sistema

Nome variabile di ambiente predefinito Descrizione Valore di esempio
AZURE_OPENAI_BASE Endpoint di Azure OpenAI https://<Azure-OpenAI-name>.openai.azure.com/

Codice di esempio

Per connettersi ad Azure OpenAI usando un'identità gestita assegnata dal sistema, vedere i passaggi e il codice seguenti.

  1. Installare le dipendenze.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Identity
    
  2. Eseguire l'autenticazione con la libreria di identità di Azure e ottenere l'endpoint di Azure OpenAI dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.

    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
    );
    

Identità gestita assegnata dall'utente

Nome variabile di ambiente predefinito Descrizione Valore di esempio
AZURE_OPENAI_BASE Azure OpenAI Endpoint https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_CLIENTID L'ID client <client-ID>

Codice di esempio

Per connettersi ad Azure OpenAI usando un'identità gestita assegnata dall'utente, vedere i passaggi e il codice seguenti.

  1. Installare le dipendenze.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Identity
    
  2. Eseguire l'autenticazione con la libreria di identità di Azure e ottenere l'endpoint di Azure OpenAI dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.

    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
    );
    

Stringa di connessione

Nome variabile di ambiente predefinito Descrizione Valore di esempio
AZURE_OPENAI_BASE Azure OpenAI Endpoint https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_KEY Chiave API OpenAI di Azure <api-key>

Codice di esempio

Per connettersi ad Azure OpenAI usando una stringa di connessione, vedere i passaggi e il codice seguenti.

  1. Installare le dipendenze seguenti.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Core --version 1.40.0
    
  2. Ottenere l'endpoint e la chiave API di Azure OpenAI dalle variabili di ambiente aggiunte dal connettore di servizi.

    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));
    

Entità servizio

Nome variabile di ambiente predefinito Descrizione Valore di esempio
AZURE_OPENAI_BASE Azure OpenAI Endpoint https://<Azure-OpenAI-name>.openai.azure.com/
AZURE_OPENAI_CLIENTID L'ID client <client-ID>
AZURE_OPENAI_CLIENTSECRET Segreto client <client-secret>
AZURE_OPENAI_TENANTID ID del tenant. <tenant-ID>

Codice di esempio

Per connettersi ad Azure OpenAI usando un'entità servizio, vedere i passaggi e il codice seguenti.

  1. Installare le dipendenze.

    dotnet add package Azure.AI.OpenAI --prerelease
    dotnet add package Azure.Identity
    
  2. Eseguire l'autenticazione con la libreria di identità di Azure e ottenere l'endpoint di Azure OpenAI dalle variabili di ambiente aggiunte dal connettore di servizi. Quando si usa il codice seguente, rimuovere il commento dalla parte del frammento di codice per il tipo di autenticazione che si vuole usare.

    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
    );