Guida introduttiva: Usare le immagini nelle chat di intelligenza artificiale

Introduzione all'uso di GPT-4 Turbo con immagini con il Servizio OpenAI di Azure.

Nota

Scelta del modello

I modelli più recenti che supportano la visione sono gpt-4o e gpt-4o mini. Questi sono in anteprima pubblica. Il modello disponibile a livello generale più recente è gpt-4 la versione turbo-2024-04-09.

Iniziare a esplorare le funzionalità di GPT-4 Turbo with Vision con un approccio senza codice tramite Azure OpenAI Studio.

Prerequisiti

Nota

Attualmente non è supportata la disattivazione del filtro del contenuto per il modello GPT-4 Turbo with Vision.

Passa ad Azure OpenAI Studio

Passare ad Azure OpenAI Studio e accedere con le credenziali associate alla risorsa di OpenAI di Azure. Durante o dopo il flusso di lavoro di accesso, selezionare la directory appropriata, la sottoscrizione di Azure e la risorsa OpenAI di Azure.

In Management selezionare Deployments e Create per una distribuzione di GPT-4 Turbo with Vision, quindi selezionare il nome del modello "gpt-4" e la versione del modello "vision-preview". Per ulteriori informazioni sulla distribuzione del modello, vedere la guida alla distribuzione delle risorse.

Nella sezione Playground selezionare Chat.

Playground

Da questa pagina è possibile eseguire rapidamente l'iterazione e sperimentare con le funzionalità del modello.

Per informazioni generali sulla configurazione dell'assistente, le sessioni di chat, le impostazioni e i pannelli, vedere la Guida introduttiva alla Chat.

Avviare una sessione di chat per analizzare immagini o video

In questa sessione di chat si indica all'assistente di contribuire alla comprensione delle immagini immesse.

  1. Per iniziare, selezionare la distribuzione di GPT-4 Turbo with Vision nell'elenco a discesa.

  2. Nel riquadro Assistant setup specificare un messaggio di sistema per guidare l'assistente. Il messaggio di sistema predefinito è: "You are an AI assistant that helps people find information". È possibile personalizzare il messaggio di sistema in base all'immagine o allo scenario che si sta caricando.

    Nota

    È consigliabile aggiornare il messaggio di sistema in modo che sia specifico per l'attività per evitare risposte inutili dal modello.

  3. Salvare le modifiche e quando viene richiesto di confermare l'aggiornamento del messaggio di sistema, selezionare Continue.

  4. Nel riquadro Chat session immettere un prompt di testo come "Describe this image" e caricare un'immagine con il pulsante allegato. È possibile usare una richiesta di testo diversa per il caso d'uso specifico. Selezionare Invia.

  5. Osservare l'output fornito. Per altre informazioni, è consigliabile porre domande di completamento correlate all'analisi dell'immagine.

Screenshot del playground Chat di OpenAI Studio.

Pulire le risorse

Per pulire e rimuovere una risorsa OpenAI, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Usare questo articolo per iniziare a usare le API REST OpenAI di Azure per distribuire e usare il modello GPT-4 Turbo with Vision.

Prerequisiti

Nota

Attualmente non è supportata la disattivazione del filtro del contenuto per il modello GPT-4 Turbo with Vision.

Recuperare la chiave e l'endpoint

Per chiamare correttamente le API OpenAI di Azure, sono necessarie le informazioni seguenti sulla risorsa di OpenAI di Azure:

Variabile Nome Valore
Endpoint api_base Il valore dell'endpoint si trova in Chiavi ed endpoint per la risorsa nel portale di Azure. È anche possibile trovare l'endpoint tramite la pagina Distribuzioni in Azure AI Studio. Un endpoint di esempio è https://docs-test-001.openai.azure.com/.
Chiave api_key Il valore della chiave si trova in Chiavi ed endpoint per la risorsa nel portale di Azure. Azure genera due chiavi per la risorsa. È possibile usare indifferentemente una delle due.

Passare alla risorsa nel portale di Azure. Nel riquadro di spostamento selezionare Chiavi ed endpoint in Gestione risorse. Copiare il valore Endpoint e un valore della chiave di accesso. È possibile usare il valore KEY 1 o KEY 2. Avere sempre due chiavi consente di ruotare e rigenerare in modo sicuro le chiavi senza causare un'interruzione del servizio.

Screenshot che mostra la pagina Chiavi ed endpoint per una risorsa di OpenAI di Azure nel portale di Azure.

Creare una nuova applicazione Python

Creare un nuovo file Python denominato quickstart.py. Aprire il nuovo file nell'editor preferito.

  1. Sostituire il contenuto di quickstart.py con il codice seguente.

    # Packages required:
    import requests 
    import json 
    
    api_base = '<your_azure_openai_endpoint>' 
    deployment_name = '<your_deployment_name>'
    API_KEY = '<your_azure_openai_key>'
    
    base_url = f"{api_base}openai/deployments/{deployment_name}" 
    headers = {   
        "Content-Type": "application/json",   
        "api-key": API_KEY 
    } 
    
    # Prepare endpoint, headers, and request body 
    endpoint = f"{base_url}/chat/completions?api-version=2023-12-01-preview" 
    data = { 
        "messages": [ 
            { "role": "system", "content": "You are a helpful assistant." }, 
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ], 
        "max_tokens": 2000 
    }   
    
    # Make the API call   
    response = requests.post(endpoint, headers=headers, data=json.dumps(data))   
    
    print(f"Status Code: {response.status_code}")   
    print(response.text)
    
  2. Apportare le modifiche seguenti:

    1. Immettere l'URL e la chiave dell'endpoint nei campi appropriati.
    2. Immettere il nome della distribuzione di GPT-4 Turbo with Vision nel campo appropriato.
    3. Modificare il valore del campo "image" impostando l'URL dell'immagine.

      Suggerimento

      È anche possibile usare dati immagine codificati in base 64 anziché un URL. Per altre informazioni, vedere la Guida pratica per GPT-4 Turbo with Vision.

  3. Eseguire l'applicazione con il comando python:

    python quickstart.py
    

Pulire le risorse

Per pulire e rimuovere una risorsa OpenAI, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Usare questo articolo per iniziare a usare Azure OpenAI Python SDK per distribuire e usare il modello GPT-4 Turbo with Vision.

Codice sorgente della libreria | Pacchetto (PyPi) |

Prerequisiti

Impostazione

Installare la libreria client Python OpenAI con:

pip install openai

Nota

Questa libreria viene gestita da OpenAI. Fare riferimento alla cronologia delle versioni per tenere traccia degli aggiornamenti più recenti della libreria.

Recuperare la chiave e l'endpoint

Per effettuare correttamente una chiamata ad Azure OpenAI, sono necessari un endpoint e una chiave.

Nome variabile Valore
ENDPOINT L'endpoint di servizio è disponibile nella sezione Chiavi ed endpoint quando si esamina la risorsa dal portale di Azure. In alternativa, è possibile trovare l'endpoint tramite la pagina Distribuzioni in Azure AI Studio. Un endpoint di esempio è https://docs-test-001.openai.azure.com/.
API-KEY Questo valore è disponibile nella sezione Chiavi ed endpoint durante l'esame della risorsa dalla portale di Azure. Puoi usare entrambi KEY1 o KEY2.

Passare alla risorsa nel portale di Azure. La sezione Chiavi ed endpoint è disponibile nella sezione Gestione risorse. Copiare l'endpoint e la chiave di accesso in base alle esigenze per l'autenticazione delle chiamate API. Puoi usare entrambi KEY1 o KEY2. Disporre sempre di due chiavi consente di ruotare e rigenerare in modo sicuro le chiavi senza causare un'interruzione del servizio.

Screenshot di panoramica dell'interfaccia utente per una risorsa OpenAI di Azure nel portale di Azure con l'endpoint e la posizione delle chiavi di accesso evidenziati in rosso.

Variabili di ambiente

Creare e assegnare variabili di ambiente persistenti per la chiave e l'endpoint.

Importante

Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.

Per altre informazioni sulla sicurezza dei servizi IA, vedere Autenticare richieste in Servizi di Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Creare una nuova applicazione Python

Creare un nuovo file Python denominato quickstart.py. Aprire il nuovo file nell'editor preferito.

  1. Sostituire il contenuto di quickstart.py con il codice seguente.

    from openai import AzureOpenAI
    
    api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
    api_key= os.getenv("AZURE_OPENAI_API_KEY")
    deployment_name = '<your_deployment_name>'
    api_version = '2023-12-01-preview' # this might change in the future
    
    client = AzureOpenAI(
        api_key=api_key,  
        api_version=api_version,
        base_url=f"{api_base}/openai/deployments/{deployment_name}"
    )
    
    response = client.chat.completions.create(
        model=deployment_name,
        messages=[
            { "role": "system", "content": "You are a helpful assistant." },
            { "role": "user", "content": [  
                { 
                    "type": "text", 
                    "text": "Describe this picture:" 
                },
                { 
                    "type": "image_url",
                    "image_url": {
                        "url": "<image URL>"
                    }
                }
            ] } 
        ],
        max_tokens=2000 
    )
    
    print(response)
    
  2. Apportare le modifiche seguenti:

    1. Immettere il nome della distribuzione di GPT-4 Turbo with Vision nel campo appropriato.
    2. Modificare il valore del campo "url" impostando l'URL dell'immagine.

      Suggerimento

      È anche possibile usare dati immagine codificati in base 64 anziché un URL. Per altre informazioni, vedere la Guida pratica per GPT-4 Turbo with Vision.

  3. Eseguire l'applicazione con il comando python:

    python quickstart.py
    

Pulire le risorse

Per pulire e rimuovere una risorsa OpenAI, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Usare questo articolo per iniziare a usare OpenAI JavaScript SDK per distribuire e usare il modello GPT-4 Turbo con Visione.

Questo SDK è fornito da OpenAI con tipi specifici di Azure forniti da Azure.

Documentazione di riferimento | Codice sorgente della libreria | Pacchetto (npm) | Esempi

Prerequisiti


Nota

Questa libreria viene gestita da OpenAI. Fare riferimento alla cronologia delle versioni per tenere traccia degli aggiornamenti più recenti della libreria.

Recuperare la chiave e l'endpoint

Per effettuare correttamente una chiamata ad Azure OpenAI, sono necessari un endpoint e una chiave.

Nome variabile Valore
ENDPOINT L'endpoint di servizio è disponibile nella sezione Chiavi ed endpoint quando si esamina la risorsa dal portale di Azure. In alternativa, è possibile trovare l'endpoint tramite la pagina Distribuzioni in Azure AI Studio. Un endpoint di esempio è https://docs-test-001.openai.azure.com/.
API-KEY Questo valore è disponibile nella sezione Chiavi ed endpoint durante l'esame della risorsa dalla portale di Azure. Puoi usare entrambi KEY1 o KEY2.

Passare alla risorsa nel portale di Azure. La sezione Chiavi ed endpoint è disponibile nella sezione Gestione risorse. Copiare l'endpoint e la chiave di accesso in base alle esigenze per l'autenticazione delle chiamate API. Puoi usare entrambi KEY1 o KEY2. Disporre sempre di due chiavi consente di ruotare e rigenerare in modo sicuro le chiavi senza causare un'interruzione del servizio.

Screenshot di panoramica dell'interfaccia utente per una risorsa OpenAI di Azure nel portale di Azure con l'endpoint e la posizione delle chiavi di accesso evidenziati in rosso.

Variabili di ambiente

Creare e assegnare variabili di ambiente persistenti per la chiave e l'endpoint.

Importante

Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.

Per altre informazioni sulla sicurezza dei servizi IA, vedere Autenticare richieste in Servizi di Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Creare un'applicazione Node

In una finestra della console, ad esempio cmd, PowerShell o Bash, creare e passare a una nuova directory per l'app. Quindi, eseguire il comando npm init per creare un'applicazione node con un file package.json.

npm init

Installare la libreria client

Installare le librerie client con:

npm install openai @azure/identity

Il file package.json dell'app verrà aggiornato con le dipendenze.

Creare una nuova applicazione JavaScript per le richieste relative alle immagini

Selezionare un'immagine da azure-samples/cognitive-services-sample-data-files e impostare l'URL per un'immagine nelle variabili di ambiente.

  1. Sostituire i contenuti di quickstart.js con il codice seguente.

    const AzureOpenAI = require('openai').AzureOpenAI;
    const { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } = require('@azure/identity');
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages() {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion) {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. Apportare le modifiche seguenti:

    1. Immettere il nome della distribuzione di GPT-4 Turbo with Vision nel campo appropriato.
    2. Modificare il valore del campo "url" impostando l'URL dell'immagine.

      Suggerimento

      È anche possibile usare dati immagine codificati in base 64 anziché un URL. Per altre informazioni, vedere la Guida pratica per GPT-4 Turbo with Vision.

  3. Eseguire l'applicazione con il comando seguente:

    node quickstart.js
    

Pulire le risorse

Per pulire e rimuovere una risorsa OpenAI, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Usare questo articolo per iniziare a usare OpenAI JavaScript SDK per distribuire e usare il modello GPT-4 Turbo con Visione.

Questo SDK è fornito da OpenAI con tipi specifici di Azure forniti da Azure.

Documentazione di riferimento | Codice sorgente della libreria | Pacchetto (npm) | Esempi

Prerequisiti

Nota

Questa libreria viene gestita da OpenAI. Fare riferimento alla cronologia delle versioni per tenere traccia degli aggiornamenti più recenti della libreria.

Recuperare la chiave e l'endpoint

Per effettuare correttamente una chiamata ad Azure OpenAI, sono necessari un endpoint e una chiave.

Nome variabile Valore
ENDPOINT L'endpoint di servizio è disponibile nella sezione Chiavi ed endpoint quando si esamina la risorsa dal portale di Azure. In alternativa, è possibile trovare l'endpoint tramite la pagina Distribuzioni in Azure AI Studio. Un endpoint di esempio è https://docs-test-001.openai.azure.com/.
API-KEY Questo valore è disponibile nella sezione Chiavi ed endpoint durante l'esame della risorsa dalla portale di Azure. Puoi usare entrambi KEY1 o KEY2.

Passare alla risorsa nel portale di Azure. La sezione Chiavi ed endpoint è disponibile nella sezione Gestione risorse. Copiare l'endpoint e la chiave di accesso in base alle esigenze per l'autenticazione delle chiamate API. Puoi usare entrambi KEY1 o KEY2. Disporre sempre di due chiavi consente di ruotare e rigenerare in modo sicuro le chiavi senza causare un'interruzione del servizio.

Screenshot di panoramica dell'interfaccia utente per una risorsa OpenAI di Azure nel portale di Azure con l'endpoint e la posizione delle chiavi di accesso evidenziati in rosso.

Variabili di ambiente

Creare e assegnare variabili di ambiente persistenti per la chiave e l'endpoint.

Importante

Se si usa una chiave API, archiviarla in modo sicuro in un'altra posizione, ad esempio in Azure Key Vault. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente.

Per altre informazioni sulla sicurezza dei servizi IA, vedere Autenticare richieste in Servizi di Azure AI.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Creare un'applicazione Node

In una finestra della console, ad esempio cmd, PowerShell o Bash, creare e passare a una nuova directory per l'app. Quindi, eseguire il comando npm init per creare un'applicazione node con un file package.json.

npm init

Installare la libreria client

Installare le librerie client con:

npm install openai @azure/identity

Il file package.json dell'app verrà aggiornato con le dipendenze.

Creare una nuova applicazione JavaScript per le richieste relative alle immagini

Selezionare un'immagine da azure-samples/cognitive-services-sample-data-files e impostare l'URL per un'immagine nelle variabili di ambiente.

  1. Creare quickstart.ts e incollarla nel codice seguente.

    import { AzureOpenAI } from "openai";
    import { 
        DefaultAzureCredential, 
        getBearerTokenProvider 
    } from "@azure/identity";
    import type {
      ChatCompletion,
      ChatCompletionCreateParamsNonStreaming,
    } from "openai/resources/index";
    
    // You will need to set these environment variables or edit the following values
    const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
    const imageUrl = process.env["IMAGE_URL"] || "<image url>";
    
    // Required Azure OpenAI deployment name and API version
    const apiVersion = "2024-07-01-preview";
    const deploymentName = "gpt-4-with-turbo";
    
    // keyless authentication    
    const credential = new DefaultAzureCredential();
    const scope = "https://cognitiveservices.azure.com/.default";
    const azureADTokenProvider = getBearerTokenProvider(credential, scope);
    
    function getClient(): AzureOpenAI {
      return new AzureOpenAI({
        endpoint,
        azureADTokenProvider,
        apiVersion,
        deployment: deploymentName,
      });
    }
    function createMessages(): ChatCompletionCreateParamsNonStreaming {
      return {
        messages: [
          { role: "system", content: "You are a helpful assistant." },
          {
            role: "user",
            content: [
              {
                type: "text",
                text: "Describe this picture:",
              },
              {
                type: "image_url",
                image_url: {
                  url: imageUrl,
                },
              },
            ],
          },
        ],
        model: "",
        max_tokens: 2000,
      };
    }
    async function printChoices(completion: ChatCompletion): Promise<void> {
      for (const choice of completion.choices) {
        console.log(choice.message);
      }
    }
    export async function main() {
      console.log("== Get GPT-4 Turbo with vision Sample ==");
    
      const client = getClient();
      const messages = createMessages();
      const completion = await client.chat.completions.create(messages);
      await printChoices(completion);
    }
    
    main().catch((err) => {
      console.error("Error occurred:", err);
    });
    
  2. Apportare le modifiche seguenti:

    1. Immettere il nome della distribuzione di GPT-4 Turbo with Vision nel campo appropriato.
    2. Modificare il valore del campo "url" impostando l'URL dell'immagine.

      Suggerimento

      È anche possibile usare dati immagine codificati in base 64 anziché un URL. Per altre informazioni, vedere la Guida pratica per GPT-4 Turbo with Vision.

  3. Compilare l'applicazione con il comando seguente:

    tsc
    
  4. Eseguire l'applicazione con il comando seguente:

    node quickstart.js
    

Pulire le risorse

Per pulire e rimuovere una risorsa OpenAI, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Usare questo articolo per iniziare a usare Azure OpenAI .NET SDK per distribuire e usare il modello GPT-4 Turbo con Visione.

Prerequisiti

Impostazione

Recuperare la chiave e l'endpoint

Per effettuare correttamente una chiamata ad Azure OpenAI, sono necessari un endpoint e una chiave.

Nome variabile Valore
AZURE_OPENAI_ENDPOINT L'endpoint di servizio è disponibile nella sezione Chiavi ed endpoint quando si esamina la risorsa dal portale di Azure. In alternativa, è possibile trovare l'endpoint tramite la pagina Distribuzioni in Azure AI Studio. Un endpoint di esempio è https://docs-test-001.openai.azure.com/.
AZURE_OPENAI_API_KEY Questo valore è disponibile nella sezione Chiavi ed endpoint durante l'esame della risorsa dalla portale di Azure. Puoi usare entrambi KEY1 o KEY2.

Passare alla risorsa nel portale di Azure. L'Endpoint e le chiavi sono disponibili nella sezione Gestione risorse. Copiare l'endpoint e la chiave di accesso in base alle esigenze per l'autenticazione delle chiamate API. Puoi usare entrambi KEY1 o KEY2. Disporre sempre di due chiavi consente di ruotare e rigenerare in modo sicuro le chiavi senza causare un'interruzione del servizio.

Screenshot di panoramica dell'interfaccia utente per una risorsa di Azure OpenAI nel portale di Azure con l'endpoint e la posizione delle chiavi di accesso evidenziati in rosso.

Creare l'app .NET

  1. Creare un'app .NET usando il dotnet new comando :

    dotnet new console -n OpenAISpeech
    
  2. Passare alla directory della nuova app:

    cd OpenAISpeech
    

Installare la libreria client

Installare la Azure.OpenAI libreria client:

dotnet add package Azure.AI.OpenAI

L'autenticazione senza password è più sicura rispetto alle alternative basate su chiave ed è l'approccio consigliato per la connessione ai servizi di Azure. Se si sceglie di usare l'autenticazione senza password, è necessario completare le operazioni seguenti:

  1. Aggiungere il pacchetto Azure.Identity.

    dotnet add package Azure.Identity
    
  2. Assegnare il ruolo Cognitive Services User all'account utente. Questa operazione può essere eseguita nella portale di Azure nella risorsa OpenAI in Controllo di accesso (IAM)>Aggiungi assegnazione di ruolo.

  3. Accedere ad Azure usando Visual Studio o l'interfaccia della riga di comando di Azure tramite az login.

Aggiornare il codice dell'app

  1. Sostituire il contenuto di program.cs con il codice seguente e aggiornare i valori segnaposto con i propri.

    using Azure;
    using Azure.AI.OpenAI;
    using Azure.Identity;
    using OpenAI.Chat; // Required for Passwordless auth
    
    var endpoint = new Uri("YOUR_AZURE_OPENAI_ENDPOINT");
    var credentials = new AzureKeyCredential("YOUR_AZURE_OPENAI_KEY");
    // var credentials = new DefaultAzureCredential(); // Use this line for Passwordless auth
    var deploymentName = "gpt-4"; // Default name, update with your own if needed
    
    var openAIClient = new AzureOpenAIClient(endpoint, credentials);
    var chatClient = openAIClient.GetChatClient(deploymentName);
    
    var imageUri = "YOUR_IMAGE_URL";
    
    List<ChatMessage> messages = [
        new UserChatMessage(
            ChatMessageContentPart.CreateTextMessageContentPart("Please describe the following image:"),
            ChatMessageContentPart.CreateImageMessageContentPart(new Uri(imageUri), "image/png"))
    ];
    
    ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(messages);
    
    Console.WriteLine($"[ASSISTANT]:");
    Console.WriteLine($"{chatCompletion.Content[0].Text}");
    

    Importante

    Per la produzione, archiviare e accedere alle credenziali usando un modo sicuro, ad esempio Azure Key Vault. Per altre informazioni sulla sicurezza delle credenziali, vedere Sicurezza dei Servizi di Azure AI.

  2. Eseguire l'applicazione usando il dotnet run comando o il pulsante Esegui nella parte superiore di Visual Studio:

    dotnet run
    

L'app genera un file audio nel percorso specificato per la speechFilePath variabile. Riprodurre il file nel dispositivo per ascoltare l'audio generato.

Pulire le risorse

Per pulire e rimuovere una risorsa OpenAI, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate.

Passaggi successivi