Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте это руководство, чтобы приступить к созданию образов с помощью 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.