Avvio rapido: 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 modelli sono disponibili in anteprima pubblica. Il modello disponibile a livello generale più recente è gpt-4
la versione turbo-2024-04-09
.
Importante
È possibile applicare costi di utilizzo aggiuntivi quando si usano modelli di completamento della chat con funzionalità di visione.
Usare questo articolo per iniziare a usare Azure AI Foundry per distribuire e testare un modello di completamento della chat con informazioni sulle immagini.
Prerequisiti
- Una sottoscrizione di Azure. Crearne una gratuitamente.
- Dopo aver creato la sottoscrizione di Azure, creare una risorsa del Servizio OpenAI di Azure . Per altre informazioni sulla creazione di risorse, vedere la guida alla distribuzione delle risorse.
- Un hub di Azure AI Foundry con la risorsa OpenAI di Azure aggiunta come connessione.
Preparare i file multimediali
Per completare questa guida introduttiva, è necessaria un'immagine. È possibile usare l'immagine di esempio o qualsiasi altra immagine disponibile.
Passare a Azure AI Foundry
- Passare ad Azure AI Foundry e accedere con le credenziali associate alla risorsa 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.
- Selezionare l'hub in cui si desidera lavorare.
- Nel menu di spostamento a sinistra selezionare Modelli e endpoint e selezionare + Distribuisci modello.
- Scegliere una distribuzione con supporto per le immagini selezionando il nome del modello: gpt-4o o gpt-4o-mini. Nella finestra visualizzata selezionare un nome e un tipo di distribuzione. Assicurarsi che la risorsa OpenAI di Azure sia connessa. Per altre informazioni sulla distribuzione del modello, vedere la guida alla distribuzione delle risorse.
- Seleziona Distribuisci.
- Selezionare quindi il nuovo modello e selezionare Apri nel playground. Nel playground della chat, la distribuzione creata deve essere selezionata nell'elenco a discesa Distribuzione .
Playground
In questa sessione di chat si indica all'assistente di comprendere le immagini immesse.
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 le immagini
In questa sessione di chat si indica all'assistente di contribuire alla comprensione delle immagini immesse.
Per iniziare, assicurarsi che la distribuzione con supporto per le immagini sia selezionata nell'elenco a discesa Distribuzione .
Nella casella di testo del contesto del pannello Imposta specificare questa richiesta per guidare l'assistente:
"You're an AI assistant that helps people find information."
in alternativa, è possibile personalizzare la richiesta per l'immagine o lo scenario.Nota
È consigliabile aggiornare il messaggio di sistema in modo che sia specifico dell'attività per evitare risposte inutili dal modello.
Selezionare Applica modifiche per salvare le modifiche.
Nel riquadro della sessione della chat, selezionare il pulsante dell’allegato, quindi Carica immagine. Scegliere l'immagine.
Aggiungere il prompt seguente nel campo della chat:
Describe this image
e quindi selezionare l'icona di invio per inviarla.L'icona di invio viene sostituita da un pulsante di arresto. Selezionando il pulsante, l'assistente interrompe l'elaborazione della richiesta. Per questa guida introduttiva, lasciare che l'assistente finisca la risposta.
L'assistente deve rispondere con una descrizione dell'immagine.
Porre una domanda di completamento correlata all'analisi dell'immagine. È possibile immettere
"What should I highlight about this image to my insurance company?"
.Si dovrebbe ricevere una risposta pertinente simile a quanto illustrato di seguito:
When reporting the incident to your insurance company, you should highlight the following key points from the image: 1. **Location of Damage**: Clearly state that the front end of the car, particularly the driver's side, is damaged. Mention the crumpled hood, broken front bumper, and the damaged left headlight. 2. **Point of Impact**: Indicate that the car has collided with a guardrail, which may suggest that no other vehicles were involved in the accident. 3. **Condition of the Car**: Note that the damage seems to be concentrated on the front end, and there is no visible damage to the windshield or rear of the car from this perspective. 4. **License Plate Visibility**: Mention that the license plate is intact and can be used for identification purposes. 5. **Environment**: Report that the accident occurred near a roadside with a guardrail, possibly in a rural or semi-rural area, which might help in establishing the accident location and context. 6. **Other Observations**: If there were any other circumstances or details not visible in the image that may have contributed to the accident, such as weather conditions, road conditions, or any other relevant information, be sure to include those as well. Remember to be factual and descriptive, avoiding speculation about the cause of the accident, as the insurance company will conduct its own investigation.
Visualizzare ed esportare codice
In qualsiasi punto della sessione di chat, è possibile abilitare l'opzione Mostra JSON non elaborato nella parte superiore della finestra chat per visualizzare la conversazione formattata come JSON. Ecco come appare all'inizio della sessione di chat di avvio rapido:
[
{
"role": "system",
"content": [
"You are an AI assistant that helps people find information."
]
},
]
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
- Una sottoscrizione di Azure. Crearne una gratuitamente.
- Python 3.8 o versioni successive.
- Le librerie Python seguenti:
requests
,json
. - Una risorsa del Servizio OpenAI di Azure con un modello GPT-4 Turbo with Vision distribuita. Per le aree disponibili, vedere Disponibilità del modello GPT-4 e GPT-4 Turbo Preview. Per altre informazioni sulla creazione di risorse, vedere la guida alla distribuzione delle risorse.
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 nel portale di Azure AI Foundry. 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.
Creare una nuova applicazione Python
Creare un nuovo file Python denominato quickstart.py. Aprire il nuovo file nell'editor preferito.
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)
Apportare le modifiche seguenti:
- Immettere l'URL e la chiave dell'endpoint nei campi appropriati.
- Immettere il nome della distribuzione di GPT-4 Turbo with Vision nel campo appropriato.
- 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.
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
- Una sottoscrizione di Azure. Crearne una gratuitamente.
- Python 3.8 o versioni successive.
- Le librerie Python seguenti:
os
- Una risorsa del Servizio OpenAI di Azure con un modello GPT-4 Turbo with Vision distribuita. Per le aree disponibili, vedere Disponibilità del modello GPT-4 e GPT-4 Turbo Preview. Per altre informazioni sulla creazione di risorse, vedere la guida alla distribuzione delle risorse.
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 nel portale di Azure AI Foundry. 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.
Variabili di ambiente
Creare e assegnare variabili di ambiente persistenti per la chiave e l'endpoint.
Importante
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso ad Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere Chiavi API con Azure Key Vault.
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.
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)
Apportare le modifiche seguenti:
- Immettere il nome della distribuzione di GPT-4 Turbo with Vision nel campo appropriato.
- 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.
Eseguire l'applicazione con il comando
python
:python quickstart.py
Importante
Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente. Se si usa una chiave API, archiviarla in modo sicuro in Azure Key Vault. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere Chiavi API con Azure Key Vault.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
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
- Una sottoscrizione di Azure: creare un account gratuitamente
- Versioni LTS di Node.js
- Interfaccia della riga di comando di Azure usata per l'autenticazione senza password in un ambiente di sviluppo locale, creare il contesto necessario eseguendo l'accesso tramite l'interfaccia della riga di comando di Azure.
- Una risorsa OpenAI di Azure creata in un'area supportata (vedere Disponibilità dell'area). Per altre informazioni, vedere Creare una risorsa e distribuire un modello con Azure OpenAI.
Nota
Questa libreria viene gestita da OpenAI. Fare riferimento alla cronologia delle versioni per tenere traccia degli aggiornamenti più recenti della libreria.
Prerequisiti di Microsoft Entra ID
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, è necessario:
- Installare l'interfaccia della riga di comando di Azure usata per l'autenticazione senza chiave con Microsoft Entra ID.
- Assegnare il ruolo
Cognitive Services User
all'account utente. È possibile assegnare ruoli nella portale di Azure in Controllo di accesso (IAM)>Aggiungere un'assegnazione di ruolo.
Recuperare le informazioni sulle risorse
È necessario recuperare le informazioni seguenti per autenticare l'applicazione con la risorsa OpenAI di Azure:
Nome variabile | Valore |
---|---|
AZURE_OPENAI_ENDPOINT |
Questo valore è disponibile nella sezione Chiavi ed endpoint quando si esamina la risorsa dal portale di Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Questo valore corrisponderà al nome personalizzato scelto per la distribuzione quando è stato distribuito un modello. Questo valore è disponibile in Distribuzioni di modelli di gestione>risorse nella portale di Azure. |
OPENAI_API_VERSION |
Altre informazioni sulle versioni api. |
Altre informazioni sull'autenticazione senza chiave e sull'impostazione delle variabili di ambiente.
Attenzione
Per usare l'autenticazione senza chiave consigliata con l'SDK, assicurarsi che la AZURE_OPENAI_API_KEY
variabile di ambiente non sia impostata.
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.
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); });
Apportare le modifiche seguenti:
- Immettere il nome della distribuzione di GPT-4 Turbo with Vision nel campo appropriato.
- 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.
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
- Una sottoscrizione di Azure: creare un account gratuitamente
- Versioni LTS di Node.js
- TypeScript
- Interfaccia della riga di comando di Azure usata per l'autenticazione senza password in un ambiente di sviluppo locale, creare il contesto necessario eseguendo l'accesso tramite l'interfaccia della riga di comando di Azure.
- Una risorsa OpenAI di Azure creata in un'area supportata (vedere Disponibilità dell'area). Per altre informazioni, vedere Creare una risorsa e distribuire un modello con Azure OpenAI.
Nota
Questa libreria viene gestita da OpenAI. Fare riferimento alla cronologia delle versioni per tenere traccia degli aggiornamenti più recenti della libreria.
Prerequisiti di Microsoft Entra ID
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, è necessario:
- Installare l'interfaccia della riga di comando di Azure usata per l'autenticazione senza chiave con Microsoft Entra ID.
- Assegnare il ruolo
Cognitive Services User
all'account utente. È possibile assegnare ruoli nella portale di Azure in Controllo di accesso (IAM)>Aggiungere un'assegnazione di ruolo.
Recuperare le informazioni sulle risorse
È necessario recuperare le informazioni seguenti per autenticare l'applicazione con la risorsa OpenAI di Azure:
Nome variabile | Valore |
---|---|
AZURE_OPENAI_ENDPOINT |
Questo valore è disponibile nella sezione Chiavi ed endpoint quando si esamina la risorsa dal portale di Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Questo valore corrisponderà al nome personalizzato scelto per la distribuzione quando è stato distribuito un modello. Questo valore è disponibile in Distribuzioni di modelli di gestione>risorse nella portale di Azure. |
OPENAI_API_VERSION |
Altre informazioni sulle versioni api. |
Altre informazioni sull'autenticazione senza chiave e sull'impostazione delle variabili di ambiente.
Attenzione
Per usare l'autenticazione senza chiave consigliata con l'SDK, assicurarsi che la AZURE_OPENAI_API_KEY
variabile di ambiente non sia impostata.
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.
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); });
Apportare le modifiche seguenti:
- Immettere il nome della distribuzione di GPT-4 Turbo with Vision nel campo appropriato.
- 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.
Compilare l'applicazione con il comando seguente:
tsc
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
- Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
- The .NET 8.0 SDK
- Una risorsa del Servizio OpenAI di Azure con un modello GPT-4 Turbo with Vision distribuita. Per le aree disponibili, vedere Disponibilità del modello GPT-4 e GPT-4 Turbo Preview. Per altre informazioni sulla creazione di risorse, vedere la guida alla distribuzione delle risorse.
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 nel portale di Azure AI Foundry. 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.
Creare l'app .NET
Creare un'app .NET usando il
dotnet new
comando :dotnet new console -n OpenAISpeech
Passare alla directory della nuova app:
cd OpenAISpeech
Installare la libreria client
Installare la Azure.OpenAI
libreria client:
dotnet add package Azure.AI.OpenAI
È consigliabile eseguire l'autenticazione senza password
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:
Aggiungere il pacchetto
Azure.Identity
.dotnet add package Azure.Identity
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.Accedere ad Azure usando Visual Studio o l'interfaccia della riga di comando di Azure tramite
az login
.
Aggiornare il codice dell'app
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
Si consiglia l'autenticazione di Microsoft Entra ID insieme alle identità gestite per le risorse di Azure al fine di evitare di archiviare le credenziali con le applicazioni eseguite nel cloud.
Usare le chiavi API con cautela. Non includere la chiave API direttamente nel codice e non esporla mai pubblicamente. Se si usano chiavi API, archiviarli in modo sicuro in Azure Key Vault, ruotare regolarmente le chiavi e limitare l'accesso ad Azure Key Vault usando il controllo degli accessi in base al ruolo e le restrizioni di accesso alla rete. Per altre informazioni sull'uso sicuro delle chiavi API nelle app, vedere Chiavi API con Azure Key Vault.
Per altre informazioni sulla sicurezza dei servizi di intelligenza artificiale, vedere Autenticare le richieste a Servizi di Azure AI.
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
- Introduzione alle app di chat per la visione personalizzata con il modello di app per intelligenza artificiale OpenAI di Azure
- Altre informazioni su queste API sono disponibili nella guida pratica per i modelli abilitati per la visione artificiale
- Domande frequenti su GPT-4 Turbo con Visione
- Riferimento API di GPT-4 Turbo con Visione