Guia de início rápido: gerar imagens com o Serviço OpenAI do Azure
Nota
A API de geração de imagem cria uma imagem a partir de um prompt de texto. Não edita imagens existentes nem cria variações.
Use este guia para começar a gerar imagens com o Azure OpenAI em seu navegador.
Pré-requisitos
- Uma subscrição do Azure. Crie um gratuitamente.
- Acesso concedido ao DALL-E na assinatura desejada do Azure.
- Um recurso OpenAI do
EastUS
Azure criado na ,AustraliaEast
ouSwedenCentral
região. - Em seguida, você precisa implantar um
dalle3
modelo com seu recurso do Azure. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Nota
Atualmente, você deve enviar um aplicativo para acessar o Serviço OpenAI do Azure. Para solicitar o acesso, preencha este formulário. Se precisar de assistência, abra um problema neste repositório para entrar em contato com a Microsoft.
Ir para o Azure OpenAI Studio
Navegue até Azure OpenAI Studio e entre com as credenciais associadas ao seu recurso do Azure OpenAI. Durante ou após o fluxo de trabalho de entrada, selecione o diretório apropriado, a assinatura do Azure e o recurso do Azure OpenAI.
Na página inicial do Azure OpenAI Studio, selecione DALL· E playground (Preview) para usar as APIs de geração de imagem. Selecione Configurações na parte superior da página e confirme se a lista suspensa Implantação tem sua implantação DALL-E 3 selecionada.
Experimente a geração de imagens
Comece a explorar os recursos do Azure OpenAI com uma abordagem sem código por meio do DALL· E playground (Pré-visualização). Digite seu prompt de imagem na caixa de texto e selecione Gerar. Quando a imagem gerada por IA estiver pronta, ela aparecerá na página.
Nota
As APIs de geração de imagem vêm com um filtro de moderação de conteúdo. Se o Azure OpenAI reconhecer seu prompt como conteúdo prejudicial, ele não retornará uma imagem gerada. Para obter mais informações, consulte Filtragem de conteúdo.
No DALL· E playground (Preview), você também pode visualizar exemplos de código Python e cURL, que são pré-preenchidos de acordo com suas configurações. Selecione Ver código na parte superior da página. Você pode usar esse código para escrever um aplicativo que conclui a mesma tarefa.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Próximos passos
- Explore as APIs de geração de imagens com mais profundidade com o guia de instruções DALL-E.
- Experimente exemplos no repositório GitHub de amostras do Azure OpenAI.
- Consulte a referência da API
Use este guia para começar a chamar as APIs REST de geração de imagem do Serviço OpenAI do Azure usando Python.
Pré-requisitos
- Uma subscrição do Azure. Crie um gratuitamente.
- Acesso concedido ao DALL-E na assinatura desejada do Azure. Atualmente, o acesso a este serviço é concedido apenas por pedido. Você pode solicitar acesso ao Azure OpenAI preenchendo o formulário em https://aka.ms/oai/access. Os clientes existentes do Azure OpenAI têm de voltar a submeter o formulário para obterem acesso ao DALL-E. Abra um problema neste repositório para entrar em contato conosco se tiver um problema.
- Python 3.8 ou versão posterior.
- As seguintes bibliotecas Python instaladas:
os
,requests
,json
. - Um recurso OpenAI do
EastUS
Azure criado na ,AustraliaEast
ouSwedenCentral
região. - Em seguida, você precisa implantar um
dalle3
modelo com seu recurso do Azure. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Nota
Atualmente, você deve enviar um aplicativo para acessar o Serviço OpenAI do Azure. Para solicitar o acesso, preencha o formulário em https://aka.ms/oai/access. Se precisar de assistência, abra um problema neste repositório para entrar em contato com a Microsoft.
Configurar
Recuperar chave e ponto de extremidade
Para chamar com êxito as APIs do Azure OpenAI, você precisa das seguintes informações sobre seu recurso do Azure OpenAI:
Variável | Nome | Valor |
---|---|---|
Ponto final | api_base |
O valor do ponto de extremidade está localizado em Chaves e Ponto de Extremidade para seu recurso no portal do Azure. Em alternativa, pode encontrar o valor em Azure OpenAI Studio>Ambiente de Demonstração>Vista de Código. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
Chave | api_key |
O valor da chave também está localizado em Chaves e Ponto de Extremidade para seu recurso no portal do Azure. O Azure gera duas chaves para o seu recurso. Você pode usar qualquer um dos valores. |
Vá para o seu recurso no portal do Azure. No painel de navegação, selecione Chaves e Ponto Final em Gerenciamento de Recursos. Copie o valor Endpoint e um valor de chave de acesso. Você pode usar o valor KEY 1 ou KEY 2 . Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar uma aplicação Python nova
Crie um novo arquivo Python chamado quickstart.py. Abra o novo arquivo em seu editor ou IDE preferido.
Substitua o conteúdo do quickstart.py pelo código a seguir. Altere o valor de
prompt
para o seu texto preferido.Você também precisa substituir
<dalle3>
na URL pelo nome de implantação escolhido quando implantou o modelo DALL-E 3. Inserir o nome do modelo resultará em um erro, a menos que você escolha um nome de implantação idêntico ao nome do modelo subjacente. Se você encontrar um erro, verifique novamente para se certificar de que você não tem uma duplicação da separação entre o ponto de extremidade e/openai/deployments
./
import requests import time import os api_base = os.environ['AZURE_OPENAI_ENDPOINT'] # Enter your endpoint here api_key = os.environ['AZURE_OPENAI_API_KEY'] # Enter your API key here api_version = '2024-02-01' url = f"{api_base}/openai/deployments/<dalle3>/images/generations?api-version={api_version}" headers= { "api-key": api_key, "Content-Type": "application/json" } body = { # Enter your prompt text here "prompt": "A multi-colored umbrella on the beach, disposable camera", "size": "1024x1024", # supported values are “1792x1024”, “1024x1024” and “1024x1792” "n": 1, #The number of images to generate. Only n=1 is supported for DALL-E 3. "quality": "hd", # Options are “hd” and “standard”; defaults to standard "style": "vivid" # Options are “natural” and “vivid”; defaults to “vivid” } submission = requests.post(url, headers=headers, json=body) image_url = submission.json()['data'][0]['url'] print(image_url)
O script faz uma chamada de API de geração de imagem síncrona.
Importante
Lembre-se de remover a chave do seu código quando terminar e nunca publique a chave publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Para obter mais informações, consulte Azure Key Vault.
Execute o aplicativo com o
python
comando:python quickstart.py
Aguarde alguns instantes para obter a resposta.
Saída
A saída de uma chamada de API de geração de imagem bem-sucedida se parece com o exemplo a seguir. O url
campo contém um URL onde pode descarregar a imagem gerada. O URL permanece ativo por 24 horas.
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
As APIs de geração 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 gerará uma imagem. Para obter mais informações, consulte Filtragem de conteúdo. Para obter exemplos de respostas de erro, consulte o guia de instruções do DALL-E.
O sistema retorna um status de operação de Failed
e o error.code
valor na mensagem é definido como contentFilter
. Eis 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.
. Eis um exemplo:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Próximos passos
- Explore as APIs de geração de imagens com mais profundidade com o guia de instruções DALL-E.
- Experimente exemplos no repositório GitHub de amostras do Azure OpenAI.
- Consulte a referência da API
Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para Python.
Exemplos de pacotes | de código-fonte | da biblioteca
Pré-requisitos
- Uma subscrição do Azure. Crie um gratuitamente.
- Acesso concedido ao DALL-E na assinatura desejada do Azure. Você pode solicitar acesso ao Serviço OpenAI do Azure preenchendo o formulário em https://aka.ms/oai/access.
- Python 3.8 ou versão posterior.
- Um recurso OpenAI do
EastUS
Azure criado na ,AustraliaEast
ouSwedenCentral
região. - Em seguida, você precisa implantar um
dalle3
modelo com seu recurso do Azure. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Nota
Atualmente, você deve enviar um aplicativo para acessar o Serviço OpenAI do Azure. Para solicitar o acesso, preencha o formulário em https://aka.ms/oai/access. Se precisar de assistência, abra um problema neste repositório para entrar em contato com a Microsoft.
Configurar
Recuperar chave e ponto de extremidade
Para chamar com êxito as APIs do Azure OpenAI, você precisa das seguintes informações sobre seu recurso do Azure OpenAI:
Variável | Nome | Valor |
---|---|---|
Ponto final | api_base |
O valor do ponto de extremidade está localizado em Chaves e Ponto de Extremidade para seu recurso no portal do Azure. Em alternativa, pode encontrar o valor em Azure OpenAI Studio>Ambiente de Demonstração>Vista de Código. Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
Chave | api_key |
O valor da chave também está localizado em Chaves e Ponto de Extremidade para seu recurso no portal do Azure. O Azure gera duas chaves para o seu recurso. Você pode usar qualquer um dos valores. |
Vá para o seu recurso no portal do Azure. No painel de navegação, selecione Chaves e Ponto Final em Gerenciamento de Recursos. Copie o valor Endpoint e um valor de chave de acesso. Você pode usar o valor KEY 1 ou KEY 2 . Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
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 OpenAI Python SDK 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 o URL e a chave do ponto final nos campos apropriados.
- Altere o valor de
prompt
para o 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 seu código quando terminar e nunca publique a chave publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Para obter mais informações, consulte Azure Key Vault.
Execute o aplicativo com o python
comando:
python quickstart.py
Aguarde alguns instantes para obter a resposta.
Saída
O Azure OpenAI armazena a imagem de saída no arquivo generated_image.png no diretório especificado. O script também exibe a imagem no visualizador de imagens padrão.
As APIs de geração 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 gerará uma imagem. Para obter mais informações, consulte Filtragem de conteúdo.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Próximos passos
- Explore as APIs de geração de imagens com mais profundidade com o guia de instruções DALL-E.
- Experimente exemplos no repositório GitHub de amostras do Azure OpenAI.
- Consulte a referência da API
Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para C#.
Pacote de código-fonte da biblioteca (NuGet) | Exemplos |
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Acesso concedido ao Serviço Azure OpenAI na assinatura desejada do Azure. Atualmente, o acesso a este serviço é concedido apenas por pedido. Você pode solicitar acesso ao Serviço OpenAI do Azure preenchendo o formulário em https://aka.ms/oai/access.
- O SDK do .NET 7
- Um recurso OpenAI do Azure criado na região Leste dos EUA. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Nota
Atualmente, você deve enviar um aplicativo para acessar o Serviço OpenAI do Azure. Para solicitar o acesso, preencha o formulário em https://aka.ms/oai/access. Se precisar de assistência, abra um problema neste repositório para entrar em contato com a Microsoft.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Valor |
---|---|
ENDPOINT |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Como alternativa, você pode encontrar o valor na Exibição de Código do Azure OpenAI Studio>Playground.> Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar uma nova aplicação .NET Core
Em uma janela de console (como cmd, PowerShell ou Bash), use o dotnet new
comando para criar um novo aplicativo de console com o nome azure-openai-quickstart
. Este comando cria um projeto "Hello World" simples com um único arquivo de origem C#: Program.cs.
dotnet new console -n azure-openai-quickstart
Altere seu diretório para a pasta do aplicativo recém-criada. Você pode criar o aplicativo com:
dotnet build
A saída da compilação não deve conter avisos ou erros.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Instale o OpenAI .NET SDK
Instale a biblioteca de cliente com:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
Gerar imagens com DALL-E
No diretório do projeto, abra o arquivo program.cs e substitua o conteúdo pelo seguinte código:
using System;
using System.IO;
using System.Threading.Tasks;
using Azure.AI.OpenAI;
namespace Azure.AI.OpenAI.Tests.Samples
{
public partial class GenerateImages
{
// add an async Main method:
public static async Task Main(string[] args)
{
string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");
OpenAIClient client = new(new Uri(endpoint), new AzureKeyCredential(key));
Response<ImageGenerations> imageGenerations = await client.GetImageGenerationsAsync(
new ImageGenerationOptions()
{
Prompt = "a happy monkey eating a banana, in watercolor",
Size = ImageSize.Size256x256,
});
// Image Generations responses provide URLs you can use to retrieve requested images
Uri imageUri = imageGenerations.Value.Data[0].Url;
// Print the image URI to console:
Console.WriteLine(imageUri);
}
}
}
Crie e execute o aplicativo a partir do diretório do aplicativo com estes comandos:
dotnet build
dotnet run
Saída
O URL da imagem gerada é impresso no console.
https://dalleproduse.blob.core.windows.net/private/images/552c5522-af4a-4877-a19c-400fac04a422/generated_00.png?se=2023-08-17T16%3A54%3A40Z&sig=XGCIx9r0WvWTJ0LL%2FJGymo2WYp4FDbSQNNrGRUnnUzI%3D&ske=2023-08-19T01%3A10%3A14Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-12T01%3A10%3A14Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02
Nota
As APIs de geração 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 sobre filtro de conteúdo.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximos passos
- Explore as APIs de geração de imagens com mais profundidade com o guia de instruções DALL-E.
- Para obter mais exemplos, confira o repositório GitHub de amostras do Azure OpenAI.
Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para Java.
Código fonte | da biblioteca Artifact (Maven) | Samples
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Acesso concedido ao serviço Azure OpenAI na assinatura desejada do Azure. Atualmente, o acesso a este serviço é concedido apenas por pedido. Você pode solicitar acesso ao Serviço OpenAI do Azure preenchendo o formulário em https://aka.ms/oai/access.
- A versão atual do Java Development Kit (JDK)
- A ferramenta de compilação Gradle ou outro gerenciador de dependência.
- Um recurso OpenAI do Azure criado na região Leste dos EUA. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Nota
Atualmente, você deve enviar um aplicativo para acessar o Serviço OpenAI do Azure. Para solicitar o acesso, preencha o formulário em https://aka.ms/oai/access. Se precisar de assistência, abra um problema neste repositório para entrar em contato com a Microsoft.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Valor |
---|---|
ENDPOINT |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Como alternativa, você pode encontrar o valor na Exibição de Código do Azure OpenAI Studio>Playground.> Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar uma nova aplicação Java
Crie um novo projeto Gradle.
Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma.
mkdir myapp && cd myapp
Execute o comando a gradle init
partir do seu diretório de trabalho. Este comando criará arquivos de compilação essenciais para o Gradle, incluindo build.gradle.kts, que é usado em tempo de execução para criar e configurar seu aplicativo.
gradle init --type basic
Quando solicitado a escolher uma DSL, selecione Kotlin.
Instalar o Java SDK
Este guia de início rápido usa o gerenciador de dependência do Gradle. Você pode encontrar a biblioteca do cliente e informações para outros gerenciadores de dependência no Maven Central Repository.
Localize build.gradle.kts e abra-o com o seu IDE ou editor de texto preferido. Em seguida, copie na seguinte configuração de compilação. Esta configuração define o projeto como uma aplicação Java cujo ponto de entrada é a classe OpenAIQuickstart. Ele importa a biblioteca do Azure AI Vision.
plugins {
java
application
}
application {
mainClass.set("OpenAIQuickstart")
}
repositories {
mavenCentral()
}
dependencies {
implementation(group = "com.azure", name = "azure-ai-openai", version = "1.0.0-beta.3")
implementation("org.slf4j:slf4j-simple:1.7.9")
}
Gerar imagens com DALL-E
Crie um arquivo Java.
No diretório de trabalho, execute o seguinte comando para criar uma pasta de origem do projeto:
mkdir -p src/main/java
Navegue até a nova pasta e crie um arquivo chamado OpenAIQuickstart.java.
Abra OpenAIQuickstart.java em seu editor ou IDE preferido e cole no código a seguir.
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; /** * Sample demonstrates how to get the images for a given prompt. */ public class OpenAIQuickstart { /** * Runs the sample algorithm and demonstrates how to get the images for a given prompt. * * @param args Unused. Arguments to the program. */ public static void main(String[] args) throws InterruptedException { // Get key and endpoint from environment variables: String azureOpenaiKey = System.getenv("AZURE_OPENAI_API_KEY"); String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT"); OpenAIAsyncClient client = new OpenAIClientBuilder() .endpoint(endpoint) .credential(new AzureKeyCredential(azureOpenaiKey)) .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 is not a blocking call. For the purpose of this example, we sleep // the thread so the program does not end before the send operation is complete. Using .block() instead of // .subscribe() will turn this into a synchronous call. TimeUnit.SECONDS.sleep(10); } }
Navegue de volta para a pasta raiz do projeto e crie o aplicativo com:
gradle build
Em seguida, execute-o com o
gradle run
comando:gradle run
Saída
O URL da imagem gerada é impresso no console.
Image location URL that provides temporary access to download the generated image is https://dalleproduse.blob.core.windows.net/private/images/d2ea917f-8802-4ad6-8ef6-3fb7a15c8482/generated_00.png?se=2023-08-25T23%3A11%3A28Z&sig=%2BKa5Mkb9U88DfvxoBpyAjamYRzwb7aVCEucM6XJC3wQ%3D&ske=2023-08-31T15%3A27%3A47Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-24T15%3A27%3A47Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02.
Completed getImages.
Nota
As APIs de geração 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 sobre filtro de conteúdo.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximos passos
- Explore as APIs de geração de imagens com mais profundidade com o guia de instruções DALL-E.
- Para obter mais exemplos, confira o repositório do GitHub de amostras do Azure OpenAI
Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para JavaScript.
Pacote de código-fonte da biblioteca (npm) | Exemplos |
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Acesso concedido ao serviço Azure OpenAI na assinatura desejada do Azure. Atualmente, o acesso a este serviço é concedido apenas por pedido. Você pode solicitar acesso ao Serviço OpenAI do Azure preenchendo o formulário em https://aka.ms/oai/access.
- Versões LTS do Node.js
- Um recurso OpenAI do Azure criado na região Leste dos EUA. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Nota
Atualmente, você deve enviar um aplicativo para acessar o Serviço OpenAI do Azure. Para solicitar o acesso, preencha este formulário. Se precisar de assistência, abra um problema neste repositório para entrar em contato com a Microsoft.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Valor |
---|---|
ENDPOINT |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Como alternativa, você pode encontrar o valor na Exibição de Código do Azure OpenAI Studio>Playground.> Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar um aplicativo de nó
Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma. Em seguida, execute o npm init
comando para criar um aplicativo de nó com um arquivo package.json .
npm init
Instalar a biblioteca de cliente
Instale a biblioteca de cliente do Azure OpenAI para JavaScript com npm:
npm install @azure/openai
O arquivo de package.json do seu aplicativo será atualizado com as dependências.
Gerar imagens com DALL-E
Crie um novo arquivo chamado ImageGeneration.js e abra-o em seu editor de código preferido. Copie o seguinte código para o arquivo ImageGeneration.js :
const { OpenAIClient, AzureKeyCredential } = require("@azure/openai");
// You will need to set these environment variables or edit the following values
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] ;
const azureApiKey = process.env["AZURE_OPENAI_API_KEY"] ;
// The prompt to generate images from
const prompt = "a monkey eating a banana";
const size = "256x256";
// The number of images to generate
const n = 2;
async function main() {
console.log("== Batch Image Generation ==");
const client = new OpenAIClient(endpoint, new AzureKeyCredential(azureApiKey));
const deploymentName = "dall-e";
const results = await client.getImages(deploymentName, prompt, { n, size });
for (const image of results.data) {
console.log(`Image generation result URL: ${image.url}`);
}
//console.log(`Image generation result URL: ${results.result.status}`);
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
Execute o script com o seguinte comando:
node _ImageGeneration.js
Saída
O URL da imagem gerada é impresso no console.
== Batch Image Generation ==
Image generation result URL: https://dalleproduse.blob.core.windows.net/private/images/5e7536a9-a0b5-4260-8769-2d54106f2913/generated_00.png?se=2023-08-29T19%3A12%3A57Z&sig=655GkWajOZ9ALjFykZF%2FBMZRPQALRhf4UPDImWCQoGI%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02
Image generation result URL: https://dalleproduse.blob.core.windows.net/private/images/5e7536a9-a0b5-4260-8769-2d54106f2913/generated_01.png?se=2023-08-29T19%3A12%3A57Z&sig=B24ymPLSZ3HfG23uojOD9VlRFGxjvgcNmvFo4yPUbEc%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02
Nota
As APIs de geração 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 sobre filtro de conteúdo.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso. Antes de excluir o recurso, você deve primeiro excluir todos os modelos implantados.
Próximos passos
- Explore as APIs de geração de imagens com mais profundidade com o guia de instruções DALL-E.
- Para obter mais exemplos, confira o repositório GitHub de amostras do Azure OpenAI.
Use este guia para começar a gerar imagens com o SDK do Azure OpenAI para Go.
Exemplos de pacotes | de código-fonte | da biblioteca
Pré-requisitos
- Uma assinatura do Azure - Crie uma gratuitamente
- Acesso concedido ao DALL-E na assinatura desejada do Azure Atualmente, o acesso a este serviço é concedido apenas por aplicativo. Você pode solicitar acesso ao Azure OpenAI preenchendo o formulário em https://aka.ms/oai/access. Os clientes existentes do Azure OpenAI têm de voltar a submeter o formulário para obterem acesso ao DALL-E. Abra um problema neste repositório para entrar em contato conosco se tiver um problema.
- Um recurso OpenAI do Azure criado na região Leste dos EUA. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Nota
Atualmente, você deve enviar um aplicativo para acessar o Serviço OpenAI do Azure. Para solicitar o acesso, preencha o formulário em https://aka.ms/oai/access. Se precisar de assistência, abra um problema neste repositório para entrar em contato com a Microsoft.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Valor |
---|---|
ENDPOINT |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Como alternativa, você pode encontrar o valor na Exibição de Código do Azure OpenAI Studio>Playground.> Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar um novo aplicativo Go
Abra o prompt de comando e navegue até a pasta do projeto. Crie um novo arquivo sample.go.
Instalar o SDK Go
Instale o OpenAI Go SDK usando o seguinte comando:
go get github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai@latest
Ou, se você usar dep
o , dentro da execução do repositório:
dep ensure -add github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai
Gerar imagens com DALL-E
Abra sample.go no seu editor de código preferido.
Adicione o seguinte código ao script:
package main
import (
"context"
"fmt"
"net/http"
"os"
"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
)
func main() {
azureOpenAIKey := os.Getenv("AZURE_OPENAI_API_KEY")
// Ex: "https://<your-azure-openai-host>.openai.azure.com"
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
if azureOpenAIKey == "" || azureOpenAIEndpoint == "" {
fmt.Fprintf(os.Stderr, "Skipping example, environment variables missing\n")
return
}
keyCredential, err := azopenai.NewKeyCredential(azureOpenAIKey)
if err != nil {
// handle error
}
client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)
if err != nil {
// handle error
}
resp, err := client.CreateImage(context.TODO(), azopenai.ImageGenerationOptions{
Prompt: to.Ptr("a painting of a cat in the style of Dali"),
ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL),
}, nil)
if err != nil {
// handle error
}
for _, generatedImage := range resp.Data {
// the underlying type for the generatedImage is dictated by the value of
// ImageGenerationOptions.ResponseFormat. In this example we used `azopenai.ImageGenerationResponseFormatURL`,
// so the underlying type will be ImageLocation.
resp, err := http.Head(*generatedImage.URL)
if err != nil {
// handle error
}
fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL)
}
}
Execute o script usando o go run
comando:
go run sample.go
Saída
O URL da imagem gerada é impresso no console.
Image generated, HEAD request on URL returned 200
Image URL: https://dalleproduse.blob.core.windows.net/private/images/d7b28a5c-ca32-4792-8c2a-6a5d8d8e5e45/generated_00.png?se=2023-08-29T17%3A05%3A37Z&sig=loqntaPypYVr9VTT5vpbsjsCz31g1GsdoQi0smbGkks%3D&ske=2023-09-02T18%3A53%3A23Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2023-08-26T18%3A53%3A23Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02
Nota
As APIs de geração 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 sobre filtro de conteúdo.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Próximos passos
- Explore as APIs de geração de imagens com mais profundidade com o guia de instruções DALL-E.
- Para obter mais exemplos, confira o repositório GitHub de amostras do Azure OpenAI.
Use este guia para começar a chamar as APIs de geração de imagem do Serviço OpenAI do Azure usando o PowerShell.
Nota
A API de geração de imagem cria uma imagem a partir de um prompt de texto. Não edita imagens existentes nem cria variações.
Pré-requisitos
- Uma subscrição do Azure. Crie um gratuitamente.
- Acesso concedido ao DALL-E na assinatura desejada do Azure.
- Para esta tarefa, a versão mais recente do PowerShell 7 é recomendada porque os exemplos usam novos recursos não disponíveis no Windows PowerShell 5.1.
- Um recurso OpenAI do Azure criado na região Leste dos EUA. Para obter mais informações, consulte Criar um recurso e implantar um modelo com o Azure OpenAI.
Nota
Atualmente, você deve enviar um aplicativo para acessar o Serviço OpenAI do Azure. Para solicitar o acesso, preencha este formulário. Se precisar de assistência, abra um problema neste repositório para entrar em contato com a Microsoft.
Configurar
Recuperar chave e ponto de extremidade
Para fazer uma chamada com êxito no Azure OpenAI, você precisa de um ponto de extremidade e uma chave.
Nome da variável | Valor |
---|---|
ENDPOINT |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Como alternativa, você pode encontrar o valor na Exibição de Código do Azure OpenAI Studio>Playground.> Um exemplo de ponto de extremidade é: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Este valor pode ser encontrado na secção Chaves e Ponto Final ao examinar o recurso no portal do Azure. Pode utilizar KEY1 ou KEY2 . |
Vá para o seu recurso no portal do Azure. A seção Chaves & Ponto Final pode ser encontrada na seção Gerenciamento de Recursos. Copie seu endpoint e sua chave de acesso, pois você precisará de ambos para autenticar suas chamadas de API. Pode utilizar KEY1
ou KEY2
. Ter sempre duas chaves permite-lhe rodar e regenerar chaves de forma segura sem causar uma interrupção do serviço.
Variáveis de ambiente
Crie e atribua variáveis de ambiente persistentes para sua chave e endpoint.
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Criar um novo script do PowerShell
Crie um novo arquivo do PowerShell chamado quickstart.ps1. Abra o novo arquivo em seu editor ou IDE preferido.
Substitua o conteúdo de quickstart.ps1 pelo código a seguir. Insira o URL e a chave do ponto final nos campos apropriados. Altere o valor de
prompt
para o seu texto preferido.# Azure OpenAI metadata variables $openai = @{ api_key = $Env:AZURE_OPENAI_API_KEY api_base = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/ api_version = '2023-06-01-preview' # this may change in the future } # Text to describe image $prompt = 'A painting of a dog' # Header for authentication $headers = [ordered]@{ 'api-key' = $openai.api_key } # 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 uma maneira segura de armazenar e acessar suas credenciais, como o Gerenciamento Secreto do PowerShell com o Cofre de Chaves do Azure. Para obter mais informações sobre segurança de credenciais, consulte o artigo de segurança dos serviços de IA do Azure.
Execute o script usando o PowerShell:
./quickstart.ps1
O script é executado 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 para o arquivo é retornado no final do script.
As APIs de geração 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 gerará uma imagem. Para obter mais informações, consulte Filtragem de conteúdo.
Clean up resources (Limpar recursos)
Se quiser limpar e remover um recurso do Azure OpenAI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.
Próximos passos
- Explore as APIs de geração de imagens com mais profundidade com o guia de instruções DALL-E.
- Experimente exemplos no repositório GitHub de amostras do Azure OpenAI.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários