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.
Usare questa guida per iniziare a chiamare Azure OpenAI nelle API REST di generazione di immagini dei modelli Di Microsoft Foundry usando Python.
Prerequisiti
- Una sottoscrizione di Azure. Creane uno gratis.
- Python 3.8 o versione successiva.
- Le librerie Python seguenti installate:
os,requests,json. - Una risorsa OpenAI di Azure creata in un'area supportata. Vedere Disponibilità a livello di area.
- È quindi necessario distribuire un modello della serie
gpt-image-1o un modellodalle3con la risorsa di Azure. Per altre informazioni, vedere Creare una risorsa e distribuire un modello con Azure OpenAI.
Configurazione
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 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. |
Vai alla tua 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. 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.
Utilizzare 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 ai servizi di intelligenza artificiale di Azure.
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 o nell'IDE preferito.
Sostituire il contenuto di quickstart.py con il codice seguente. Sostituire il valore di
promptcon il testo che si preferisce. Impostare anchedeploymentsul nome di distribuzione scelto quando avete distribuito il modello GPT-image-1.import os import requests import base64 from PIL import Image from io import BytesIO # set environment variables endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") subscription_key = os.getenv("AZURE_OPENAI_API_KEY") deployment = "gpt-image-1" # the name of your GPT-image-1 deployment api_version = "2025-04-01-preview" # or later version def decode_and_save_image(b64_data, output_filename): image = Image.open(BytesIO(base64.b64decode(b64_data))) image.show() image.save(output_filename) def save_all_images_from_response(response_data, filename_prefix): for idx, item in enumerate(response_data['data']): b64_img = item['b64_json'] filename = f"{filename_prefix}_{idx+1}.png" decode_and_save_image(b64_img, filename) print(f"Image saved to: '{filename}'") base_path = f'openai/deployments/{deployment}/images' params = f'?api-version={api_version}' generation_url = f"{endpoint}{base_path}/generations{params}" generation_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium", "output_format": "png" } generation_response = requests.post( generation_url, headers={ 'Api-Key': subscription_key, 'Content-Type': 'application/json', }, json=generation_body ).json() save_all_images_from_response(generation_response, "generated_image") # In addition to generating images, you can edit them. edit_url = f"{endpoint}{base_path}/edits{params}" edit_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium" } files = { "image": ("generated_image_1.png", open("generated_image_1.png", "rb"), "image/png"), # You can use a mask to specify which parts of the image you want to edit. # The mask must be the same size as the input image. # "mask": ("mask.png", open("mask.png", "rb"), "image/png"), } edit_response = requests.post( edit_url, headers={'Api-Key': subscription_key}, data=edit_body, files=files ).json() save_all_images_from_response(edit_response, "edited_image")Lo script esegue una chiamata API di generazione di immagini sincrona.
Importante
Al termine, ricordarsi di rimuovere la chiave dal codice e di non renderlo mai pubblico. Per la produzione, è consigliabile usare un modo sicuro per archiviare e accedere alle credenziali. Per altre informazioni, vedere Azure Key Vault.
Eseguire l'applicazione con il comando
python:python quickstart.pyAttendere qualche istante per ottenere la risposta.
Risultato
L'output di una chiamata API di generazione di immagini ha un aspetto simile all'esempio seguente. Il campo url contiene un URL in cui è possibile scaricare l'immagine generata. L'URL rimane attivo per 24 ore.
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
Le API Image sono dotate di un filtro di moderazione del contenuto. Se il servizio riconosce la richiesta come contenuto dannoso, non genera un'immagine. Per altre informazioni, vedere Filtro del contenuto. Per esempi di risposte agli errori, vedere la guida pratica relativa alla generazione di immagini.
Il sistema restituirà lo stato dell'operazione di Failed e il valore error.code nel messaggio viene impostato su contentFilter. Ecco un esempio:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
È anche possibile che l'immagine generata sia filtrata. In questo caso, il messaggio di errore è impostato su Generated image was filtered as a result of our safety system.. Ecco un esempio:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
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 elimina anche tutte le altre risorse associate.
Passaggi successivi
- Esplorare le API immagine in modo più approfondito con la guida pratica all'API Immagine.
- Provare altri esempi nel repository GitHub degli esempi di OpenAI di Azure.
- Vedere il riferimento API
Usare questa guida per iniziare a generare immagini con SDK di Azure OpenAI per Python.
Codice sorgente della libreria | Pacchetto | Esempi
Prerequisiti
- Una sottoscrizione di Azure. Creane uno gratis.
- Python 3.8 o versione successiva.
- Una risorsa OpenAI di Azure creata in un'area compatibile. Vedere Disponibilità a livello di area.
- È quindi necessario distribuire un modello
dalle3con la risorsa di Azure. Per altre informazioni, vedere Creare una risorsa e distribuire un modello con Azure OpenAI.
Configurazione
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 Microsoft 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. |
Vai alla tua 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. 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.
Utilizzare 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 ai servizi di intelligenza artificiale di Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Installare Python SDK
Aprire un prompt dei comandi e passare alla cartella del progetto. Installare OpenAI Python SDK usando il comando seguente:
pip install openai
Installare anche le librerie seguenti:
pip install requests
pip install pillow
Generare immagini con DALL-E
Creare un nuovo file Python quickstart.py. Aprirlo nell'editor o nell'IDE preferito.
Sostituire il contenuto di quickstart.py con il codice seguente.
from openai import AzureOpenAI
import os
import requests
from PIL import Image
import json
client = AzureOpenAI(
api_version="2024-02-01",
api_key=os.environ["AZURE_OPENAI_API_KEY"],
azure_endpoint=os.environ['AZURE_OPENAI_ENDPOINT']
)
result = client.images.generate(
model="dalle3", # the name of your DALL-E 3 deployment
prompt="a close-up of a bear walking throughthe forest",
n=1
)
json_response = json.loads(result.model_dump_json())
# Set the directory for the stored image
image_dir = os.path.join(os.curdir, 'images')
# If the directory doesn't exist, create it
if not os.path.isdir(image_dir):
os.mkdir(image_dir)
# Initialize the image path (note the filetype should be png)
image_path = os.path.join(image_dir, 'generated_image.png')
# Retrieve the generated image
image_url = json_response["data"][0]["url"] # extract image URL from response
generated_image = requests.get(image_url).content # download the image
with open(image_path, "wb") as image_file:
image_file.write(generated_image)
# Display the image in the default image viewer
image = Image.open(image_path)
image.show()
- Immettere l'URL e la chiave dell'endpoint nei campi appropriati.
- Sostituire il valore di
promptcon il testo che si preferisce. - Modificare il valore di
modelcon il nome del modello DALL-E 3 distribuito.
Importante
Al termine, ricordarsi di rimuovere la chiave dal codice e di non renderlo mai pubblico. Per la produzione, è consigliabile usare un modo sicuro per archiviare e accedere alle credenziali. Per altre informazioni, vedere Azure Key Vault.
Eseguire l'applicazione con il comando python:
python quickstart.py
Attendere qualche istante per ottenere la risposta.
Risultato
Azure OpenAI archivia l'immagine di output nel file generated_image.png nella directory specificata. Lo script visualizza anche l'immagine nel visualizzatore di immagini predefinito.
Le API Image sono dotate di un filtro di moderazione del contenuto. Se il servizio riconosce la richiesta come contenuto dannoso, non genera un'immagine. Per altre informazioni, vedere Filtro del 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 elimina anche tutte le altre risorse associate.
Passaggi successivi
- Esplorare le API immagine in modo più approfondito con la guida pratica all'API Immagine.
- Provare altri esempi nel repository GitHub degli esempi di OpenAI di Azure.
- Vedere il riferimento API
Usare questa guida per iniziare a generare immagini con SDK di Azure OpenAI per C#.
Codice sorgente della libreria | Pacchetto (NuGet) | Esempi
Prerequisiti
- Un abbonamento di Azure - Crea uno gratuitamente
- L’SDK .NET 7
- 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.
Prerequisiti di Microsoft Entra ID
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, è necessario:
- Installare l'Azure CLI utilizzata per l'autenticazione senza password con Microsoft Entra ID.
- Assegna il ruolo
Cognitive Services Useral tuo account utente. È possibile assegnare ruoli nel portale di Azure in Controllo di accesso (IAM)>Aggiungere un'assegnazione di ruolo.
Configurazione
Creare una nuova cartella
vision-quickstarte passare alla cartella quickstart con il comando seguente:mkdir vision-quickstart && cd vision-quickstartCreare una nuova applicazione console con il comando seguente:
dotnet new consoleInstallare la libreria client OpenAI .NET con il comando dotnet add package:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, installare il pacchetto Azure.Identity con:
dotnet add package Azure.IdentityPer 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 sotto Gestione delle risorse>Distribuzioni di modelli nel portale di Azure. |
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.cscon il codice seguente e aggiornare i valori segnaposto con i propri.using Azure; using Azure.AI.OpenAI; using OpenAI.Images; using static System.Environment; 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)); // This must match the custom deployment name you chose for your model ImageClient chatClient = openAIClient.GetImageClient("dalle-3"); var imageGeneration = await chatClient.GenerateImageAsync( "a happy monkey sitting in a tree, in watercolor", new ImageGenerationOptions() { Size = GeneratedImageSize.W1024xH1024 } ); Console.WriteLine(imageGeneration.Value.ImageUri);Eseguire l'applicazione usando il
dotnet runcomando o il pulsante Esegui nella parte superiore di Visual Studio:dotnet run
Risultato
L'URL dell'immagine generata viene stampato nella console.
<SAS URL>
Annotazioni
Le API Image sono dotate di un filtro di moderazione del contenuto. Se il servizio riconosce la richiesta come contenuto dannoso, non restituirà un'immagine generata. Per ulteriori informazioni, vedere l'articolo sul filtraggio del contenuto.
Pulire le risorse
Se si vuole ripulire e rimuovere una risorsa OpenAI di Azure, è possibile eliminare la risorsa. Prima di eliminare la risorsa, è necessario eliminare i modelli distribuiti.
Passaggi successivi
- Esplorare le API immagine in modo più approfondito con la guida pratica all'API Immagine.
- Per altri esempi, vedere il repository GitHub degli esempi di OpenAI di Azure.
Usare questa guida per iniziare a generare immagini con SDK di Azure OpenAI per Java.
Codice sorgente libreria | Artefatto (Maven) | Esempi
Prerequisiti
- Un abbonamento di Azure - Crea uno gratuitamente
- La versione più recente di Java Development Kit (JDK)
- Installare Apache Maven.
- 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.
Prerequisiti di Microsoft Entra ID
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, è necessario:
- Installare l'Azure CLI utilizzata per l'autenticazione senza password con Microsoft Entra ID.
- Assegna il ruolo
Cognitive Services Useral tuo account utente. È possibile assegnare ruoli nel portale di Azure in Controllo di accesso (IAM)>Aggiungere un'assegnazione di ruolo.
Configurazione
Creare una nuova cartella
vision-quickstarte passare alla cartella quickstart con il comando seguente:mkdir vision-quickstart && cd vision-quickstartInstallare Apache Maven. Quindi eseguire
mvn -vper confermare l'installazione corretta.Creare un nuovo file
pom.xmlnella radice del progetto copiando il codice seguente:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.azure.samples</groupId> <artifactId>quickstart-dall-e</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-ai-openai</artifactId> <version>1.0.0-beta.3</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-core</artifactId> <version>1.53.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.15.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.9</version> </dependency> </dependencies> </project>Installare Azure OpenAI SDK e le dipendenze.
mvn clean dependency:copy-dependenciesPer 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 sotto Gestione delle risorse>Distribuzioni di modelli nel portale di Azure. |
Altre informazioni sull'autenticazione senza chiave e sull'impostazione delle variabili di ambiente.
Eseguire l'app
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 .
OpenAIAsyncClient client = new OpenAIClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Seguire questi passaggi per creare un'applicazione console per il riconoscimento vocale.
Creare un nuovo file denominato Quickstart.java nella stessa directory radice del progetto.
Copiare il codice seguente in Quickstart.java:
import com.azure.ai.openai.OpenAIAsyncClient; import com.azure.ai.openai.OpenAIClientBuilder; import com.azure.ai.openai.models.ImageGenerationOptions; import com.azure.ai.openai.models.ImageLocation; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.models.ResponseError; import java.util.concurrent.TimeUnit; public class Quickstart { public static void main(String[] args) throws InterruptedException { String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT"); // Use the recommended keyless credential instead of the AzureKeyCredential credential. OpenAIAsyncClient client = new OpenAIClientBuilder() .endpoint(endpoint) .credential(new DefaultAzureCredentialBuilder().build()) .buildAsyncClient(); ImageGenerationOptions imageGenerationOptions = new ImageGenerationOptions( "A drawing of the Seattle skyline in the style of Van Gogh"); client.getImages(imageGenerationOptions).subscribe( images -> { for (ImageLocation imageLocation : images.getData()) { ResponseError error = imageLocation.getError(); if (error != null) { System.out.printf("Image generation operation failed. Error code: %s, error message: %s.%n", error.getCode(), error.getMessage()); } else { System.out.printf( "Image location URL that provides temporary access to download the generated image is %s.%n", imageLocation.getUrl()); } } }, error -> System.err.println("There was an error getting images." + error), () -> System.out.println("Completed getImages.")); // The .subscribe() creation and assignment isn't a blocking call. // The thread sleeps so the program does not end before the send operation is complete. // Use .block() instead of .subscribe() for a synchronous call. TimeUnit.SECONDS.sleep(10); } }Eseguire la nuova applicazione console per generare un'immagine:
javac Quickstart.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" Quickstart
Risultato
L'URL dell'immagine generata viene stampato nella console.
Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.
Annotazioni
Le API Image sono dotate di un filtro di moderazione del contenuto. Se il servizio riconosce la richiesta come contenuto dannoso, non restituirà un'immagine generata. Per ulteriori informazioni, vedere l'articolo sul filtraggio del contenuto.
Pulire le risorse
Se si vuole ripulire e rimuovere una risorsa OpenAI di Azure, è possibile eliminare la risorsa. Prima di eliminare la risorsa, è necessario eliminare i modelli distribuiti.
Passaggi successivi
- Esplorare le API immagine in modo più approfondito con la guida pratica all'API Immagine.
- Per altri esempi, vedere il repository GitHub degli esempi di OpenAI di Azure
Usare questa guida per iniziare a generare immagini con SDK di Azure OpenAI per JavaScript.
Documentazione di riferimento | Codice sorgente | Pacchetto (npm) | Campioni
Prerequisiti
- Un abbonamento di Azure - Crea uno 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.
Prerequisiti di Microsoft Entra ID
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, è necessario:
- Installare l'Azure CLI utilizzata per l'autenticazione senza password con Microsoft Entra ID.
- Assegna il ruolo
Cognitive Services Useral tuo account utente. È possibile assegnare ruoli nel portale di Azure in Controllo di accesso (IAM)>Aggiungere un'assegnazione di ruolo.
Configurazione
Creare una nuova cartella
image-quickstarte passare alla cartella quickstart con il comando seguente:mkdir image-quickstart && cd image-quickstartCreare il
package.jsoncon il seguente comando:npm init -yInstallare la libreria client OpenAI per JavaScript con:
npm install openaiPer 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 sotto Gestione delle risorse>Distribuzioni di modelli nel portale di Azure. |
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.
Generare immagini con DALL-E
Creare il
index.jsfile con il codice seguente:const { AzureOpenAI } = require("openai"); 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"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3"; // The prompt to generate images from const prompt = "a monkey eating a banana"; const numberOfImagesToGenerate = 1; // 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, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", style: "vivid", // or "natural" }); for (const image of results.data) { console.log(`Image generation result URL: ${image.url}`); } } main().catch((err) => { console.error("The sample encountered an error:", err); });Accedere ad Azure con il comando seguente:
az loginEseguire il file JavaScript.
node index.js
Risultato
L'URL dell'immagine generata viene stampato nella console.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Annotazioni
Le API Image sono dotate di un filtro di moderazione del contenuto. Se il servizio riconosce la richiesta come contenuto dannoso, non restituirà un'immagine generata. Per ulteriori informazioni, vedere l'articolo sul filtraggio del contenuto.
Pulire le risorse
Se si vuole ripulire e rimuovere una risorsa OpenAI di Azure, è possibile eliminare la risorsa. Prima di eliminare la risorsa, è necessario eliminare i modelli distribuiti.
Passaggi successivi
- Esplorare le API immagine in modo più approfondito con la guida pratica all'API Immagine.
- Per altri esempi, vedere il repository GitHub degli esempi di OpenAI di Azure.
Usare questa guida per iniziare a generare immagini con SDK di Azure OpenAI per JavaScript.
Documentazione di riferimento | Codice sorgente | Pacchetto (npm) | Campioni
Prerequisiti
- Un abbonamento di Azure - Crea uno 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.
Prerequisiti di Microsoft Entra ID
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, è necessario:
- Installare l'Azure CLI utilizzata per l'autenticazione senza password con Microsoft Entra ID.
- Assegna il ruolo
Cognitive Services Useral tuo account utente. È possibile assegnare ruoli nel portale di Azure in Controllo di accesso (IAM)>Aggiungere un'assegnazione di ruolo.
Configurazione
Creare una nuova cartella
image-quickstarte passare alla cartella quickstart con il comando seguente:mkdir image-quickstart && cd image-quickstartCreare il
package.jsoncon il seguente comando:npm init -yAggiornare
package.jsona ECMAScript con il comando seguente:npm pkg set type=moduleInstallare la libreria client OpenAI per JavaScript con:
npm install openaiPer 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 sotto Gestione delle risorse>Distribuzioni di modelli nel portale di Azure. |
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.
Generare immagini con DALL-E
Creare il
index.tsfile con il codice seguente:import { AzureOpenAI } from "openai"; import { DefaultAzureCredential, getBearerTokenProvider } from "@azure/identity"; // You will need to set these environment variables or edit the following values const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3"; // 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, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", style: "vivid", // or "natural" }); for (const image of results.data) { console.log(`Image generation result URL: ${image.url}`); } } main().catch((err) => { console.error("The sample encountered an error:", err); });Creare il file per eseguire la
tsconfig.jsontranspile 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.
tscAccedere ad Azure con il comando seguente:
az loginEseguire il codice con il comando seguente:
node index.js
Risultato
L'URL dell'immagine generata viene stampato nella console.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Annotazioni
Le API Image sono dotate di un filtro di moderazione del contenuto. Se il servizio riconosce la richiesta come contenuto dannoso, non restituirà un'immagine generata. Per ulteriori informazioni, vedere l'articolo sul filtraggio del contenuto.
Pulire le risorse
Se si vuole ripulire e rimuovere una risorsa OpenAI di Azure, è possibile eliminare la risorsa. Prima di eliminare la risorsa, è necessario eliminare i modelli distribuiti.
Passaggi successivi
- Esplorare le API immagine in modo più approfondito con la guida pratica all'API Immagine.
- Per altri esempi, vedere il repository GitHub degli esempi di OpenAI di Azure.
Usare questa guida per iniziare a generare immagini con SDK di Azure OpenAI per Go.
Codice sorgente della libreria | Pacchetto | Esempi
Prerequisiti
- Un abbonamento di Azure - Crea uno gratuitamente
- Go 1.8+
- 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.
Prerequisiti di Microsoft Entra ID
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, è necessario:
- Installare l'Azure CLI utilizzata per l'autenticazione senza password con Microsoft Entra ID.
- Assegna il ruolo
Cognitive Services Useral tuo account utente. È possibile assegnare ruoli nel portale di Azure in Controllo di accesso (IAM)>Aggiungere un'assegnazione di ruolo.
Configurazione
Creare una nuova cartella
dall-e-quickstarte passare alla cartella quickstart con il comando seguente:mkdir dall-e-quickstart && cd dall-e-quickstartPer 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 sotto Gestione delle risorse>Distribuzioni di modelli nel portale di Azure. |
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'implementazione NewDefaultAzureCredential con NewKeyCredential.
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)
Per eseguire l'esempio:
Creare un nuovo file denominato quickstart.go. Copiare il codice seguente nel file quickstart.go .
package main import ( "context" "fmt" "net/http" "os" "log" "github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" ) func main() { azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT") modelDeploymentID := "dall-e-3" credential, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Printf("ERROR: %s", err) return } client, err := azopenai.NewClient( azureOpenAIEndpoint, credential, nil) if err != nil { log.Printf("ERROR: %s", err) return } resp, err := client.GetImageGenerations(context.TODO(), azopenai.ImageGenerationOptions{ Prompt: to.Ptr("A painting of a cat in the style of Dali."), ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL), DeploymentName: to.Ptr(modelDeploymentID), }, nil) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } for _, generatedImage := range resp.Data { // The underlying type for the generatedImage is determined by the value of // ImageGenerationOptions.ResponseFormat. // In this example we use `azopenai.ImageGenerationResponseFormatURL`, // so the underlying type will be ImageLocation. resp, err := http.Head(*generatedImage.URL) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL) } }Eseguire il comando seguente per creare un nuovo modulo Go:
go mod init quickstart.goEseguire
go mod tidyper installare le dipendenze necessarie:go mod tidyEseguire il comando seguente per eseguire l'esempio:
go run quickstart.go
Risultato
L'URL dell'immagine generata viene stampato nella console.
Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>
Annotazioni
Le API Image sono dotate di un filtro di moderazione del contenuto. Se il servizio riconosce la richiesta come contenuto dannoso, non restituirà un'immagine generata. Per ulteriori informazioni, vedere l'articolo sul filtraggio del 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 elimina anche tutte le altre risorse associate.
Passaggi successivi
- Esplorare le API immagine in modo più approfondito con la guida pratica all'API Immagine.
- Per altri esempi, vedere il repository GitHub degli esempi di OpenAI di Azure.
Usare questa guida per iniziare a chiamare Azure OpenAI nelle API di generazione di immagini dei modelli di Microsoft Foundry con PowerShell.
Prerequisiti
- Una sottoscrizione di Azure. Creane uno gratis.
- Per questa attività è consigliabile la versione più recente di PowerShell 7 perché gli esempi usano nuove funzionalità non disponibili in Windows PowerShell 5.1.
- 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.
Prerequisiti di Microsoft Entra ID
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, è necessario:
- Installare l'Azure CLI utilizzata per l'autenticazione senza password con Microsoft Entra ID.
- Assegna il ruolo
Cognitive Services Useral tuo account utente. È possibile assegnare ruoli nel 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 sotto Gestione delle risorse>Distribuzioni di modelli nel portale di Azure. |
Altre informazioni sull'autenticazione senza chiave e sull'impostazione delle variabili di ambiente.
Generare immagini
Per l'autenticazione senza chiave consigliata con Microsoft Entra ID, accedere ad Azure con il comando seguente:
az loginCreare un nuovo file di PowerShell denominato quickstart.ps1. Quindi, aprirlo nell'editor o nell'IDE preferito.
Sostituire il contenuto di quickstart.ps1 con il codice seguente. Immettere l'URL e la chiave dell'endpoint nei campi appropriati. Sostituire il valore di
promptcon il testo che si preferisce.# Azure OpenAI metadata variables $openai = @{ api_base = $Env:AZURE_OPENAI_ENDPOINT api_version = '2023-06-01-preview' # This can change in the future. } # Use the recommended keyless authentication via bearer token. $headers = [ordered]@{ #'api-key' = $Env:AZURE_OPENAI_API_KEY 'Authorization' = "Bearer $($Env:DEFAULT_AZURE_CREDENTIAL_TOKEN)" } # Text to describe image $prompt = 'A painting of a dog' # Adjust these values to fine-tune completions $body = [ordered]@{ prompt = $prompt size = '1024x1024' n = 1 } | ConvertTo-Json # Call the API to generate the image and retrieve the response $url = "$($openai.api_base)/openai/images/generations:submit?api-version=$($openai.api_version)" $submission = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' -ResponseHeadersVariable submissionHeaders $operation_location = $submissionHeaders['operation-location'][0] $status = '' while ($status -ne 'succeeded') { Start-Sleep -Seconds 1 $response = Invoke-RestMethod -Uri $operation_location -Headers $headers $status = $response.status } # Set the directory for the stored image $image_dir = Join-Path -Path $pwd -ChildPath 'images' # If the directory doesn't exist, create it if (-not(Resolve-Path $image_dir -ErrorAction Ignore)) { New-Item -Path $image_dir -ItemType Directory } # Initialize the image path (note the filetype should be png) $image_path = Join-Path -Path $image_dir -ChildPath 'generated_image.png' # Retrieve the generated image $image_url = $response.result.data[0].url # extract image URL from response $generated_image = Invoke-WebRequest -Uri $image_url -OutFile $image_path # download the image return $image_pathImportante
Per la produzione, usare un modo sicuro per archiviare e accedere alle credenziali, ad esempio La gestione dei segreti di PowerShell con Azure Key Vault. Per altre informazioni sulla sicurezza delle credenziali, vedere questo articolo sulla sicurezza .
Eseguire lo script con PowerShell:
./quickstart.ps1Lo script esegue un ciclo fino a quando l'immagine generata non sarà pronta.
Risultato
PowerShell richiede l'immagine da Azure OpenAI e archivia l'immagine di output nel file generated_image.png nella directory specificata. Per praticità, il percorso completo del file viene restituito alla fine dello script.
Le API Image sono dotate di un filtro di moderazione del contenuto. Se il servizio riconosce la richiesta come contenuto dannoso, non genera un'immagine. Per altre informazioni, vedere Filtro del 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 elimina anche tutte le altre risorse associate.
Passaggi successivi
- Esplorare le API immagine in modo più approfondito con la guida pratica all'API Immagine.
- Provare altri esempi nel repository GitHub degli esempi di OpenAI di Azure.
Usare questa guida per iniziare a generare immagini con Azure OpenAI nel browser con Microsoft Foundry.
Prerequisiti
- Una sottoscrizione di Azure. Creane uno gratis.
- Una risorsa OpenAI di Azure creata in un'area supportata. Vedere Disponibilità a livello di area. Per altre informazioni, vedere Creare una risorsa e distribuire un modello con Azure OpenAI.
Vai a Foundry
Passare a 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.
Nella pagina di destinazione Foundry creare o selezionare un nuovo progetto. Passare alla pagina Modelli e endpoint nel riquadro di spostamento a sinistra. Selezionare Distribuisci modello e quindi scegliere uno dei modelli DALL-E dall'elenco. Completare il processo di distribuzione.
Nella pagina del modello selezionare Apri nel playground.
Provare la generazione di immagini
Iniziare a esplorare le funzionalità di Azure OpenAI con un approccio senza codice tramite Playground per le immagini. Immettere il prompt dell'immagine nella casella di testo e selezionare Genera. Quando l'immagine generata dall'intelligenza artificiale è pronta, viene visualizzata nella pagina.
Annotazioni
Le API Image sono dotate di un filtro di moderazione del contenuto. Se Azure OpenAI riconosce la richiesta come contenuto dannoso, non restituisce un'immagine generata. Per altre informazioni, vedere Filtro del contenuto.
In Playground per le immagini è anche possibile visualizzare esempi di codice Python e cURL, precompilati in base alle impostazioni. Selezionare Visualizza codice nella parte superiore della pagina. È possibile usare questo codice per scrivere un'applicazione che completa la stessa attività.
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 elimina anche tutte le altre risorse associate.
Passaggi successivi
- Esplorare le API immagine in modo più approfondito con la guida pratica all'API Immagine.
- Provare altri esempi nel repository GitHub degli esempi di OpenAI di Azure.
- Vedere il riferimento API