Краткое руководство. Создание образов с помощью Службы Azure OpenAI
Примечание.
API создания изображений создает изображение из текстового запроса. Он не редактирует или не создает варианты из существующих образов.
Используйте это руководство, чтобы приступить к созданию образов с помощью Azure OpenAI в браузере.
Необходимые компоненты
- Подписка Azure. Создайте ее бесплатно.
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе. См . сведения о доступности региона.
- Затем необходимо развернуть модель с ресурсом
dalle3
Azure. Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Перейдите в Azure OpenAI Studio
Перейдите в Azure OpenAI Studio и войдите с учетными данными, связанными с ресурсом Azure OpenAI. Во время или после рабочего процесса входа выберите соответствующий каталог, подписку Azure и ресурс Azure OpenAI.
На целевой странице Azure OpenAI Studio выберите площадку "Образы", чтобы использовать API создания образов. Выберите параметры в верхней части страницы и убедитесь, что в раскрывающемся списке развертывания выбрано развертывание DALL-E 3.
Попробуйте создание образа
Начните изучать возможности Azure OpenAI с использованием подхода без кода на игровой площадке "Образы". Введите запрос изображения в текстовое поле и нажмите кнопку "Создать". Когда изображение, созданное СИ, будет готово, оно отображается на странице.
Примечание.
API создания изображений приходят с фильтром con режим палатки ration. Если Azure OpenAI распознает запрос как вредное содержимое, он не возвращает созданный образ. Дополнительные сведения см. в разделе "Фильтрация содержимого".
На игровой площадке "Изображения" можно также просматривать примеры кода Python и cURL, которые предварительно заполнены в соответствии с параметрами. Выберите "Просмотреть код " в верхней части страницы. Этот код можно использовать для записи приложения, которое завершает ту же задачу.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Ознакомьтесь с API создания изображений более подробно с помощью руководства по DALL-E.
- Попробуйте примеры в репозитории GitHub в Azure OpenAI Samples.
- См. справочник по API
Используйте это руководство, чтобы приступить к вызову ИНТЕРФЕЙСов REST API создания образов Azure OpenAI с помощью Python.
Необходимые компоненты
- Подписка Azure. Создайте ее бесплатно.
- Python 3.8 или более поздней версии.
- Установлены следующие библиотеки Python:
os
,requests
json
. - Ресурс Azure OpenAI, созданный в поддерживаемом регионе. См . сведения о доступности региона.
- Затем необходимо развернуть модель с ресурсом
dalle3
Azure. Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Настройка
Получение ключа и конечной точки
Чтобы успешно вызвать API Azure OpenAI, вам потребуется следующая информация о ресурсе Azure OpenAI:
«Переменная» | Имя. | Значение |
---|---|---|
Конечная точка | api_base |
Значение конечной точки находится в разделе "Ключи" и "Конечная точка" для ресурса в портал Azure. Вы также можете найти конечную точку на странице "Развертывания" в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
Ключ | api_key |
Значение ключа также находится в разделе "Ключи" и "Конечная точка" для ресурса в портал Azure. Azure создает два ключа для ресурса. Можно использовать любое значение. |
Перейдите к своему ресурсу на портале Azure. На панели навигации выберите "Ключи" и "Конечная точка " в разделе "Управление ресурсами". Скопируйте значение конечной точки и значение ключа доступа. Можно использовать значение KEY 1 или KEY 2 . Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Создание приложения Python
Создайте файл Python с именем quickstart.py. Откройте новый файл в предпочтительном редакторе или интегрированной среде разработки.
Замените содержимое quickstart.py следующим кодом. Измените значение предпочтительного
prompt
текста.Кроме того, необходимо заменить
<dalle3>
URL-адрес именем развертывания, выбранным при развертывании модели DALL-E 3. Ввод имени модели приведет к ошибке, если вы не выбрали имя развертывания, идентичное имени базовой модели. При возникновении ошибки дважды проверьте, что у вас нет удвоения/
между конечной точкой и/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)
Скрипт выполняет синхронный вызов API создания образов.
Внимание
Не забудьте удалить ключ из кода, когда вы закончите, и никогда не публикуйте ключ. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным,. Дополнительные сведения см. в Azure Key Vault.
Запустите приложение, выполнив команду
python
:python quickstart.py
Подождите несколько минут, чтобы получить ответ.
Выходные данные
Выходные данные из успешного вызова API создания изображений выглядят следующим образом. Поле url
содержит URL-адрес, в котором можно скачать созданный образ. URL-адрес остается активным в течение 24 часов.
{
"created": 1698116662,
"data": [
{
"url": "<URL_to_generated_image>",
"revised_prompt": "<prompt_that_was_used>"
}
]
}
API создания изображений приходят с фильтром con режим палатки ration. Если служба распознает запрос как вредное содержимое, он не создает образ. Дополнительные сведения см. в разделе "Фильтрация содержимого". Примеры ответов на ошибки см. в руководстве по DALL-E.
Система возвращает состояние Failed
операции и error.code
задается contentFilter
значение в сообщении. Приведем пример:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Your task failed as a result of our safety system."
}
}
Кроме того, возможно, что созданный образ фильтруется. В этом случае для сообщения об ошибке задано Generated image was filtered as a result of our safety system.
значение . Приведем пример:
{
"created": 1698435368,
"error":
{
"code": "contentFilter",
"message": "Generated image was filtered as a result of our safety system."
}
}
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Ознакомьтесь с API создания изображений более подробно с помощью руководства по DALL-E.
- Попробуйте примеры в репозитории GitHub в Azure OpenAI Samples.
- См. справочник по API
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK OpenAI для Azure для Python.
Исходный код библиотеки | Пакет | Примеры
Необходимые компоненты
- Подписка Azure. Создайте ее бесплатно.
- Python 3.8 или более поздней версии.
- Ресурс Azure OpenAI, созданный в совместимом регионе. См . сведения о доступности региона.
- Затем необходимо развернуть модель с ресурсом
dalle3
Azure. Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Настройка
Получение ключа и конечной точки
Чтобы успешно вызвать API Azure OpenAI, вам потребуется следующая информация о ресурсе Azure OpenAI:
«Переменная» | Имя. | Значение |
---|---|---|
Конечная точка | api_base |
Значение конечной точки находится в разделе "Ключи" и "Конечная точка" для ресурса в портал Azure. Вы также можете найти конечную точку на странице "Развертывания" в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
Ключ | api_key |
Значение ключа также находится в разделе "Ключи" и "Конечная точка" для ресурса в портал Azure. Azure создает два ключа для ресурса. Можно использовать любое значение. |
Перейдите к своему ресурсу на портале Azure. На панели навигации выберите "Ключи" и "Конечная точка " в разделе "Управление ресурсами". Скопируйте значение конечной точки и значение ключа доступа. Можно использовать значение KEY 1 или KEY 2 . Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Установка пакета SDK для Python
Откройте командную строку и перейдите к папке проекта. Установите пакет SDK Для Python OpenAI с помощью следующей команды:
pip install openai
Установите следующие библиотеки, а также:
pip install requests
pip install pillow
Создание образов с помощью DALL-E
Создайте файл Python quickstart.py. Откройте его в предпочитаемом редакторе или интегрированной среде разработки.
Замените содержимое quickstart.py следующим кодом.
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()
- Введите URL-адрес конечной точки и ключ в соответствующих полях.
- Измените значение предпочтительного
prompt
текста. - Измените значение
model
на имя развернутой модели DALL-E 3.
Внимание
Не забудьте удалить ключ из кода, когда вы закончите, и никогда не публикуйте ключ. Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным,. Дополнительные сведения см. в Azure Key Vault.
Запустите приложение, выполнив команду python
:
python quickstart.py
Подождите несколько минут, чтобы получить ответ.
Выходные данные
Azure OpenAI сохраняет выходной образ в файле generated_image.png в указанном каталоге. Сценарий также отображает изображение в средстве просмотра изображений по умолчанию.
API создания изображений приходят с фильтром con режим палатки ration. Если служба распознает запрос как вредное содержимое, он не создает образ. Дополнительные сведения см. в разделе "Фильтрация содержимого".
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Ознакомьтесь с API создания изображений более подробно с помощью руководства по DALL-E.
- Попробуйте примеры в репозитории GitHub в Azure OpenAI Samples.
- См. справочник по API
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK Для Azure OpenAI для C#.
Примеры пакета исходного кода | библиотеки (NuGet) |
Необходимые компоненты
- подписка Azure — создайте бесплатную учетную запись.
- Пакет SDK для .NET 7
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Создание приложения .NET Core
В окне консоли (cmd, PowerShell или Bash) выполните команду dotnet new
, чтобы создать консольное приложение с именем azure-openai-quickstart
. Эта команда создает простой проект Hello World с одним исходным файлом C#: Program.cs.
dotnet new console -n azure-openai-quickstart
Измените каталог на созданную папку приложения. Чтобы создать приложение, выполните следующую команду:
dotnet build
Выходные данные сборки не должны содержать предупреждений или ошибок.
...
Build succeeded.
0 Warning(s)
0 Error(s)
...
Установка пакета SDK для OpenAI .NET
Установите клиентская библиотека с помощью следующих компонентов:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
Создание образов с помощью DALL-E
В каталоге проекта откройте файл program.cs и замените содержимое следующим кодом:
using Azure;
using Azure.AI.OpenAI;
using OpenAI.Images;
using static System.Environment;
string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");
AzureOpenAIClient azureClient = new(
new Uri(endpoint),
new AzureKeyCredential(key));
// This must match the custom deployment name you chose for your model
ImageClient chatClient = azureClient.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);
Создайте и запустите приложение из каталога приложения с помощью следующих команд:
dotnet build
dotnet run
Выходные данные
URL-адрес созданного изображения выводится в консоль.
https://dalleproduse.blob.core.windows.net/private/images/b7ac5e55-f1f8-497a-8d0e-8f51446bf538/generated_00.png?se=2024-07-12T13%3A47%3A56Z&sig=Zri37iYVTVtc52qzTFBOqPgSHvXwEhcO86Smv2ojB%2FE%3D&ske=2024-07-17T12%3A15%3A44Z&skoid=09ba021e-c417-441c-b203-c81e5dcd7b7f&sks=b&skt=2024-07-10T12%3A15%3A44Z&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skv=2020-10-02&sp=r&spr=https&sr=b&sv=2020-10-02
Примечание.
API создания изображений приходят с фильтром con режим палатки ration. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Следующие шаги
- Ознакомьтесь с API создания изображений более подробно с помощью руководства по DALL-E.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples.
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK OpenAI для Azure для Java.
Примеры артефакта исходного кода | библиотеки (Maven) |
Необходимые компоненты
- подписка Azure — создайте бесплатную учетную запись.
- Текущая версия пакета средств разработки Java (JDK).
- Средство сборки Gradle или другой диспетчер зависимостей.
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Создание нового приложения Java
Создайте проект Gradle.
В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него.
mkdir myapp && cd myapp
Выполните команду gradle init
из рабочей папки. Эта команда создает необходимые файлы сборки для Gradle, включая build.gradle.kts, который используется во время выполнения для создания и настройки приложения.
gradle init --type basic
Когда появится запрос на выбор предметно-ориентированного языка, выберите Kotlin.
Установка пакета SDK для Java
В этом кратком руководстве используется диспетчер зависимостей Gradle. Клиентскую библиотеку и информацию для других диспетчеров зависимостей можно найти в центральном репозитории Maven.
Найдите файл build.gradle.kts и откройте его в предпочитаемой интегрированной среде разработки или текстовом редакторе. Затем скопируйте и вставьте в файл приведенную ниже конфигурацию сборки. Эта конфигурация определяет проект как приложение Java, точка входа которого — класс OpenAIQuickstart. Она импортирует библиотеку Визуального распознавания ИИ Azure.
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")
}
Создание образов с помощью DALL-E
Создайте файл Java.
В рабочей папке выполните следующую команду, чтобы создать исходную папку проекта.
mkdir -p src/main/java
Перейдите к новой папке и создайте файл с именем OpenAIQuickstart.java.
Откройте OpenAIQuickstart.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; /** * 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); } }
Вернитесь в корневую папку проекта и выполните сборку приложения:
gradle build
Затем запустите его с помощью команды
gradle run
:gradle run
Выходные данные
URL-адрес созданного изображения выводится в консоль.
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.
Примечание.
API создания изображений приходят с фильтром con режим палатки ration. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Следующие шаги
- Ознакомьтесь с API создания изображений более подробно с помощью руководства по DALL-E.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK OpenAI для Azure для JavaScript.
Примеры пакета исходного кода | документации | (npm) |
Необходимые компоненты
- подписка Azure — создайте бесплатную учетную запись.
- LTS версии Node.js
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Создание приложения Node
В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него. Затем выполните npm init
команду, чтобы создать приложение узла с package.json файлом.
npm init
Установка клиентской библиотеки
Установите клиентские библиотеки с помощью следующих компонентов:
npm install openai @azure/identity
Файл package.json приложения будет обновлен с помощью зависимостей.
Создание образов с помощью DALL-E
Создайте файл с именем ImageGeneration.js и откройте его в предпочтительном редакторе кода. Скопируйте следующий код в файл ImageGeneration.js :
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"];
// Required Azure OpenAI deployment name and API version
const apiVersion = "2024-07-01";
const deploymentName = "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);
});
Выполните скрипт с помощью следующей команды:
node ImageGeneration.js
Выходные данные
URL-адрес созданного изображения выводится в консоль.
== 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
Примечание.
API создания изображений приходят с фильтром con режим палатки ration. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Следующие шаги
- Ознакомьтесь с API создания изображений более подробно с помощью руководства по DALL-E.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples.
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK OpenAI для Azure для JavaScript.
Примеры пакета исходного кода | документации | (npm) |
Необходимые компоненты
- подписка Azure — создайте бесплатную учетную запись.
- LTS версии Node.js
- TypeScript
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Создание приложения Node
В окне консоли (например, cmd, PowerShell или Bash) создайте новый каталог для приложения и перейдите в него. Затем выполните npm init
команду, чтобы создать приложение узла с package.json файлом.
npm init
Установка клиентской библиотеки
Установите клиентские библиотеки с помощью следующих компонентов:
npm install openai @azure/identity
Файл package.json приложения будет обновлен с помощью зависимостей.
Создание образов с помощью DALL-E
Создайте файл с именем ImageGeneration.ts и откройте его в предпочтительном редакторе кода. Скопируйте следующий код в файл ImageGeneration.ts :
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"];
// Required Azure OpenAI deployment name and API version
const apiVersion = "2024-07-01";
const deploymentName = "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);
});
Создайте приложение с помощью следующей команды:
tsc
Запустите приложение, выполнив следующую команду:
node ImageGeneration.js
Выходные данные
URL-адрес созданного изображения выводится в консоль.
== 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
Примечание.
API создания изображений приходят с фильтром con режим палатки ration. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Следующие шаги
- Ознакомьтесь с API создания изображений более подробно с помощью руководства по DALL-E.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples.
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK OpenAI для Azure для Go.
Исходный код библиотеки | Пакет | Примеры
Необходимые компоненты
- подписка Azure — создайте бесплатную учетную запись.
- Go 1.8 или более поздней версии
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Создание приложения Go
Откройте командную строку и перейдите в папку проекта. Создайте файл sample.go.
Установка пакета Go SDK
Установите пакет SDK OpenAI Go с помощью следующей команды:
go get github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai@latest
Или, если вы используете dep
, в репозитории выполните следующие действия:
dep ensure -add github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai
Создание образов с помощью DALL-E
Откройте sample.go в предпочитаемом редакторе кода.
Добавьте следующий код в скрипт:
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"
"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 := azcore.NewKeyCredential(azureOpenAIKey)
client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)
if err != nil {
// handle error
}
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),
}, 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)
}
}
Запустите скрипт с помощью go run
команды:
go run sample.go
Выходные данные
URL-адрес созданного изображения выводится в консоль.
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
Примечание.
API создания изображений приходят с фильтром con режим палатки ration. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Дополнительные сведения см. в статье фильтра содержимого.
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Ознакомьтесь с API создания изображений более подробно с помощью руководства по DALL-E.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples.
Используйте это руководство, чтобы приступить к вызову API создания образов Azure OpenAI с помощью PowerShell.
Примечание.
API создания изображений создает изображение из текстового запроса. Он не редактирует или не создает варианты существующих образов.
Необходимые компоненты
- Подписка Azure. Создайте ее бесплатно.
- Для этой задачи рекомендуется использовать последнюю версию PowerShell 7, так как в примерах используются новые функции, недоступные в Windows PowerShell 5.1.
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Настройка
Получение ключа и конечной точки
Чтобы успешно выполнить вызов к Azure OpenAI, вам потребуется конечная точка и ключ.
Имя переменной | Значение |
---|---|
ENDPOINT |
Конечная точка службы можно найти в разделе "Ключи" и "Конечная точка" при изучении ресурса из портал Azure. Кроме того, можно найти конечную точку на странице "Развертывания " в Azure AI Studio. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Если вы используете ключ API, сохраните его в другом месте, например в Azure Key Vault. Не включайте ключ API непосредственно в код и никогда не публикуйте его.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ Azure".
setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE"
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE"
Создание изображений с помощью DALL-E 2
Создайте новый файл PowerShell с именем quickstart.ps1. Откройте новый файл в предпочтительном редакторе или интегрированной среде разработки.
Замените содержимое quickstart.ps1 следующим кодом. Введите URL-адрес конечной точки и ключ в соответствующих полях. Измените значение предпочтительного
prompt
текста.# 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
Внимание
Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, таким как Управление секретами PowerShell с помощью Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в статье о безопасности служб искусственного интеллекта Azure.
Запустите скрипт с помощью PowerShell:
./quickstart.ps1
Скрипт цикличен, пока созданный образ не будет готов.
Выходные данные
PowerShell запрашивает образ из Azure OpenAI и сохраняет выходной образ в файле generated_image.png в указанном каталоге. Для удобства полный путь к файлу возвращается в конце скрипта.
API создания изображений приходят с фильтром con режим палатки ration. Если служба распознает запрос как вредное содержимое, он не создает образ. Дополнительные сведения см. в разделе "Фильтрация содержимого".
Очистка ресурсов
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы.
Следующие шаги
- Ознакомьтесь с API создания изображений более подробно с помощью руководства по DALL-E.
- Попробуйте примеры в репозитории GitHub в Azure OpenAI Samples.