Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Introduzione all'uso delle immagini nelle chat con Azure OpenAI nei modelli di Azure AI Foundry.
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 progetto 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 il progetto in cui si vuole 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 .
Parco giochi
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
. - Risorsa Azure OpenAI in Azure AI Foundry Models con un modello GPT-4 Turbo con capacità visiva implementata. 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 |
---|---|---|
Punto finale | 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
- Risorsa Azure OpenAI in Azure AI Foundry Models con un modello GPT-4 Turbo con capacità visiva implementata. 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 IA, vedere Autenticare richieste in 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.
Impostazione
Creare una nuova cartella
vision-quickstart
e passare alla cartella quickstart con il comando seguente:mkdir vision-quickstart && cd vision-quickstart
Creare il
package.json
con il seguente comando:npm init -y
Installare la libreria client OpenAI per JavaScript con:
npm install openai
Per l'autenticazione senza password consigliata:
npm install @azure/identity
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. È possibile modificare la versione nel codice o usare una variabile di ambiente. |
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 una nuova applicazione JavaScript per le richieste relative alle immagini
Seleziona un'immagine da azure-samples/cognitive-services-sample-data-files. Usare l'URL dell'immagine nel codice seguente o impostare la IMAGE_URL
variabile di ambiente sull'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.
Creare il
index.js
file 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 || "Your endpoint"; const imageUrl = process.env.IMAGE_URL || "<image url>"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "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); });
Accedere ad Azure con il comando seguente:
az login
Eseguire il file JavaScript.
node index.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.
Impostazione
Creare una nuova cartella
vision-quickstart
e passare alla cartella quickstart con il comando seguente:mkdir vision-quickstart && cd vision-quickstart
Creare il
package.json
con il seguente comando:npm init -y
Aggiornare
package.json
a ECMAScript con il comando seguente:npm pkg set type=module
Installare la libreria client OpenAI per JavaScript con:
npm install openai
Per l'autenticazione senza password consigliata:
npm install @azure/identity
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. È possibile modificare la versione nel codice o usare una variabile di ambiente. |
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 una nuova applicazione JavaScript per le richieste relative alle immagini
Seleziona un'immagine da azure-samples/cognitive-services-sample-data-files. Usare l'URL dell'immagine nel codice seguente o impostare la IMAGE_URL
variabile di ambiente sull'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.
Creare il
index.ts
file con il 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 || "Your endpoint"; const imageUrl = process.env["IMAGE_URL"] || "<image url>"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01-preview"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "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); });
Creare il file per eseguire la
tsconfig.json
transpile del codice TypeScript e copiare il codice seguente per ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }
Converti il codice da TypeScript a JavaScript.
tsc
Accedere ad Azure con il comando seguente:
az login
Eseguire il codice con il comando seguente:
node index.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
- Risorsa Azure OpenAI in Azure AI Foundry Models con un modello GPT-4 Turbo con capacità visiva implementata. 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.
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.
Impostazione
Creare una nuova cartella
vision-quickstart
e passare alla cartella quickstart con il comando seguente:mkdir vision-quickstart && cd vision-quickstart
Creare una nuova applicazione console con il comando seguente:
dotnet new console
Installare la libreria client OpenAI .NET con il comando dotnet add package:
dotnet add package Azure.AI.OpenAI
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, installare il pacchetto Azure.Identity con:
dotnet add package Azure.Identity
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, accedere ad Azure con il comando seguente:
az login
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. È possibile modificare la versione nel codice o usare una variabile di ambiente. |
Altre informazioni sull'autenticazione senza chiave e sull'impostazione delle variabili di ambiente.
Eseguire l'avvio rapido
Il codice di esempio in questa guida introduttiva usa l'ID Microsoft Entra per l'autenticazione senza chiave consigliata. Se si preferisce usare una chiave API, è possibile sostituire l'oggetto DefaultAzureCredential
con un AzureKeyCredential
oggetto .
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Per eseguire l'avvio rapido, seguire questa procedura:
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 string deploymentName = "gpt-4"; string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/"; string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>"; // Use the recommended keyless credential instead of the AzureKeyCredential credential. AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key)); var chatClient = openAIClient.GetChatClient(deploymentName); var imageUrl = "YOUR_IMAGE_URL"; var chatMessages = new List<ChatMessage> { new SystemChatMessage("You are a helpful assistant."), new UserChatMessage($"Describe this picture: {imageUrl}") }; ChatCompletion chatCompletion = await chatClient.CompleteChatAsync(chatMessages); Console.WriteLine($"[ASSISTANT]:"); Console.WriteLine($"{chatCompletion.Content[0].Text}");
Eseguire l'applicazione usando il
dotnet run
comando o il pulsante Esegui nella parte superiore di Visual Studio:dotnet run
Risultato
L'output dell'applicazione sarà una descrizione dell'immagine fornita nella imageUri
variabile. L'assistente analizzerà l'immagine e fornirà una descrizione dettagliata in base al relativo contenuto.
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.
Contenuti correlati
- 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