Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
A API de geração de imagens cria uma imagem a partir de uma solicitação de texto. Ele não edita ou cria variações de imagens existentes.
Use este guia para começar a gerar imagens com o Azure OpenAI no seu navegador com o IA do Azure Foundry.
Pré-requisitos
- Uma assinatura do Azure. Crie um gratuitamente.
- Um recurso do OpenAI do Azure criado em uma região com suporte. Confira a Disponibilidade de região. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Vá para o Azure AI Foundry
Navegue até o Azure AI Foundry e entre com as credenciais associadas ao seu recurso do OpenAI do Azure. Durante o fluxo de trabalho de entrada, selecione o diretório apropriado, a assinatura do Azure e o recurso OpenAI do Azure.
Na página inicial do IA do Azure Foundry, crie ou selecione um novo projeto. Navegue até a página Modelos + pontos de extremidade no painel de navegação esquerdo. Selecione Implantar modelo e escolha um dos modelos DALL-E na lista. Conclua o processo de implantação.
Na página do modelo, selecione Abrir no playground.
Experimente a geração de imagens
Comece a explorar os recursos do Azure OpenAI com uma abordagem sem código por meio do playground de imagens. Insira o prompt da imagem na caixa de texto e selecione Gerar. Quando a imagem gerada por IA estiver pronta, ela aparecerá na página.
Observação
As APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o OpenAI do Azure reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo Filtragem de conteúdo.
No Playground de imagens, você também pode visualizar exemplos de código Python e cURL, que são pré-preenchidos de acordo com suas configurações. Selecione Exibir código na parte superior da página. Você pode utilizar esse código para escrever um aplicativo que conclua a mesma tarefa.
Limpar os recursos
Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.
Próximas etapas
- Explore as APIs de Imagem com mais profundidade com o guia de instruções da API de Imagem.
- Experimente alguns exemplos no repositório GitHub de Exemplos do OpenAI do Azure.
- Confira a Referência de API
Use este guia para começar a chamar as APIs REST de geração de imagem do Azure OpenAI no Azure AI Foundry Models usando Python.
Pré-requisitos
- Uma assinatura do Azure. Crie um gratuitamente.
- Python 3.8 ou versão posterior.
- As seguintes bibliotecas Python instaladas:
os
,requests
,json
. - Um recurso do OpenAI do Azure criado em uma região com suporte. Confira a Disponibilidade de região.
- Em seguida, você precisa implantar um
gpt-image-1
oudalle3
modelo com o recurso do Azure. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Instalação
Recuperar chave e ponto de extremidade
Para chamar com êxito as APIs do OpenAI do Azure, você precisa das seguintes informações sobre seu recurso do OpenAI do Azure:
Variável | Nome | Valor |
---|---|---|
Ponto de extremidade | api_base |
O valor do ponto de extremidade está localizado em Chaves e Ponto de Extremidade para o seu recurso no portal do Azure. Você também pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um ponto de extremidade de exemplo é: https://docs-test-001.openai.azure.com/ . |
Chave | api_key |
O valor da chave está localizado em Chaves e Ponto de Extremidade para o seu recurso no portal do Azure. O Azure gera duas chaves para o seu recurso. Você pode usar qualquer dos dois valores. |
Acesse o seu recurso no portal do Azure. No painel de navegação, selecione Chaves e Ponto de Extremidade em Gerenciamento de Recursos. Copie o valor do Ponto de Extremidade e um valor de chave de acesso. Você pode usar o valor da CHAVE 1 ou o valor da CHAVE 2. Ter sempre duas chaves permite girar e regenerar chaves com segurança, sem causar interrupção de serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e ponto de extremidade.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Use as chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, gire as chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com Azure Key Vault.
Para obter mais informações sobre a segurança dos serviços de IA, confira Autenticar solicitações para serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar um novo aplicativo Python
Crie um novo arquivo Python denominado quickstart.py. Abra o novo arquivo em seu IDE ou editor preferido.
Substitua o conteúdo do quickstart.py pelo código a seguir. Altere o valor de
prompt
para seu texto preferido. Definadeployment
também como o nome de implantação escolhido quando você implantou o modelo 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")
O script faz uma chamada à API de geração de imagem síncrona.
Importante
Lembre-se de remover a chave do código quando terminar e nunca poste-a publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Para saber mais, veja Azure Key Vault
Execute o aplicativo com o comando
python
:python quickstart.py
Leva alguns minutos para obter a resposta.
Saída
A saída de uma chamada à API de geração de imagem bem-sucedida tem a seguinte aparência. O campo url
contém uma URL na qual é possível baixar a imagem gerada. A URL permanece ativa por 24 horas.
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
As APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não gera uma imagem. Para obter mais informações, consulte o artigo Filtragem de conteúdo. Para obter exemplos de respostas de erro, consulte o guia de instruções de geração de imagem.
O sistema retornará um status de operação de Failed
e o valor error.code
na mensagem será definido como contentFilter
. Veja um exemplo:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
Também é possível que a própria imagem gerada seja filtrada. Nesse caso, a mensagem de erro é definida como Generated image was filtered as a result of our safety system.
. Veja um exemplo:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Limpar os recursos
Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.
Próximas etapas
- Explore as APIs de Imagem com mais profundidade com o guia de instruções da API de Imagem.
- Experimente alguns exemplos no repositório GitHub de Exemplos do OpenAI do Azure.
- Confira a Referência de API
Use este guia para começar a gerar imagens com o SDK para Python do OpenAI do Azure no seu navegador.
Código-fonte da biblioteca | Pacote | Amostras
Pré-requisitos
- Uma assinatura do Azure. Crie um gratuitamente.
- Python 3.8 ou versão posterior.
- Um recurso do OpenAI do Azure criado em uma região compatível. Confira a Disponibilidade de região.
- Em seguida, você precisa implantar um modelo de
dalle3
com o recurso do Azure. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Instalação
Recuperar chave e ponto de extremidade
Para chamar com êxito as APIs do OpenAI do Azure, você precisa das seguintes informações sobre seu recurso do OpenAI do Azure:
Variável | Nome | Valor |
---|---|---|
Ponto de extremidade | api_base |
O valor do ponto de extremidade está localizado em Chaves e Ponto de Extremidade para o seu recurso no portal do Azure. Você também pode encontrar o ponto de extremidade por meio da página Implantações no portal do Azure AI Foundry. Um ponto de extremidade de exemplo é: https://docs-test-001.openai.azure.com/ . |
Chave | api_key |
O valor da chave está localizado em Chaves e Ponto de Extremidade para o seu recurso no portal do Azure. O Azure gera duas chaves para o seu recurso. Você pode usar qualquer dos dois valores. |
Acesse o seu recurso no portal do Azure. No painel de navegação, selecione Chaves e Ponto de Extremidade em Gerenciamento de Recursos. Copie o valor do Ponto de Extremidade e um valor de chave de acesso. Você pode usar o valor da CHAVE 1 ou o valor da CHAVE 2. Ter sempre duas chaves permite girar e regenerar chaves com segurança, sem causar interrupção de serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e ponto de extremidade.
Importante
Recomendamos a autenticação do Microsoft Entra ID com identidades gerenciadas para recursos do Azure a fim de evitar o armazenamento de credenciais com seus aplicativos executados na nuvem.
Use as chaves de API com cuidado. Não inclua a chave da API diretamente no seu código e nunca a publique publicamente. Se estiver usando chaves de API, armazene-as com segurança no Azure Key Vault, gire as chaves regularmente e restrinja o acesso ao Azure Key Vault usando controle de acesso baseado em função e restrições de acesso à rede. Para obter mais informações sobre como usar chaves de API com segurança em seus aplicativos, confira Chaves de API com Azure Key Vault.
Para obter mais informações sobre a segurança dos serviços de IA, confira Autenticar solicitações para serviços de IA do Azure.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Instalar o SDK do Python
Abra um prompt de comando e navegue até a pasta do projeto. Instale o SDK do Python do OpenAI usando o seguinte comando:
pip install openai
Instale também as seguintes bibliotecas:
pip install requests
pip install pillow
Gerar imagens com DALL-E
Crie um novo arquivo Python, quickstart.py. Abra-o no seu editor ou IDE preferido.
Substitua o conteúdo do quickstart.py pelo código a seguir.
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()
- Insira a URL do ponto de extremidade e a chave nos campos apropriados.
- Altere o valor de
prompt
para seu texto preferido. - Altere o valor de
model
para o nome do modelo DALL-E 3 implantado.
Importante
Lembre-se de remover a chave do código quando terminar e nunca poste-a publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Para saber mais, veja Azure Key Vault
Execute o aplicativo com o comando python
:
python quickstart.py
Leva alguns minutos para obter a resposta.
Saída
O OpenAI do Azure armazena a imagem de saída no arquivo generated_image.png no diretório especificado. O script também exibirá a imagem em seu visualizador de imagens padrão.
As APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não gera uma imagem. Para obter mais informações, consulte o artigo Filtragem de conteúdo.
Limpar os recursos
Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.
Próximas etapas
- Explore as APIs de Imagem com mais profundidade com o guia de instruções da API de Imagem.
- Experimente alguns exemplos no repositório GitHub de Exemplos do OpenAI do Azure.
- Confira a Referência de API
Use este guia para começar a gerar imagens com o SDK para C# do OpenAI do Azure no seu navegador.
Código-fonte da biblioteca | Pacote (NuGet) | Amostras
Pré-requisitos
- Uma assinatura do Azure – crie uma gratuitamente
- O SDK do .NET 7
- Um recurso do OpenAI do Azure criado em uma região com suporte (consulte disponibilidade da região). Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:
- Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
- Atribua a função de
Cognitive Services User
à sua conta de usuário. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.
Configuração
Crie uma nova pasta
vision-quickstart
e vá para a pasta de início rápido com o seguinte comando:mkdir vision-quickstart && cd vision-quickstart
Crie um novo aplicativo de console com o seguinte comando:
dotnet new console
Instale a biblioteca de clientes .NET do OpenAI com o comando dotnet add package:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
Para a autenticação sem chave recomendada com o Microsoft Entra ID, instale o pacote Azure.Identity com:
dotnet add package Azure.Identity
Para a autenticação sem chave recomendada com o Microsoft Entra ID, entre no Azure com o seguinte comando:
az login
Recuperar as informações do recurso
Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do OpenAI do Azure:
Nome da variável | Valor |
---|---|
AZURE_OPENAI_ENDPOINT |
Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Esse valor corresponderá ao nome personalizado escolhido para sua implantação ao implantar um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelos no portal do Azure. |
OPENAI_API_VERSION |
Saiba mais sobre as Versões de API. Você pode alterar a versão no código ou usar uma variável de ambiente. |
Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.
Executar o início rápido
O código de exemplo neste início rápido usa o Microsoft Entra ID para a autenticação sem chave recomendada. Se você preferir usar uma chave de API, poderá substituir o DefaultAzureCredential
objeto por um AzureKeyCredential
objeto.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Para executar o início rápido, siga estas etapas:
Substitua o conteúdo de
Program.cs
pelo código a seguir e atualize os valores do espaço reservado com os seus próprios.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);
Execute o aplicativo usando o comando
dotnet run
ou o botão Executar na parte superior do Visual Studio:dotnet run
Saída
A URL da imagem gerada é impressa no console.
<SAS URL>
Observação
As APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo filtro de conteúdo.
Limpar os recursos
Caso queria limpar e remover um recurso OpenAI do Azure, é possível excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximas etapas
- Explore as APIs de Imagem com mais profundidade com o guia de instruções da API de Imagem.
- Para mais exemplos, confira o repositório do GitHub de amostras do OpenAI do Azure.
Use este guia para começar a gerar imagens com o SDK para Java do OpenAI do Azure no seu navegador.
Código-fonte da biblioteca | Artefato (Maven) | Amostras
Pré-requisitos
- Uma assinatura do Azure – crie uma gratuitamente
- A versão atual do JDK (Java Development Kit)
- Instale o Apache Maven.
- Um recurso do OpenAI do Azure criado em uma região com suporte (consulte disponibilidade da região). Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:
- Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
- Atribua a função de
Cognitive Services User
à sua conta de usuário. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.
Configuração
Crie uma nova pasta
vision-quickstart
e vá para a pasta de início rápido com o seguinte comando:mkdir vision-quickstart && cd vision-quickstart
Instale o Apache Maven. Em seguida, execute
mvn -v
para confirmar a instalação bem-sucedida.Crie um novo arquivo
pom.xml
na raiz do projeto e copie nele o seguinte código:<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>
Instale o SDK e as dependências do Azure OpenAI.
mvn clean dependency:copy-dependencies
Para a autenticação sem chave recomendada com o Microsoft Entra ID, entre no Azure com o seguinte comando:
az login
Recuperar as informações do recurso
Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do OpenAI do Azure:
Nome da variável | Valor |
---|---|
AZURE_OPENAI_ENDPOINT |
Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Esse valor corresponderá ao nome personalizado escolhido para sua implantação ao implantar um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelos no portal do Azure. |
OPENAI_API_VERSION |
Saiba mais sobre as Versões de API. Você pode alterar a versão no código ou usar uma variável de ambiente. |
Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.
Executar o aplicativo
O código de exemplo neste início rápido usa o Microsoft Entra ID para a autenticação sem chave recomendada. Se você preferir usar uma chave de API, poderá substituir o DefaultAzureCredential
objeto por um AzureKeyCredential
objeto.
OpenAIAsyncClient client = new OpenAIClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Siga estas etapas para criar um aplicativo de console para reconhecimento de fala.
Crie um novo arquivo chamado Quickstart.java no mesmo diretório raiz do projeto.
Copie o seguinte código para 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); } }
Execute seu novo aplicativo de console para gerar uma imagem:
javac Quickstart.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" Quickstart
Saída
A URL da imagem gerada é impressa no console.
Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.
Observação
As APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo filtro de conteúdo.
Limpar os recursos
Caso queria limpar e remover um recurso OpenAI do Azure, é possível excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximas etapas
- Explore as APIs de Imagem com mais profundidade com o guia de instruções da API de Imagem.
- Para obter mais exemplos, confira o repositório do GitHub de Exemplos do OpenAI do Azure
Use este guia para começar a gerar imagens com o SDK para JavaScript do OpenAI do Azure no seu navegador.
Documentação de referência | Código-fonte | Pacote (npm) | Exemplos
Pré-requisitos
- Uma assinatura do Azure – crie uma gratuitamente
- Versões LTS do Node.js
- A CLI do Azure usada para autenticação sem senha em um ambiente de desenvolvimento local, crie o contexto necessário entrando com a CLI do Azure.
- Um recurso do OpenAI do Azure criado em uma região com suporte (consulte disponibilidade da região). Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:
- Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
- Atribua a função de
Cognitive Services User
à sua conta de usuário. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.
Configuração
Crie uma nova pasta
image-quickstart
e vá para a pasta de início rápido com o seguinte comando:mkdir image-quickstart && cd image-quickstart
Crie o
package.json
com o seguinte comando:npm init -y
Instale a biblioteca de clientes do OpenAI para JavaScript com:
npm install openai
Para a autenticação sem senha recomendada:
npm install @azure/identity
Recuperar as informações do recurso
Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do OpenAI do Azure:
Nome da variável | Valor |
---|---|
AZURE_OPENAI_ENDPOINT |
Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Esse valor corresponderá ao nome personalizado escolhido para sua implantação ao implantar um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelos no portal do Azure. |
OPENAI_API_VERSION |
Saiba mais sobre as Versões de API. Você pode alterar a versão no código ou usar uma variável de ambiente. |
Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.
Cuidado
Para usar a autenticação sem chave recomendada com o SDK, verifique se a variável de ambiente AZURE_OPENAI_API_KEY
não está definida.
Gerar imagens com DALL-E
Crie o arquivo
index.js
com o seguinte código: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); });
Entre no Azure com o seguinte comando:
az login
Execute o arquivo JavaScript.
node index.js
Saída
A URL da imagem gerada é impressa no console.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Observação
As APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo filtro de conteúdo.
Limpar os recursos
Caso queria limpar e remover um recurso OpenAI do Azure, é possível excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximas etapas
- Explore as APIs de Imagem com mais profundidade com o guia de instruções da API de Imagem.
- Para mais exemplos, confira o repositório do GitHub de amostras do OpenAI do Azure.
Use este guia para começar a gerar imagens com o SDK para JavaScript do OpenAI do Azure no seu navegador.
Documentação de referência | Código-fonte | Pacote (npm) | Exemplos
Pré-requisitos
- Uma assinatura do Azure – crie uma gratuitamente
- Versões LTS do Node.js
- TypeScript
- A CLI do Azure usada para autenticação sem senha em um ambiente de desenvolvimento local, crie o contexto necessário entrando com a CLI do Azure.
- Um recurso do OpenAI do Azure criado em uma região com suporte (consulte disponibilidade da região). Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:
- Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
- Atribua a função de
Cognitive Services User
à sua conta de usuário. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.
Configuração
Crie uma nova pasta
image-quickstart
e vá para a pasta de início rápido com o seguinte comando:mkdir image-quickstart && cd image-quickstart
Crie o
package.json
com o seguinte comando:npm init -y
Atualize o
package.json
para ECMAScript com o seguinte comando:npm pkg set type=module
Instale a biblioteca de clientes do OpenAI para JavaScript com:
npm install openai
Para a autenticação sem senha recomendada:
npm install @azure/identity
Recuperar as informações do recurso
Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do OpenAI do Azure:
Nome da variável | Valor |
---|---|
AZURE_OPENAI_ENDPOINT |
Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Esse valor corresponderá ao nome personalizado escolhido para sua implantação ao implantar um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelos no portal do Azure. |
OPENAI_API_VERSION |
Saiba mais sobre as Versões de API. Você pode alterar a versão no código ou usar uma variável de ambiente. |
Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.
Cuidado
Para usar a autenticação sem chave recomendada com o SDK, verifique se a variável de ambiente AZURE_OPENAI_API_KEY
não está definida.
Gerar imagens com DALL-E
Crie o arquivo
index.ts
com o seguinte código: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); });
Crie o arquivo
tsconfig.json
para transpilar o código TypeScript e copiar o código a seguir para 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"] }
Transcompilar de TypeScript para JavaScript.
tsc
Entre no Azure com o seguinte comando:
az login
Execute o código com o seguinte comando:
node index.js
Saída
A URL da imagem gerada é impressa no console.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Observação
As APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo filtro de conteúdo.
Limpar os recursos
Caso queria limpar e remover um recurso OpenAI do Azure, é possível excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximas etapas
- Explore as APIs de Imagem com mais profundidade com o guia de instruções da API de Imagem.
- Para mais exemplos, confira o repositório do GitHub de amostras do OpenAI do Azure.
Use este guia para começar a gerar imagens com o SDK para Go do OpenAI do Azure no seu navegador.
Código-fonte da biblioteca | Pacote | Amostras
Pré-requisitos
- Uma assinatura do Azure – crie uma gratuitamente
- Go 1.8 ou posterior
- Um recurso do OpenAI do Azure criado em uma região com suporte (consulte disponibilidade da região). Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:
- Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
- Atribua a função de
Cognitive Services User
à sua conta de usuário. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.
Configuração
Crie uma nova pasta
dall-e-quickstart
e vá para a pasta de início rápido com o seguinte comando:mkdir dall-e-quickstart && cd dall-e-quickstart
Para a autenticação sem chave recomendada com o Microsoft Entra ID, entre no Azure com o seguinte comando:
az login
Recuperar as informações do recurso
Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do OpenAI do Azure:
Nome da variável | Valor |
---|---|
AZURE_OPENAI_ENDPOINT |
Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Esse valor corresponderá ao nome personalizado escolhido para sua implantação ao implantar um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelos no portal do Azure. |
OPENAI_API_VERSION |
Saiba mais sobre as Versões de API. Você pode alterar a versão no código ou usar uma variável de ambiente. |
Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.
Executar o início rápido
O código de exemplo neste início rápido usa o Microsoft Entra ID para a autenticação sem chave recomendada. Se você preferir usar uma chave de API, poderá substituir a NewDefaultAzureCredential
implementação por NewKeyCredential
.
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)
Para executar o exemplo:
Crie um novo arquivo chamado quickstart.go. Copie o código a seguir no arquivo 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) } }
Execute o seguinte comando para criar um novo módulo Go:
go mod init quickstart.go
Execute
go mod tidy
para instalar as dependências necessárias:go mod tidy
Execute o seguinte comando para executar o exemplo:
go run quickstart.go
Saída
A URL da imagem gerada é impressa no console.
Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>
Observação
As APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte o artigo filtro de conteúdo.
Limpar os recursos
Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.
Próximas etapas
- Explore as APIs de Imagem com mais profundidade com o guia de instruções da API de Imagem.
- Para mais exemplos, confira o repositório do GitHub de amostras do OpenAI do Azure.
Use este guia para começar a chamar as APIs de geração de imagem do Azure OpenAI no Azure AI Foundry Models com o PowerShell.
Pré-requisitos
- Uma assinatura do Azure. Crie um gratuitamente.
- Para essa tarefa, recomenda-se a versão mais recente do PowerShell 7 pois os exemplos usam novos recursos não disponíveis no Windows PowerShell 5.1.
- Um recurso do OpenAI do Azure criado em uma região com suporte (consulte disponibilidade da região). Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Pré-requisitos do Microsoft Entra ID
Para a autenticação sem chave recomendada com o Microsoft Entra ID, você precisa:
- Instale a CLI do Azure usada para autenticação sem chave com o Microsoft Entra ID.
- Atribua a função de
Cognitive Services User
à sua conta de usuário. Você pode atribuir funções no portal do Azure em Controle de acesso (IAM)>Adicionar atribuição de função.
Recuperar as informações do recurso
Você precisa recuperar as seguintes informações para autenticar seu aplicativo com seu recurso do OpenAI do Azure:
Nome da variável | Valor |
---|---|
AZURE_OPENAI_ENDPOINT |
Esse valor pode ser encontrado na seção Chaves e Ponto de Extremidade ao examinar seu recurso no portal do Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Esse valor corresponderá ao nome personalizado escolhido para sua implantação ao implantar um modelo. Esse valor pode ser encontrado em Gerenciamento de Recursos>Implantações de Modelos no portal do Azure. |
OPENAI_API_VERSION |
Saiba mais sobre as Versões de API. Você pode alterar a versão no código ou usar uma variável de ambiente. |
Saiba mais sobre autenticação sem chave e configuração de variáveis de ambiente.
Gerar imagens
Para a autenticação sem chave recomendada com o Microsoft Entra ID, entre no Azure com o seguinte comando:
az login
Crie um novo arquivo do PowerShell chamado quickstart.ps1. Depois, abra-o no editor ou IDE de sua preferência.
Substitua o conteúdo de quickstart.ps1 pelo código a seguir. Insira a URL do ponto de extremidade e a chave nos campos apropriados. Altere o valor de
prompt
para seu texto preferido.# 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_path
Importante
Para produção, use um modo seguro de armazenar e acessar suas credenciais, como o Gerenciamento de Segredo do PowerShell com o Azure Key Vault. Para obter mais informações sobre segurança de credenciais, consulte este artigo de segurança .
Execute o script usando o PowerShell:
./quickstart.ps1
O script será executado em um loop até que a imagem gerada esteja pronta.
Saída
O PowerShell solicita a imagem do Azure OpenAI e armazena a imagem de saída no arquivo generated_image.png no diretório especificado. Por conveniência, o caminho completo do arquivo é retornado no final do script.
As APIs de Imagem vêm com um filtro de moderação de conteúdo. Se o serviço reconhecer seu prompt como conteúdo prejudicial, ele não gera uma imagem. Para obter mais informações, consulte o artigo Filtragem de conteúdo.
Limpar os recursos
Caso queria limpar e remover um recurso do OpenAI do Azure, é possível excluir o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.
Próximas etapas
- Explore as APIs de Imagem com mais profundidade com o guia de instruções da API de Imagem.
- Experimente alguns exemplos no repositório GitHub de Exemplos do OpenAI do Azure.