Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
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-интерфейсы изображений содержат фильтр модерации содержимого. Если Azure OpenAI распознает запрос как вредное содержимое, он не возвращает созданный образ. Дополнительные сведения см. в разделе "Фильтрация содержимого".
На игровой площадке "Изображения" можно также просматривать примеры кода Python и cURL, которые предварительно заполнены в соответствии с параметрами. Выберите "Просмотреть код " в верхней части страницы. Этот код можно использовать для записи приложения, которое завершает ту же задачу.
Очистите ресурсы
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. Удаление группы ресурсов также удаляет все другие ресурсы, связанные с ней.
Дальнейшие шаги
- Дополнительные сведения об API изображений см. в руководстве по API изображений.
- Попробуйте примеры в репозитории GitHub в Azure OpenAI Samples.
- См. справочник по API
Используйте это руководство, чтобы приступить к вызову Azure OpenAI в Azure AI Foundry Models image generation REST API с помощью Python.
Предпосылки
- Подписка Azure. Создайте его бесплатно.
- Python 3.8 или более поздней версии.
- Установлены следующие библиотеки Python:
os
,requests
json
. - Ресурс Azure OpenAI, созданный в поддерживаемом регионе. См. Доступность региона.
- Затем необходимо развернуть модель
gpt-image-1
или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. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
На снимке экрана показана страница "Ключи и конечная точка" для ресурса Azure OpenAI в портале Azure.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Это важно
Мы рекомендуем использовать идентификацию Microsoft Entra ID с управляемыми удостоверениями для ресурсов 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
текста. Также установитеdeployment
как имя развертывания, выбранное при развертывании модели GPT-image-1.import os import requests import base64 from PIL import Image from io import BytesIO # set environment variables endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") subscription_key = os.getenv("AZURE_OPENAI_API_KEY") deployment = "gpt-image-1" # the name of your GPT-image-1 deployment api_version = "2025-04-01-preview" # or later version def decode_and_save_image(b64_data, output_filename): image = Image.open(BytesIO(base64.b64decode(b64_data))) image.show() image.save(output_filename) def save_all_images_from_response(response_data, filename_prefix): for idx, item in enumerate(response_data['data']): b64_img = item['b64_json'] filename = f"{filename_prefix}_{idx+1}.png" decode_and_save_image(b64_img, filename) print(f"Image saved to: '{filename}'") base_path = f'openai/deployments/{deployment}/images' params = f'?api-version={api_version}' generation_url = f"{endpoint}{base_path}/generations{params}" generation_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium", "output_format": "png" } generation_response = requests.post( generation_url, headers={ 'Api-Key': subscription_key, 'Content-Type': 'application/json', }, json=generation_body ).json() save_all_images_from_response(generation_response, "generated_image") # In addition to generating images, you can edit them. edit_url = f"{endpoint}{base_path}/edits{params}" edit_body = { "prompt": "girl falling asleep", "n": 1, "size": "1024x1024", "quality": "medium" } files = { "image": ("generated_image_1.png", open("generated_image_1.png", "rb"), "image/png"), # You can use a mask to specify which parts of the image you want to edit. # The mask must be the same size as the input image. # "mask": ("mask.png", open("mask.png", "rb"), "image/png"), } edit_response = requests.post( edit_url, headers={'Api-Key': subscription_key}, data=edit_body, files=files ).json() save_all_images_from_response(edit_response, "edited_image")
Скрипт выполняет синхронный вызов 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-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не создает образ. Дополнительные сведения см. в разделе "Фильтрация содержимого". Примеры ответов на ошибки см. в руководстве по создании образов.
Система возвращает состояние 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 изображений см. в руководстве по API изображений.
- Попробуйте примеры в репозитории 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. Наличие двух ключей позволяет безопасно менять и повторно создавать ключи без прерывания работы службы.
На снимке экрана показана страница "Ключи и конечная точка" для ресурса Azure OpenAI в портале Azure.
Переменные среды
Создайте и назначьте переменные постоянной среды для ключа и конечной точки.
Это важно
Мы рекомендуем использовать идентификацию Microsoft Entra ID с управляемыми удостоверениями для ресурсов 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-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не создает образ. Дополнительные сведения см. в разделе "Фильтрация содержимого".
Очистите ресурсы
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. Удаление группы ресурсов также удаляет все другие ресурсы, связанные с ней.
Дальнейшие шаги
- Дополнительные сведения об API изображений см. в руководстве по API изображений.
- Попробуйте примеры в репозитории GitHub в Azure OpenAI Samples.
- См. справочник по API
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK Для Azure OpenAI для C#.
Примеры пакета исходного кода | библиотеки (NuGet) |
Предпосылки
- подписка Azure — создайте бесплатную учетную запись.
- Пакет SDK для .NET 7
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль
Cognitive Services User
своему аккаунту пользователя. Роли можно назначить в портале Azure в разделе Контроль доступа (IAM)>Добавить назначение ролей.
Настройка
Создайте новую папку
vision-quickstart
и перейдите в папку быстрого запуска, используя следующую команду:mkdir vision-quickstart && cd vision-quickstart
Создайте консольное приложение со следующей командой:
dotnet new console
Установите клиентскую библиотеку OpenAI .NET с помощью команды dotnet add package:
dotnet add package Azure.AI.OpenAI --version 1.0.0-beta.6
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra установите пакет Azure.Identity с помощью:
dotnet add package Azure.Identity
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra войдите в Azure с помощью следующей команды:
az login
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Ценность |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе "Ключи и конечная точка доступа" при просмотре ресурса на портале Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Управление ресурсами>Развертывание моделей на портале Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. Вы можете изменить версию в коде или использовать переменную среды. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Выполните быстрый старт
Пример кода в этом кратком руководстве использует идентификатор Microsoft Entra для рекомендуемой проверки подлинности без ключей. Если вы предпочитаете использовать ключ API, можно заменить DefaultAzureCredential
объект AzureKeyCredential
объектом.
AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential());
Чтобы запустить быстрый старт, выполните следующие действия.
Замените содержимое
Program.cs
следующим кодом и обновите заполнительные значения на собственные.using Azure; using Azure.AI.OpenAI; using OpenAI.Images; using static System.Environment; string endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT") ?? "https://<your-resource-name>.openai.azure.com/"; string key = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? "<your-key>"; // Use the recommended keyless credential instead of the AzureKeyCredential credential. AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new DefaultAzureCredential()); //AzureOpenAIClient openAIClient = new AzureOpenAIClient(new Uri(endpoint), new AzureKeyCredential(key)); // This must match the custom deployment name you chose for your model ImageClient chatClient = openAIClient.GetImageClient("dalle-3"); var imageGeneration = await chatClient.GenerateImageAsync( "a happy monkey sitting in a tree, in watercolor", new ImageGenerationOptions() { Size = GeneratedImageSize.W1024xH1024 } ); Console.WriteLine(imageGeneration.Value.ImageUri);
Запустите приложение с помощью
dotnet run
команды или кнопки запуска в верхней части Visual Studio:dotnet run
Выходные данные
URL-адрес созданного изображения выводится в консоль.
<SAS URL>
Замечание
API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Для получения дополнительной информации см. статью о фильтре содержимого.
Очистите ресурсы
Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Дальнейшие шаги
- Дополнительные сведения об API изображений см. в руководстве по API изображений.
- Для получения дополнительных примеров ознакомьтесь с репозиторием GitHub в Azure OpenAI Samples.
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK OpenAI для Azure для Java.
Примеры артефакта исходного кода | библиотеки (Maven) |
Предпосылки
- подписка Azure — создайте бесплатную учетную запись.
- Текущая версия пакета средств разработки Java (JDK).
- Установите Apache Maven.
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль
Cognitive Services User
своему аккаунту пользователя. Роли можно назначить в портале Azure в разделе Контроль доступа (IAM)>Добавить назначение ролей.
Настройка
Создайте новую папку
vision-quickstart
и перейдите в папку быстрого запуска, используя следующую команду:mkdir vision-quickstart && cd vision-quickstart
Установите Apache Maven. Затем выполните команду
mvn -v
, чтобы подтвердить успешную установку.Создайте файл
pom.xml
в корне проекта и скопируйте в него следующий код:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.azure.samples</groupId> <artifactId>quickstart-dall-e</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.azure</groupId> <artifactId>azure-ai-openai</artifactId> <version>1.0.0-beta.3</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-core</artifactId> <version>1.53.0</version> </dependency> <dependency> <groupId>com.azure</groupId> <artifactId>azure-identity</artifactId> <version>1.15.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.9</version> </dependency> </dependencies> </project>
Установите SDK Azure OpenAI и зависимости.
mvn clean dependency:copy-dependencies
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra войдите в Azure с помощью следующей команды:
az login
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Ценность |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе "Ключи и конечная точка доступа" при просмотре ресурса на портале Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Управление ресурсами>Развертывание моделей на портале Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. Вы можете изменить версию в коде или использовать переменную среды. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Запуск приложения
Пример кода в этом кратком руководстве использует идентификатор Microsoft Entra для рекомендуемой проверки подлинности без ключей. Если вы предпочитаете использовать ключ API, можно заменить DefaultAzureCredential
объект AzureKeyCredential
объектом.
OpenAIAsyncClient client = new OpenAIClientBuilder()
.endpoint(endpoint)
.credential(new DefaultAzureCredentialBuilder().build())
.buildAsyncClient();
Выполните следующие действия, чтобы создать консольное приложение для распознавания речи.
Создайте файл с именем Quickstart.java в том же корневом каталоге проекта.
Скопируйте следующий код в Quickstart.java:
import com.azure.ai.openai.OpenAIAsyncClient; import com.azure.ai.openai.OpenAIClientBuilder; import com.azure.ai.openai.models.ImageGenerationOptions; import com.azure.ai.openai.models.ImageLocation; import com.azure.core.credential.AzureKeyCredential; import com.azure.core.models.ResponseError; import java.util.concurrent.TimeUnit; public class Quickstart { public static void main(String[] args) throws InterruptedException { String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT"); // Use the recommended keyless credential instead of the AzureKeyCredential credential. OpenAIAsyncClient client = new OpenAIClientBuilder() .endpoint(endpoint) .credential(new DefaultAzureCredentialBuilder().build()) .buildAsyncClient(); ImageGenerationOptions imageGenerationOptions = new ImageGenerationOptions( "A drawing of the Seattle skyline in the style of Van Gogh"); client.getImages(imageGenerationOptions).subscribe( images -> { for (ImageLocation imageLocation : images.getData()) { ResponseError error = imageLocation.getError(); if (error != null) { System.out.printf("Image generation operation failed. Error code: %s, error message: %s.%n", error.getCode(), error.getMessage()); } else { System.out.printf( "Image location URL that provides temporary access to download the generated image is %s.%n", imageLocation.getUrl()); } } }, error -> System.err.println("There was an error getting images." + error), () -> System.out.println("Completed getImages.")); // The .subscribe() creation and assignment isn't a blocking call. // The thread sleeps so the program does not end before the send operation is complete. // Use .block() instead of .subscribe() for a synchronous call. TimeUnit.SECONDS.sleep(10); } }
Запустите новое консольное приложение для создания образа:
javac Quickstart.java -cp ".;target\dependency\*" java -cp ".;target\dependency\*" Quickstart
Выходные данные
URL-адрес созданного изображения выводится в консоль.
Image location URL that provides temporary access to download the generated image is <SAS URL>.
Completed getImages.
Замечание
API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Для получения дополнительной информации см. статью о фильтре содержимого.
Очистите ресурсы
Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Дальнейшие шаги
- Дополнительные сведения об API изображений см. в руководстве по API изображений.
- Дополнительные примеры см. в репозитории GitHub в Azure OpenAI Samples
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK OpenAI для Azure для JavaScript.
Справочная документация | Исходный код | Пакет (npm) | Образцы
Предпосылки
- подписка Azure — создайте бесплатную учетную запись.
- Версии Node.js LTS
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль
Cognitive Services User
своему аккаунту пользователя. Роли можно назначить в портале Azure в разделе Контроль доступа (IAM)>Добавить назначение ролей.
Настройка
Создайте новую папку
image-quickstart
и перейдите в папку быстрого запуска, используя следующую команду:mkdir image-quickstart && cd image-quickstart
Создайте
package.json
с помощью следующей команды:npm init -y
Установите клиентскую библиотеку OpenAI для JavaScript с помощью:
npm install openai
Для рекомендуемой аутентификации без пароля:
npm install @azure/identity
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Ценность |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе "Ключи и конечная точка доступа" при просмотре ресурса на портале Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Управление ресурсами>Развертывание моделей на портале Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. Вы можете изменить версию в коде или использовать переменную среды. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Осторожность
Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY
переменная среды не задана.
Создание образов с помощью DALL-E
index.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 || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3"; // The prompt to generate images from const prompt = "a monkey eating a banana"; const numberOfImagesToGenerate = 1; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient(): AzureOpenAI { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", style: "vivid", // or "natural" }); for (const image of results.data) { console.log(`Image generation result URL: ${image.url}`); } } main().catch((err) => { console.error("The sample encountered an error:", err); });
Войдите в Azure с помощью следующей команды:
az login
Запустите файл JavaScript.
node index.js
Выходные данные
URL-адрес созданного изображения выводится в консоль.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Замечание
API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Для получения дополнительной информации см. статью о фильтре содержимого.
Очистите ресурсы
Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Дальнейшие шаги
- Дополнительные сведения об API изображений см. в руководстве по API изображений.
- Для получения дополнительных примеров ознакомьтесь с репозиторием GitHub в Azure OpenAI Samples.
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK OpenAI для Azure для JavaScript.
Справочная документация | Исходный код | Пакет (npm) | Образцы
Предпосылки
- подписка Azure — создайте бесплатную учетную запись.
- Версии Node.js LTS
- Машинописный текст
- Azure CLI , используемый для проверки подлинности без пароля в локальной среде разработки, создайте необходимый контекст, выполнив вход с помощью Azure CLI.
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль
Cognitive Services User
своему аккаунту пользователя. Роли можно назначить в портале Azure в разделе Контроль доступа (IAM)>Добавить назначение ролей.
Настройка
Создайте новую папку
image-quickstart
и перейдите в папку быстрого запуска, используя следующую команду:mkdir image-quickstart && cd image-quickstart
Создайте
package.json
с помощью следующей команды:npm init -y
Обновите
package.json
на ECMAScript с помощью следующей команды:npm pkg set type=module
Установите клиентскую библиотеку OpenAI для JavaScript с помощью:
npm install openai
Для рекомендуемой аутентификации без пароля:
npm install @azure/identity
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Ценность |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе "Ключи и конечная точка доступа" при просмотре ресурса на портале Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Управление ресурсами>Развертывание моделей на портале Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. Вы можете изменить версию в коде или использовать переменную среды. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Осторожность
Чтобы использовать рекомендуемую проверку подлинности без ключа с пакетом SDK, убедитесь, что AZURE_OPENAI_API_KEY
переменная среды не задана.
Создание образов с помощью DALL-E
index.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 || "Your endpoint"; // Required Azure OpenAI deployment name and API version const apiVersion = process.env.OPENAI_API_VERSION || "2024-07-01"; const deploymentName = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "dall-e-3"; // keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://cognitiveservices.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); function getClient(): AzureOpenAI { return new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment: deploymentName, }); } async function main() { console.log("== Image Generation =="); const client = getClient(); const results = await client.images.generate({ prompt, size: "1024x1024", n: numberOfImagesToGenerate, model: "", style: "vivid", // or "natural" }); for (const image of results.data) { console.log(`Image generation result URL: ${image.url}`); } } main().catch((err) => { console.error("The sample encountered an error:", err); });
tsconfig.json
Создайте файл для транспиля кода TypeScript и скопируйте следующий код для ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }
Транспилировать код с TypeScript на JavaScript.
tsc
Войдите в Azure с помощью следующей команды:
az login
Выполните следующую команду, чтобы запустить код:
node index.js
Выходные данные
URL-адрес созданного изображения выводится в консоль.
== Batch Image Generation ==
Image generation result URL: <SAS URL>
Image generation result URL: <SAS URL>
Замечание
API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Для получения дополнительной информации см. статью о фильтре содержимого.
Очистите ресурсы
Если вы хотите очистить и удалить ресурс Azure OpenAI, его можно удалить. Перед удалением ресурса необходимо сначала удалить все развернутые модели.
Дальнейшие шаги
- Дополнительные сведения об API изображений см. в руководстве по API изображений.
- Для получения дополнительных примеров ознакомьтесь с репозиторием GitHub в Azure OpenAI Samples.
В этом руководстве описано, как приступить к созданию образов с помощью пакета SDK OpenAI для Azure для Go.
Исходный код библиотеки | Пакет | Примеры
Предпосылки
- подписка Azure — создайте бесплатную учетную запись.
- Go 1.8 или более поздней версии
- Ресурс Azure OpenAI, созданный в поддерживаемом регионе (см. раздел "Доступность региона"). Дополнительные сведения см. в статье "Создание ресурса" и развертывание модели с помощью Azure OpenAI.
Предварительные требования для идентификатора Microsoft Entra
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra необходимо:
- Установите Azure CLI, используемый для проверки подлинности без ключа с помощью идентификатора Microsoft Entra.
- Назначьте роль
Cognitive Services User
своему аккаунту пользователя. Роли можно назначить в портале Azure в разделе Контроль доступа (IAM)>Добавить назначение ролей.
Настройка
Создайте новую папку
dall-e-quickstart
и перейдите в папку быстрого запуска, используя следующую команду:mkdir dall-e-quickstart && cd dall-e-quickstart
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra войдите в Azure с помощью следующей команды:
az login
Получение сведений о ресурсе
Чтобы проверить подлинность приложения с помощью ресурса Azure OpenAI, необходимо получить следующие сведения:
Имя переменной | Ценность |
---|---|
AZURE_OPENAI_ENDPOINT |
Это значение можно найти в разделе "Ключи и конечная точка доступа" при просмотре ресурса на портале Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Это значение будет соответствовать пользовательскому имени, которое вы выбрали при развертывании модели. Это значение можно найти в разделе Управление ресурсами>Развертывание моделей на портале Azure. |
OPENAI_API_VERSION |
Дополнительные сведения о версиях API. Вы можете изменить версию в коде или использовать переменную среды. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Выполните быстрый старт
Пример кода в этом кратком руководстве использует идентификатор Microsoft Entra для рекомендуемой проверки подлинности без ключей. Если вы предпочитаете использовать ключ API, вы можете заменить реализацию NewDefaultAzureCredential
на NewKeyCredential
.
azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")
credential, err := azidentity.NewDefaultAzureCredential(nil)
client, err := azopenai.NewClient(azureOpenAIEndpoint, credential, nil)
Чтобы запустить пример, выполните следующие действия:
Создайте файл с именем quickstart.go. Скопируйте следующий код в файл quickstart.go .
package main import ( "context" "fmt" "net/http" "os" "log" "github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai" "github.com/Azure/azure-sdk-for-go/sdk/azcore/to" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" ) func main() { azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT") modelDeploymentID := "dall-e-3" credential, err := azidentity.NewDefaultAzureCredential(nil) if err != nil { log.Printf("ERROR: %s", err) return } client, err := azopenai.NewClient( azureOpenAIEndpoint, credential, nil) if err != nil { log.Printf("ERROR: %s", err) return } resp, err := client.GetImageGenerations(context.TODO(), azopenai.ImageGenerationOptions{ Prompt: to.Ptr("A painting of a cat in the style of Dali."), ResponseFormat: to.Ptr(azopenai.ImageGenerationResponseFormatURL), DeploymentName: to.Ptr(modelDeploymentID), }, nil) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } for _, generatedImage := range resp.Data { // The underlying type for the generatedImage is determined by the value of // ImageGenerationOptions.ResponseFormat. // In this example we use `azopenai.ImageGenerationResponseFormatURL`, // so the underlying type will be ImageLocation. resp, err := http.Head(*generatedImage.URL) if err != nil { // Implement application specific error handling logic. log.Printf("ERROR: %s", err) return } fmt.Fprintf(os.Stderr, "Image generated, HEAD request on URL returned %d\nImage URL: %s\n", resp.StatusCode, *generatedImage.URL) } }
Выполните следующую команду, чтобы создать новый модуль Go:
go mod init quickstart.go
Запустите
go mod tidy
, чтобы установить необходимые зависимости:go mod tidy
Выполните следующую команду, чтобы запустить пример:
go run quickstart.go
Выходные данные
URL-адрес созданного изображения выводится в консоль.
Image generated, HEAD request on URL returned 200
Image URL: <SAS URL>
Замечание
API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не вернет созданный образ. Для получения дополнительной информации см. статью о фильтре содержимого.
Очистите ресурсы
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. Удаление группы ресурсов также удаляет все другие ресурсы, связанные с ней.
Дальнейшие шаги
- Дополнительные сведения об API изображений см. в руководстве по API изображений.
- Для получения дополнительных примеров ознакомьтесь с репозиторием GitHub в Azure OpenAI Samples.
В этом руководстве описано, как приступить к вызову Azure OpenAI в API создания образов Моделей ИИ Azure с помощью PowerShell.
Предпосылки
- Подписка Azure. Создайте его бесплатно.
- Для этой задачи рекомендуется использовать последнюю версию PowerShell 7, так как в примерах используются новые функции, недоступные в Windows PowerShell 5.1.
- Ресурс 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. Вы можете изменить версию в коде или использовать переменную среды. |
Дополнительные сведения о бессерверной проверке подлинности и настройке переменных среды.
Создание изображений
Для рекомендуемой проверки подлинности без ключа с помощью идентификатора Microsoft Entra войдите в Azure с помощью следующей команды:
az login
Создайте новый файл PowerShell с именемquickstart.ps1. Затем откройте его в предпочитаемом редакторе или интегрированной среде разработки.
Замените содержимое quickstart.ps1 следующим кодом. Введите URL-адрес конечной точки и ключ в соответствующих полях. Измените значение предпочтительного
prompt
текста.# Azure OpenAI metadata variables $openai = @{ api_base = $Env:AZURE_OPENAI_ENDPOINT api_version = '2023-06-01-preview' # This can change in the future. } # Use the recommended keyless authentication via bearer token. $headers = [ordered]@{ #'api-key' = $Env:AZURE_OPENAI_API_KEY 'Authorization' = "Bearer $($Env:DEFAULT_AZURE_CREDENTIAL_TOKEN)" } # Text to describe image $prompt = 'A painting of a dog' # Adjust these values to fine-tune completions $body = [ordered]@{ prompt = $prompt size = '1024x1024' n = 1 } | ConvertTo-Json # Call the API to generate the image and retrieve the response $url = "$($openai.api_base)/openai/images/generations:submit?api-version=$($openai.api_version)" $submission = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json' -ResponseHeadersVariable submissionHeaders $operation_location = $submissionHeaders['operation-location'][0] $status = '' while ($status -ne 'succeeded') { Start-Sleep -Seconds 1 $response = Invoke-RestMethod -Uri $operation_location -Headers $headers $status = $response.status } # Set the directory for the stored image $image_dir = Join-Path -Path $pwd -ChildPath 'images' # If the directory doesn't exist, create it if (-not(Resolve-Path $image_dir -ErrorAction Ignore)) { New-Item -Path $image_dir -ItemType Directory } # Initialize the image path (note the filetype should be png) $image_path = Join-Path -Path $image_dir -ChildPath 'generated_image.png' # Retrieve the generated image $image_url = $response.result.data[0].url # extract image URL from response $generated_image = Invoke-WebRequest -Uri $image_url -OutFile $image_path # download the image return $image_path
Это важно
Для рабочей среды используйте безопасный способ хранения и доступа к учетным данным, таким как Управление секретами PowerShell с помощью Azure Key Vault. Дополнительные сведения о безопасности учетных данных см. в этой статье.
Запустите скрипт с помощью PowerShell:
./quickstart.ps1
Скрипт цикличен, пока созданный образ не будет готов.
Выходные данные
PowerShell запрашивает образ из Azure OpenAI и сохраняет выходной образ в файле generated_image.png в указанном каталоге. Для удобства полный путь к файлу возвращается в конце скрипта.
API-интерфейсы изображений содержат фильтр модерации содержимого. Если служба распознает запрос как вредное содержимое, он не создает образ. Дополнительные сведения см. в разделе "Фильтрация содержимого".
Очистите ресурсы
Если вы хотите очистить и удалить ресурс Azure OpenAI, можно удалить ресурс или группу ресурсов. Удаление группы ресурсов также удаляет все другие ресурсы, связанные с ней.
Дальнейшие шаги
- Дополнительные сведения об API изображений см. в руководстве по API изображений.
- Попробуйте примеры в репозитории GitHub в Azure OpenAI Samples.