Справочник по REST API Службы Azure OpenAI

В этой статье содержатся сведения о конечных точках REST API вывода для Azure OpenAI.

Проверка подлинности

Azure OpenAI предоставляет два метода проверки подлинности. Вы можете использовать ключи API или идентификатор Microsoft Entra.

  • Проверка подлинности ключа API. Для этого типа проверки подлинности все запросы API должны содержать Ключ API в заголовке HTTP api-key. В кратком руководстве показано, как выполнять вызовы с помощью этого типа проверки подлинности.

  • Проверка подлинности идентификатора Microsoft Entra: можно пройти проверку подлинности вызова API с помощью маркера Microsoft Entra. Маркеры проверки подлинности включаются в запрос в заголовке Authorization. К маркеру следует добавить префикс Bearer, например Bearer YOUR_AUTH_TOKEN. Вы можете ознакомиться с нашим руководством по проверке подлинности с помощью идентификатора Microsoft Entra.

Управление версиями REST API

Управление версиями API служб осуществляется с использованием параметра запроса api-version. Все версии имеют структуру даты ГГГГ-ММ-ДД. Например:

POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2024-02-01

Автозавершения

При выполнении операции завершения модель создает одно или несколько прогнозируемых завершений на основе предоставленного запроса. Служба также может возвращать значения вероятности альтернативных маркеров по каждой позиции.

Создание завершения

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/completions?api-version={api-version}

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
deployment-id строка Обязательное поле Имя развертывания, указанное при развертывании модели.
api-version строка Обязательное поле Версия API, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД.

Поддерживаемые версии

Текст запроса

Параметр Тип Обязательное? По умолчанию. Description
prompt строка или массив Необязательно <\|endoftext\|> Запрос или запрос на создание завершений для, закодированных в виде строки или массива строк. <\|endoftext\|> — это разделитель документов, который модель видит во время обучения, поэтому если запрос не указан, модель формируется как будто с начала нового документа.
max_tokens integer Необязательно 16 Максимальное количество маркеров, которые необходимо создать в завершении. Количество маркеров запроса плюс max_tokens не может превышать длину контекста модели. Большинство моделей имеют длину контекста 2048 токенов (за исключением новейших моделей, которые поддерживают 4096).
temperature number Необязательно 1 Какая температура выборки используется в диапазоне от 0 до 2. Более высокие значения означают, что модель принимает больше рисков. Попробуйте использовать 0,9 для более творческих приложений и 0 (argmax sampling) для приложений, требующих четко определенного ответа. Как правило, мы рекомендуем изменить либо это значение, либо top_p, но не оба.
top_p number Необязательно 1 Альтернативой выборке с температурой является так называемая выборка ядра, где модель рассматривает результаты маркеров с top_p всего массива значений вероятности. Таким образом, 0,1 означает, что учитываются только маркеры, входящие в верхние 10% массива значений вероятности. Как правило, мы рекомендуем изменить либо это значение, либо температуру, но не оба.
logit_bias map Необязательно null Изменяет вероятность появления указанных маркеров в завершении. Принимает объект JSON, который сопоставляет маркеры (указанные идентификатором маркера в создателе маркеров GPT) со связанным значением смещения от –100 до 100. С помощью этого средства создания маркеров (которое работает как для GPT-2, так и для GPT-3) можно преобразовывать текст в идентификаторы маркеров. С математической точки зрения смещение добавляется к логитам, созданным моделью до выборки. Точный эффект зависит от модели, но значения от –1 до 1 должны уменьшаться или увеличивать вероятность выбора; Значения, такие как -100 или 100, должны привести к запрету или эксклюзивному выбору соответствующего маркера. Например, можно передать {"50256": -100}, чтобы предотвратить создание маркера <|endoftext|>.
user строка Необязательно Уникальный идентификатор, представляющий пользователя, который может помочь в мониторинге и обнаружении злоупотреблений
n integer Необязательно 1 Количество завершений, создаваемых для каждого запроса. Примечание. Поскольку данный параметр создает множество завершений, он может быстро исчерпать квоту маркеров. Используйте маркеры продуманно и убедитесь, что у вас заданы разумные значения для параметров max_tokens и stop (остановка).
stream boolean Необязательно False Потоковая передача частичного хода выполнения. Если задано, маркеры отправляются как события, отправленные сервером только для данных, как они становятся доступными, при этом поток завершается данными: [ГОТОВО] сообщение.
logprobs integer Необязательно null Включает логарифмические вероятности по наиболее вероятным маркерам (logprobs), а также по выбранным маркерам. Например, если logprobs равно 10, API вернет список из 10 наиболее вероятных маркеров. API всегда возвращает logprob примера маркера, поэтому в ответе может быть до элементов logprobs+1. Этот параметр нельзя использовать с gpt-35-turbo.
suffix строка Необязательно null Суффикс, который приходит после завершения вставленного текста.
echo boolean Необязательно False Повторная обратная копия запроса в дополнение к завершению. Этот параметр нельзя использовать с gpt-35-turbo.
stop строка или массив Необязательно null До четырех последовательностей, в которых API перестанет создавать дополнительные маркеры. Возвращенный текст не будет содержать последовательность остановки. Для GPT-4 Turbo с Vision поддерживаются до двух последовательностей.
presence_penalty number Необязательно 0 Значение в диапазоне от –2.0 до 2.0. Положительные значения выбраковывают новые маркеры в зависимости от того, отображаются ли они в тексте на данный момент, увеличивая вероятность обсуждений на новые темы.
frequency_penalty number Необязательно 0 Значение в диапазоне от –2.0 до 2.0. Положительные значения выбраковывают новые маркеры в зависимости от существующей частоты в тексте на данный момент, уменьшая вероятность повторения той же буквальной строки.
best_of integer Необязательно 1 Создает завершения best_of на стороне сервера и возвращает "лучшее" из них (с наименьшей логарифмической вероятностью на маркер). Потоковую передачу результатов выполнить нельзя. При использовании с n значение best_of управляет количеством завершений-кандидатов, а n указывает на количество возвратов — best_of должно быть больше n. Примечание. Поскольку данный параметр создает множество завершений, он может быстро исчерпать квоту маркеров. Используйте маркеры продуманно и убедитесь, что у вас заданы разумные значения для параметров max_tokens и stop (остановка). Этот параметр нельзя использовать с gpt-35-turbo.

Пример запроса

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/completions?api-version=2024-02-01\
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d "{
  \"prompt\": \"Once upon a time\",
  \"max_tokens\": 5
}"

Пример отклика

{
    "id": "cmpl-4kGh7iXtjW4lc9eGhff6Hp8C7btdQ",
    "object": "text_completion",
    "created": 1646932609,
    "model": "ada",
    "choices": [
        {
            "text": ", a dark line crossed",
            "index": 0,
            "logprobs": null,
            "finish_reason": "length"
        }
    ]
}

В примере ответа finish_reason равно stop. Если finish_reason равно content_filter , ознакомьтесь с нашим руководством по фильтрации содержимого, чтобы понять, почему это происходит.

Внедрение

Получает векторное представление заданных входных данных, которое может легко использоваться моделями машинного обучения и другими алгоритмами.

Примечание.

В настоящее время OpenAI позволяет использовать большее количество входных данных массива text-embedding-ada-002. Azure OpenAI в настоящее время поддерживает входные массивы до 16 для text-embedding-ada-002 (Version 2). Оба требуют максимального ограничения маркера ввода для каждого запроса API, чтобы остаться до 8191 для этой модели.

Создание внедрения

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/embeddings?api-version={api-version}

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
deployment-id строка Обязательное поле Имя развертывания модели. Прежде чем выполнять вызовы, необходимо сначала развернуть модель.
api-version строка Обязательное поле Версия API, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД.

Поддерживаемые версии

Текст запроса

Параметр Тип Обязательное? По умолчанию. Description
input строка или массив Да Н/П Входной текст для получения внедренных данных, закодированных в виде массива или строки. Количество входных маркеров зависит от используемой модели. Поддерживает только text-embedding-ada-002 (Version 2) входные данные массива.
user строка Нет Null Уникальный идентификатор, представляющий пользователя. Это поможет Azure OpenAI отслеживать и обнаруживать злоупотребления. Не передавайте идентификаторы персональных данных; вместо этого используйте псевдоанонимизированные значения, например GUID
encoding_format строка Нет float Формат, в который возвращаются встраиваемые элементы. Может быть либо float, либо base64. По умолчанию — float.

[Добавлено в 2024-03-01-preview].
dimensions integer No Число измерений, в которых должны быть внедренные выходные данные. Поддерживается только в text-embedding-3 и более поздних моделях.

[Добавлено в 2024-03-01-preview]

Пример запроса

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/embeddings?api-version=2024-02-01 \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d "{\"input\": \"The food was delicious and the waiter...\"}"

Пример отклика

{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.018990106880664825,
        -0.0073809814639389515,
        .... (1024 floats total for ada)
        0.021276434883475304,
      ],
      "index": 0
    }
  ],
  "model": "text-similarity-babbage:001"
}

Завершение чата

Создайте завершения для сообщений чата с моделями GPT-35-Turbo и GPT-4.

Создание завершения чата

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/chat/completions?api-version={api-version}

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
deployment-id строка Обязательное поле Имя развертывания модели. Прежде чем выполнять вызовы, необходимо сначала развернуть модель.
api-version строка Обязательное поле Версия API, используемая для данной операции. Это следует формату ГГГГ-ММ-ДД или ГГГГ-ММ-ДД-предварительная версия.

Поддерживаемые версии

Текст запроса

Текст запроса состоит из ряда сообщений. Модель создаст ответ на последнее сообщение, используя предыдущие сообщения в качестве контекста.

Параметр Тип Обязательное? По умолчанию. Description
messages array Да Н/П Ряд сообщений, связанных с этим запросом на завершение чата. Он должен включать предыдущие сообщения в беседу. Каждое сообщение имеет и rolecontent.
role строка Да Н/П Указывает, кто предоставляет текущее сообщение. Может быть system,user,assistant,tool или function.
content строка или массив Да Н/П Содержимое сообщения. Она должна быть строкой, если только в сценарии с поддержкой визуального зрения. Если это часть user сообщения, используя GPT-4 Turbo с моделью визуального распознавания, с последней версией API, то content должен быть массив структур, где каждый элемент представляет текст или изображение:
  • text: входной текст представлен в виде структуры со следующими свойствами:
    • type = "text"
    • text = входной текст
  • images: входной образ представлен в виде структуры со следующими свойствами:
    • type = "image_url"
    • image_url = структура со следующими свойствами:
      • url = URL-адрес изображения
      • (необязательно) detail = highили lowauto
contentPart объект No Н/П Часть много модального сообщения пользователя. Это может быть текстовый тип или тип изображения. Если текст, он будет текстовой строкой. Если изображение, это будет contentPartImage объект.
contentPartImage объект No Н/П Представляет отправленный пользователем образ. Он имеет url свойство, которое является URL-адресом изображения или данными в кодировке base 64. Он также имеет detail свойство, которое может быть auto, lowили high.
enhancements объект No Н/П Представляет функции улучшения визуального зрения, запрошенные для чата. Он имеет и ocr свойства, каждое из которых имеет grounding логическое enabled свойство. Используйте их для запроса службы OCR и (или) службы обнаружения и заземления объектов [Этот параметр предварительного просмотра недоступен в API общедоступной версии и больше не доступен в 2024-02-01 предварительной версии API после 2024-03-01-preview.]
dataSources объект No Н/П Представляет дополнительные данные ресурсов. Компьютерное зрение данные ресурсов необходимы для улучшения визуального зрения. Он имеет type свойство, которое должно быть "AzureComputerVision" и parameters свойство, которое имеет endpoint и key свойство. Эти строки должны быть заданы в URL-адрес конечной точки и ключ доступа ресурса Компьютерное зрение.

Пример запроса

Чат только для текста

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2024-02-01 \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{"messages":[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Does Azure OpenAI support customer managed keys?"},{"role": "assistant", "content": "Yes, customer managed keys are supported by Azure OpenAI."},{"role": "user", "content": "Do other Azure AI services support this too?"}]}'

Чат с видением

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/chat/completions?api-version=2023-12-01-preview \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"text","text":"Describe this picture:"},{ "type": "image_url", "image_url": { "url": "https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png", "detail": "high" } }]}]}'

Расширенный чат с зрением

  • Не поддерживается в версии моделиgpt-4GPT-4 Turbo GA:turbo-2024-04-09
  • Не поддерживается остроумие2024-02-01и2024-04-01-preview более новых выпусков API.
curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/extensions/chat/completions?api-version=2023-12-01-preview \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{"enhancements":{"ocr":{"enabled":true},"grounding":{"enabled":true}},"dataSources":[{"type":"AzureComputerVision","parameters":{"endpoint":" <Computer Vision Resource Endpoint> ","key":"<Computer Vision Resource Key>"}}],"messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":[{"type":"text","text":"Describe this picture:"},{"type":"image_url","image_url":"https://learn.microsoft.com/azure/ai-services/computer-vision/media/quickstarts/presentation.png"}]}]}'

Пример отклика

{
    "id": "chatcmpl-6v7mkQj980V1yBec6ETrKPRqFjNw9",
    "object": "chat.completion",
    "created": 1679072642,
    "model": "gpt-35-turbo",
    "usage":
    {
        "prompt_tokens": 58,
        "completion_tokens": 68,
        "total_tokens": 126
    },
    "choices":
    [
        {
            "message":
            {
                "role": "assistant",
                "content": "Yes, other Azure AI services also support customer managed keys.
                    Azure AI services offer multiple options for customers to manage keys, such as
                    using Azure Key Vault, customer-managed keys in Azure Key Vault or
                    customer-managed keys through Azure Storage service. This helps customers ensure
                    that their data is secure and access to their services is controlled."
            },
            "finish_reason": "stop",
            "index": 0
        }
    ]
}

Форматирование выходных данных, скорректированное для удобства чтения, фактические выходные данные — это один блок текста без разрывов строк.

В примере ответа finish_reason равно stop. Если finish_reason равно content_filter , ознакомьтесь с нашим руководством по фильтрации содержимого, чтобы понять, почему это происходит.

Внимание

function_call Параметры functions устарели с выпуском 2023-12-01-preview версии API. Для замены functions используется tools параметр. Для замены function_call используется tool_choice параметр. Параллельные вызовы функций, которые были введены в рамках 2023-12-01-preview этой функции, поддерживаются gpt-35-turbo только (1106) и gpt-4 (1106-preview) также известны как GPT-4 Turbo Preview.

Параметр Тип Обязательное? По умолчанию. Description
messages array Обязательное поле Коллекция контекстных сообщений, связанных с запросом завершения чата. Обычное использование начинается с сообщения чата для системной роли, которая содержит инструкции по поведению помощник, а затем чередование сообщений между ролями пользователя и помощника.
temperature number Необязательно 1 Какая температура выборки используется в диапазоне от 0 до 2. Более высокие значения, такие как 0,8, делают выходные данные более случайными, а более низкие значения, такие как 0,2, делают его более ориентированным и детерминированным. Как правило, мы рекомендуем изменить это или top_p не оба.
n integer Необязательно 1 Сколько вариантов завершения чата для каждого входного сообщения.
stream boolean Необязательно false Если задано, будут отправляться частичные разностные сообщения, например в ChatGPT. Маркеры будут отправляться как события, отправленные сервером только для данных, как они становятся доступными, с потоком data: [DONE] , завершаемым сообщением".
stop строка или массив Необязательно null До 4 последовательностей, в которых API перестанет создавать дополнительные маркеры.
max_tokens integer Необязательно Inf Максимальное количество маркеров, разрешенных для созданного ответа. По умолчанию число маркеров, возвращаемых моделью, будет (4096 — маркеры запроса).
presence_penalty number Необязательно 0 Значение в диапазоне от –2.0 до 2.0. Положительные значения выбраковывают новые маркеры в зависимости от того, отображаются ли они в тексте на данный момент, увеличивая вероятность обсуждений на новые темы.
frequency_penalty number Необязательно 0 Значение в диапазоне от –2.0 до 2.0. Положительные значения выбраковывают новые маркеры в зависимости от существующей частоты в тексте на данный момент, уменьшая вероятность повторения той же буквальной строки.
logit_bias объект Необязательно null Изменяет вероятность появления указанных маркеров в завершении. Принимает объект JSON, который сопоставляет маркеры (указанные идентификатором маркера в токенизаторе) со связанным значением предвзятости от -100 до 100. С математической точки зрения смещение добавляется к логитам, созданным моделью до выборки. Точный эффект зависит от модели, но значения от –1 до 1 должны уменьшаться или увеличивать вероятность выбора; Значения, такие как -100 или 100, должны привести к запрету или эксклюзивному выбору соответствующего маркера.
user строка Необязательно Уникальный идентификатор, представляющий пользователя, который может помочь Azure OpenAI отслеживать и обнаруживать злоупотребления.
function_call Необязательно [Deprecated in 2023-12-01-preview replacement parameter is tools_choice]Определяет, как модель реагирует на вызовы функций. "none" означает, что модель не вызывает функцию и реагирует на пользователя. auto означает, что модель может выбирать между конечным пользователем или вызывать функцию. Указание определенной функции с помощью {"name": "my_function"} заставляет модель вызывать такую функцию. Значение "none" — это значение по умолчанию, если функции отсутствуют. auto значение по умолчанию, если функции присутствуют. Для этого параметра требуется версия API 2023-07-01-preview
functions FunctionDefinition[] Необязательно [Deprecated in 2023-12-01-preview replacement paremeter is tools] Список функций, для которые модель может создавать входные данные JSON. Для этого параметра требуется версия API 2023-07-01-preview
tools string (Тип средства. Поддерживается только function .) Необязательно Список инструментов, которые может вызывать модель. В настоящее время в качестве инструмента поддерживаются только функции. Используйте это для предоставления списка функций, для которые модель может создавать входные данные JSON. Для этого параметра требуется версия API 2023-12-01-preview
tool_choice Строка или объект Необязательно значение по умолчанию не используется, если функции отсутствуют. auto значение по умолчанию, если функции присутствуют. Определяет, какая функция (если есть) вызывается моделью. Нет означает, что модель не вызывает функцию и вместо этого создает сообщение. auto означает, что модель может выбирать между созданием сообщения или вызовом функции. Указание определенной функции с помощью типа {"type: function", "function": {"name": "my_function"}} заставляет модель вызывать ее. Для этого параметра требуется версия 2023-12-01-preview API или более поздняя.

ChatMessage

Одно сообщение с атрибутами ролей в взаимодействии с завершением чата.

Имя. Тип Описание
content строка Текст, связанный с полезными данными этого сообщения.
function_call FunctionCall Имя и аргументы вызываемой функции, созданной моделью.
name строка Автор name этого сообщения. nameтребуется, если роль имеет functionзначение , и это должно быть имя функции, ответ которой находится в .content Может содержать a-z, A-Z, 0-9 и подчеркивания с максимальной длиной 64 символов.
роль ChatRole Роль, связанная с этой полезными данными сообщения

ChatRole

Описание целевой цели сообщения в взаимодействии с завершением чата.

Имя. Тип Описание
assistant строка Роль, которая предоставляет ответы на системные, запрашиваемые пользователем входные данные.
function строка Роль, предоставляющая результаты функции для завершения чата.
доступом строка Роль, которая указывает или задает поведение помощник.
Пользователь строка Роль, которая предоставляет входные данные для завершения чата.

Function

Этот параметр используется с параметром tools , добавленным в версию 2023-12-01-previewAPI.

Имя. Тип Описание
описание строка Описание того, что выполняет функция, используемая моделью для выбора времени и вызова функции.
name строка Имя вызываемой функции. Должен быть a-z, A-Z, 0-9 или содержать символы подчеркивания и дефисы с максимальной длиной 64
parameters объект Параметры, которые принимают функции, описаны как объект схемы JSON. Дополнительные сведения о формате см. в справочнике по схеме JSON.

FunctionCall-Deprecated

Имя и аргументы вызываемой функции, созданной моделью. Для этого требуется версия API 2023-07-01-preview

Имя. Тип Описание
аргументы строка Аргументы, с которыми вызывается функция, как создается моделью в формате JSON. Модель не всегда создает допустимые json и может создавать параметры, не определенные схемой функции. Перед вызовом функции проверьте аргументы в коде.
name строка Имя вызываемой функции.

FunctionDefinition-Deprecated

Определение указанной вызывающим функцией, которая может вызываться в ответ на соответствующие входные данные пользователя. Для этого требуется версия API 2023-07-01-preview

Имя. Тип Описание
описание строка Описание того, что делает функция. Модель использует это описание при выборе функции и интерпретации его параметров.
name строка Имя вызываемой функции.
parameters Параметры, которые принимают функции, описаны как объект схемы JSON.

Расширения завершения

Документация по этому разделу перемещена. Вместо этого см. справочную документацию по Azure OpenAI On Your Data.

Генерирование изображений

Запрос созданного образа (DALL-E 3)

Создание и извлечение пакета изображений из текстового подпись.

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/images/generations?api-version={api-version} 

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
deployment-id строка Обязательное поле Имя развертывания модели DALL-E 3, например MyDalle3. Прежде чем выполнять вызовы, необходимо сначала развернуть модель DALL-E 3.
api-version строка Обязательное поле Версия API, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД.

Поддерживаемые версии

Текст запроса

Параметр Тип Обязательное? По умолчанию. Description
prompt строка Обязательное поле Текстовое описание требуемых изображений. Максимальная длина — 4000 символов.
n integer Необязательно 1 Количество генерируемых изображений. Поддерживается только n=1 для DALL-E 3.
size строка Необязательно 1024x1024 Размер созданных изображений. Должно иметь значение 1792x1024, 1024x1024 или 1024x1792.
quality строка Необязательно standard Качество созданных изображений. Должно быть hd или standard.
response_format строка Необязательно url Формат, в котором возвращаются созданные изображения, должен быть url (URL-адрес, указывающий на изображение) или b64_json (базовый 64-байтовый код в формате JSON).
style строка Необязательно vivid Стиль созданных изображений. Должно быть natural или vivid (для гиперреалистических или драматических изображений).
user строка Необязательно Уникальный идентификатор, представляющий конечного пользователя, который может помочь в мониторинге и обнаружении злоупотреблений.

Пример запроса

curl -X POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/images/generations?api-version=2023-12-01-preview \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{
    "prompt": "An avocado chair",
    "size": "1024x1024",
    "n": 1,
    "quality": "hd", 
    "style": "vivid"
  }'

Пример отклика

Операция возвращает 202 код состояния и GenerateImagesResponse объект JSON, содержащий идентификатор и состояние операции.

{ 
    "created": 1698116662, 
    "data": [ 
        { 
            "url": "url to the image", 
            "revised_prompt": "the actual prompt that was used" 
        }, 
        { 
            "url": "url to the image" 
        },
        ...
    ]
} 

Запрос созданного образа (предварительная версия DALL-E 2)

Создайте пакет изображений из текстового подпись.

POST https://{your-resource-name}.openai.azure.com/openai/images/generations:submit?api-version={api-version}

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
api-version строка Обязательное поле Версия API, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД.

Поддерживаемые версии

Текст запроса

Параметр Тип Обязательное? По умолчанию. Description
prompt строка Обязательное поле Текстовое описание требуемых изображений. Максимальная длина — 1000 символов.
n integer Необязательно 1 Количество генерируемых изображений. Значение должно находиться в диапазоне от 1 до 5.
size строка Необязательно 1024 x 1024 Размер созданных изображений. Должно иметь значение 256x256, 512x512 или 1024x1024.

Пример запроса

curl -X POST https://YOUR_RESOURCE_NAME.openai.azure.com/openai/images/generations:submit?api-version=2023-06-01-preview \
  -H "Content-Type: application/json" \
  -H "api-key: YOUR_API_KEY" \
  -d '{
"prompt": "An avocado chair",
"size": "512x512",
"n": 3
}'

Пример отклика

Операция возвращает 202 код состояния и GenerateImagesResponse объект JSON, содержащий идентификатор и состояние операции.

{
  "id": "f508bcf2-e651-4b4b-85a7-58ad77981ffa",
  "status": "notRunning"
}

Получение созданного результата изображения (предварительная версия DALL-E 2)

Используйте этот API для получения результатов операции создания образа. Создание изображений в настоящее время доступно только с api-version=2023-06-01-previewпомощью .

GET https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version={api-version}

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
operation-id строка Обязательное поле GUID, определяющий исходный запрос на создание образа.

Поддерживаемые версии

Пример запроса

curl -X GET "https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version=2023-06-01-preview"
-H "Content-Type: application/json"
-H "Api-Key: {api key}"

Пример отклика

После успешной операции возвращается 200 код состояния и OperationResponse объект JSON. Поле status может быть "notRunning" (задача находится в очереди, но еще не запущена), "running", "succeeded", "canceled" (время ожидания задачи истекло), "failed"или "deleted". Состояние succeeded указывает, что созданный образ доступен для скачивания по указанному URL-адресу. Если были созданы несколько образов, их URL-адреса возвращаются в result.data поле.

{
  "created": 1685064331,
  "expires": 1685150737,
  "id": "4b755937-3173-4b49-bf3f-da6702a3971a",
  "result": {
    "data": [
      {
        "url": "<URL_TO_IMAGE>"
      },
      {
        "url": "<URL_TO_NEXT_IMAGE>"
      },
      ...
    ]
  },
  "status": "succeeded"
}

Удаление созданного образа с сервера (предварительная версия DALL-E 2)

Идентификатор операции, возвращенный запросом, можно использовать для удаления соответствующего образа с сервера Azure. Созданные изображения автоматически удаляются через 24 часа по умолчанию, но вы можете активировать удаление ранее, если вы хотите.

DELETE https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version={api-version}

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
operation-id строка Обязательное поле GUID, определяющий исходный запрос на создание образа.

Поддерживаемые версии

Пример запроса

curl -X DELETE "https://{your-resource-name}.openai.azure.com/openai/operations/images/{operation-id}?api-version=2023-06-01-preview"
-H "Content-Type: application/json"
-H "Api-Key: {api key}"

Response

Операция возвращает код состояния в случае успешного 204 выполнения. Этот API успешно выполняется только в том случае, если операция находится в состоянии окончания (не running).

Преобразование речи в текст

Модель Whisper в Службе OpenAI Azure можно использовать для преобразования речи в текст или перевода речи. Дополнительные сведения об использовании модели Whisper см. в кратком руководстве и обзоре модели Whisper.

Запрос речи на транскрибирование текста

Транскрибирует звуковой файл.

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/transcriptions?api-version={api-version}

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
deployment-id строка Обязательное поле Имя развертывания модели Whisper, например MyWhisperDeployment. Прежде чем выполнять вызовы, необходимо сначала развернуть модель Whisper.
api-version строка Обязательное поле Версия API, используемая для данной операции. Это значение соответствует формату ГГГГ-ММ-ДД.

Поддерживаемые версии

Текст запроса

Параметр Тип Обязательное? По умолчанию. Description
file файл Да Н/П Объект аудиофайла (а не имя файла) для транскрибирования в одном из следующих форматов: flac, mp3, mp4, oggm4awavmpegmpgaили .webm

Ограничение размера файла для модели Whisper в Службе Azure OpenAI составляет 25 МБ. Если необходимо расшифровать файл размером более 25 МБ, разорвать его на блоки. Кроме того, вы можете использовать API пакетной транскрибирования службы "Речь ИИ Azure".

Примеры аудиофайлов можно получить из репозитория пакета SDK службы "Речь" для службы "Речь Azure" на сайте GitHub.
language строка Нет Null Язык входного звука, например fr. Предоставление языка ввода в формате ISO-639-1 повышает точность и задержку.

Список поддерживаемых языков см. в документации по OpenAI.
prompt строка Нет Null Необязательный текст для руководства стилем модели или продолжением предыдущего сегмента звука. Запрос должен соответствовать языку звука.

Дополнительные сведения о запросах, включая примеры вариантов использования, см. в документации по OpenAI.
response_format строка Нет json Формат выходных данных расшифровки в одном из следующих параметров: json, text, srt, verbose_json или vtt.

Значением по умолчанию является json.
temperature number No 0 Температура выборки от 0 до 1.

Более высокие значения, такие как 0,8, делают выходные данные более случайными, а более низкие значения, такие как 0,2, делают его более ориентированным и детерминированным. Если задано значение 0, модель использует вероятность журнала для автоматического увеличения температуры до тех пор, пока определенные пороговые значения не будут достигнуты.

Значение по умолчанию — 0.
timestamp_granularities array Необязательно сегмент Гранулярность метки времени для заполнения этой транскрибирования. response_format необходимо задать verbose_json для использования детализации метки времени. Поддерживаются либо оба этих параметра: wordили segment. Примечание. Дополнительная задержка для меток времени сегмента отсутствует, но при создании меток времени слова возникает дополнительная задержка. [Добавлено в 2024-04-01-prevew]

Пример запроса

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/transcriptions?api-version=2023-09-01-preview \
  -H "Content-Type: multipart/form-data" \
  -H "api-key: $YOUR_API_KEY" \
  -F file="@./YOUR_AUDIO_FILE_NAME.wav" \
  -F "language=en" \
  -F "prompt=The transcript contains zoology terms and geographical locations." \
  -F "temperature=0" \
  -F "response_format=srt"

Пример отклика

1
00:00:00,960 --> 00:00:07,680
The ocelot, Lepardus paradalis, is a small wild cat native to the southwestern United States,

2
00:00:07,680 --> 00:00:13,520
Mexico, and Central and South America. This medium-sized cat is characterized by

3
00:00:13,520 --> 00:00:18,960
solid black spots and streaks on its coat, round ears, and white neck and undersides.

4
00:00:19,760 --> 00:00:27,840
It weighs between 8 and 15.5 kilograms, 18 and 34 pounds, and reaches 40 to 50 centimeters

5
00:00:27,840 --> 00:00:34,560
16 to 20 inches at the shoulders. It was first described by Carl Linnaeus in 1758.

6
00:00:35,360 --> 00:00:42,880
Two subspecies are recognized, L. p. paradalis and L. p. mitis. Typically active during twilight

7
00:00:42,880 --> 00:00:48,480
and at night, the ocelot tends to be solitary and territorial. It is efficient at climbing,

8
00:00:48,480 --> 00:00:54,480
leaping, and swimming. It preys on small terrestrial mammals such as armadillo, opossum,

9
00:00:54,480 --> 00:00:56,480
and lagomorphs.

Запрос речи на перевод текста

Преобразует звуковой файл с другого языка на английский. Список поддерживаемых языков см. в документации по OpenAI.

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/translations?api-version={api-version}

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
deployment-id строка Обязательное поле Имя развертывания модели Whisper, например MyWhisperDeployment. Прежде чем выполнять вызовы, необходимо сначала развернуть модель Whisper.
api-version строка Обязательное поле Версия API, используемая для данной операции. Это значение соответствует формату ГГГГ-ММ-ДД.

Поддерживаемые версии

Текст запроса

Параметр Тип Обязательное? По умолчанию. Description
file файл Да Н/П Объект аудиофайла (не имя файла) для транскрибирования в одном из следующих форматов: flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav или webm.

Ограничение размера файла для модели Whisper Azure OpenAI составляет 25 МБ. Если необходимо расшифровать файл размером более 25 МБ, разорвать его на блоки.

Примеры аудиофайлов можно скачать из репозитория пакета SDK службы "Речь ИИ Azure" на сайте GitHub.
prompt строка Нет Null Необязательный текст для руководства стилем модели или продолжением предыдущего сегмента звука. Запрос должен соответствовать языку звука.

Дополнительные сведения о запросах, включая примеры вариантов использования, см. в документации по OpenAI.
response_format строка Нет json Формат выходных данных расшифровки в одном из следующих параметров: json, text, srt, verbose_json или vtt.

Значением по умолчанию является json.
temperature number No 0 Температура выборки от 0 до 1.

Более высокие значения, такие как 0,8, делают выходные данные более случайными, а более низкие значения, такие как 0,2, делают его более ориентированным и детерминированным. Если задано значение 0, модель использует вероятность журнала для автоматического увеличения температуры до тех пор, пока определенные пороговые значения не будут достигнуты.

Значение по умолчанию — 0.

Пример запроса

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/translations?api-version=2023-09-01-preview \
  -H "Content-Type: multipart/form-data" \
  -H "api-key: $YOUR_API_KEY" \
  -F file="@./YOUR_AUDIO_FILE_NAME.wav" \
  -F "temperature=0" \
  -F "response_format=json"

Пример отклика

{
  "text": "Hello, my name is Wolfgang and I come from Germany. Where are you heading today?"
}

Преобразование текста в речь

Синтезирование текста в речь.

POST https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/audio/speech?api-version={api-version}

Параметры пути

Параметр Тип Обязательное? Description
your-resource-name строка Обязательное поле Имя ресурса Azure OpenAI.
deployment-id строка Обязательное поле Имя развертывания модели речи для текста, например MyTextToSpeechDeployment. Прежде чем выполнять вызовы, необходимо сначала развернуть текст в модели речи (например tts-1 , или tts-1-hd) .
api-version строка Обязательное поле Версия API, используемая для данной операции. Это значение соответствует формату ГГГГ-ММ-ДД.

Поддерживаемые версии

Текст запроса

Параметр Тип Обязательное? По умолчанию. Description
model string Да Н/П Одна из доступных моделей TTS: tts-1tts-1-hd
input строка Да Н/П Текст для создания звука. Максимальная длина — 4096 символов. Укажите входной текст на выбранном языке.1
voice строка Да Н/П Голос, используемый при создании звука. Поддерживаемые голоса: alloy, echo, fable, onyxи novashimmer. Предварительные версии голосов доступны в текстовом руководстве OpenAI для речи.

1 Текст для речевых моделей обычно поддерживает те же языки, что и модель Whisper. Список поддерживаемых языков см. в документации по OpenAI.

Пример запроса

curl https://YOUR_RESOURCE_NAME.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT_NAME/audio/speech?api-version=2024-02-15-preview \
 -H "api-key: $YOUR_API_KEY" \
 -H "Content-Type: application/json" \
 -d '{
    "model": "tts-hd",
    "input": "I'm excited to try text to speech.",
    "voice": "alloy"
}' --output speech.mp3

Пример отклика

Речь возвращается в виде звукового файла из предыдущего запроса.

API управления

Azure OpenAI развертывается как часть служб ИИ Azure. Все службы ИИ Azure используют один и тот же набор API управления для операций создания, обновления и удаления. API управления также используются для развертывания моделей в ресурсе Azure OpenAI.

Справочная документация по API управления

Следующие шаги

Узнайте о моделях и тонкой настройке с помощью REST API. Ознакомьтесь с дополнительными сведениями о базовых моделях, лежащих в основе Azure OpenAI.