Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
API создания изображений создает изображение из текстового запроса. Он не редактирует или не создает варианты из существующих образов.
Используйте это руководство, чтобы приступить к созданию образов с помощью Azure OpenAI в браузере с помощью Azure AI Foundry.
Необходимые компоненты
- Подписка Azure. Создайте ее бесплатно.
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе. См . сведения о доступности региона. Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Перейдите в Azure AI Foundry
Перейдите к Azure AI Foundry и войдите с учетными данными, связанными с ресурсом Azure OpenAI. Во время или после рабочего процесса входа выберите соответствующий каталог, подписку Azure и ресурс Azure OpenAI.
На целевой странице Azure AI Foundry создайте или выберите новый проект. Перейдите на страницу "Модели + конечные точки" на левой панели навигации . Выберите " Развернуть модель " и выберите одну из моделей DALL-E из списка. Завершите процесс развертывания.
На странице модели выберите "Открыть на детской площадке".
Попробуйте создание образа
Начните изучать возможности 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 Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
Ключ | api_key |
Значение ключа также находится в разделе "Ключи" и "Конечная точка" для ресурса в портал Azure. Azure создает два ключа для ресурса. Можно использовать любое значение. |
Перейдите к своему ресурсу на портале Azure. На панели навигации выберите "Ключи" и "Конечная точка " в разделе "Управление ресурсами". Скопируйте значение конечной точки и значение ключа доступа. Можно использовать значение KEY 1 или KEY 2 . Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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 Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
Ключ | api_key |
Значение ключа также находится в разделе "Ключи" и "Конечная точка" для ресурса в портал Azure. Azure создает два ключа для ресурса. Можно использовать любое значение. |
Перейдите к своему ресурсу на портале Azure. На панели навигации выберите "Ключи" и "Конечная точка " в разделе "Управление ресурсами". Скопируйте значение конечной точки и значение ключа доступа. Можно использовать значение KEY 1 или KEY 2 . Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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 Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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 Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль учетной
Cognitive Services User
записи пользователя. Роли можно назначить в портал Azure в разделе управления доступом (IAM)>Добавить назначение ролей.
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Значение |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе "Ключи и конечная точка" при изучении ресурса из портал Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали для развертывания при развертывании модели. Это значение можно найти в разделе "Развертывания модели управления>ресурсами" в портал Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Внимание
Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY
переменная среды не задана.
Создание приложения 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.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль учетной
Cognitive Services User
записи пользователя. Роли можно назначить в портал Azure в разделе управления доступом (IAM)>Добавить назначение ролей.
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Значение |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе "Ключи и конечная точка" при изучении ресурса из портал Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали для развертывания при развертывании модели. Это значение можно найти в разделе "Развертывания модели управления>ресурсами" в портал Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Внимание
Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY
переменная среды не задана.
Создание приложения 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 Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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 Foundry. Пример конечной точки: https://docs-test-001.openai.azure.com/ . |
API-KEY |
Это значение можно найти в разделе Ключи и конечная точка при просмотре ресурса на портале Azure. Вы можете использовать KEY1 или KEY2 . |
Перейдите к своему ресурсу на портале Azure. Раздел "Ключи и конечная точка " можно найти в разделе "Управление ресурсами". Скопируйте конечную точку и ключ доступа, так как они потребуются для проверки подлинности вызовов API. Вы можете использовать KEY1
или KEY2
. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Внимание
Мы рекомендуем использовать проверку подлинности Идентификатора Microsoft Entra с управляемыми удостоверениями для ресурсов Azure, чтобы избежать хранения учетных данных с приложениями, работающими в облаке.
Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. При использовании ключей API безопасно храните их в Azure Key Vault, регулярно поворачивайте ключи и ограничьте доступ к Azure Key Vault с помощью управления доступом на основе ролей и ограничений доступа к сети. Дополнительные сведения об использовании ключей API безопасно в приложениях см. в разделе "Ключи API" с помощью Azure Key Vault.
Дополнительные сведения о безопасности служб ИИ см. в статье "Проверка подлинности запросов к службам ИИ 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.