Справочник по 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, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД. |
Поддерживаемые версии
2022-12-01
Спецификация Swagger2023-03-15-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-05-15
Спецификация Swagger2023-06-01-preview
Спецификация Swagger2023-07-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-08-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-09-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-10-01-preview
Спецификация Swagger2023-12-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2024-02-15-preview
Спецификация Swagger2024-03-01-preview
Спецификация Swagger2024-04-01-preview
Спецификация Swagger2024-02-01
Спецификация Swagger
Текст запроса
Параметр | Тип | Обязательное? | По умолчанию. | 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, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД. |
Поддерживаемые версии
2023-03-15-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-05-15
Спецификация Swagger2023-06-01-preview
Спецификация Swagger2023-07-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-08-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-09-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-10-01-preview
Спецификация Swagger2023-12-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2024-02-15-preview
Спецификация Swagger2024-03-01-preview
Спецификация Swagger2024-04-01-preview
Спецификация Swagger2024-02-01
Спецификация Swagger
Текст запроса
Параметр | Тип | Обязательное? | По умолчанию. | 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, используемая для данной операции. Это следует формату ГГГГ-ММ-ДД или ГГГГ-ММ-ДД-предварительная версия. |
Поддерживаемые версии
2023-03-15-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-05-15
Спецификация Swagger2023-06-01-preview
Спецификация Swagger2023-07-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-08-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-09-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-10-01-preview
Спецификация Swagger2023-12-01-preview
(выход на пенсию 1 июля 2024 г.) (Эта версия или больше, необходимая для сценариев визуального зрения) Спецификация Swagger2024-02-15-preview
Спецификация Swagger2024-03-01-preview
Спецификация Swagger2024-04-01-preview
Спецификация Swagger2024-02-01
Спецификация Swagger
Текст запроса
Текст запроса состоит из ряда сообщений. Модель создаст ответ на последнее сообщение, используя предыдущие сообщения в качестве контекста.
Параметр | Тип | Обязательное? | По умолчанию. | Description |
---|---|---|---|---|
messages |
array | Да | Н/П | Ряд сообщений, связанных с этим запросом на завершение чата. Он должен включать предыдущие сообщения в беседу. Каждое сообщение имеет и role content . |
role |
строка | Да | Н/П | Указывает, кто предоставляет текущее сообщение. Может быть system ,user ,assistant ,tool или function . |
content |
строка или массив | Да | Н/П | Содержимое сообщения. Она должна быть строкой, если только в сценарии с поддержкой визуального зрения. Если это часть user сообщения, используя GPT-4 Turbo с моделью визуального распознавания, с последней версией API, то content должен быть массив структур, где каждый элемент представляет текст или изображение:
|
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-4
GPT-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-preview
API.
Имя. | Тип | Описание |
---|---|---|
описание | строка | Описание того, что выполняет функция, используемая моделью для выбора времени и вызова функции. |
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, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД. |
Поддерживаемые версии
2023-12-01-preview (retiring July 1, 2024)
Спецификация Swagger2024-02-15-preview
Спецификация Swagger2024-03-01-preview
Спецификация Swagger2024-04-01-preview
Спецификация Swagger2024-02-01
Спецификация Swagger
Текст запроса
Параметр | Тип | Обязательное? | По умолчанию. | 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, используемая для данной операции. Имеет формат ГГГГ-ММ-ДД. |
Поддерживаемые версии
2023-06-01-preview
Спецификация Swagger
Текст запроса
Параметр | Тип | Обязательное? | По умолчанию. | 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, определяющий исходный запрос на создание образа. |
Поддерживаемые версии
2023-06-01-preview
Спецификация Swagger
Пример запроса
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, определяющий исходный запрос на создание образа. |
Поддерживаемые версии
2023-06-01-preview
Спецификация Swagger
Пример запроса
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, используемая для данной операции. Это значение соответствует формату ГГГГ-ММ-ДД. |
Поддерживаемые версии
2023-09-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-10-01-preview
Спецификация Swagger2023-12-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2024-02-15-preview
Спецификация Swagger2024-03-01-preview
Спецификация Swagger2024-04-01-preview
Спецификация Swagger2024-02-01
Спецификация Swagger
Текст запроса
Параметр | Тип | Обязательное? | По умолчанию. | Description |
---|---|---|---|---|
file |
файл | Да | Н/П | Объект аудиофайла (а не имя файла) для транскрибирования в одном из следующих форматов: flac , mp3 , mp4 , ogg m4a wav mpeg mpga или .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, используемая для данной операции. Это значение соответствует формату ГГГГ-ММ-ДД. |
Поддерживаемые версии
2023-09-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2023-10-01-preview
Спецификация Swagger2023-12-01-preview
(выход на пенсию 1 июля 2024 г.) Спецификация Swagger2024-02-15-preview
Спецификация Swagger2024-03-01-preview
Спецификация Swagger2024-02-01
Спецификация Swagger
Текст запроса
Параметр | Тип | Обязательное? | По умолчанию. | 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, используемая для данной операции. Это значение соответствует формату ГГГГ-ММ-ДД. |
Поддерживаемые версии
2024-02-15-preview
Спецификация Swagger2024-03-01-preview
Спецификация Swagger2024-04-01-preview
Спецификация Swagger
Текст запроса
Параметр | Тип | Обязательное? | По умолчанию. | Description |
---|---|---|---|---|
model |
string | Да | Н/П | Одна из доступных моделей TTS: tts-1 tts-1-hd |
input |
строка | Да | Н/П | Текст для создания звука. Максимальная длина — 4096 символов. Укажите входной текст на выбранном языке.1 |
voice |
строка | Да | Н/П | Голос, используемый при создании звука. Поддерживаемые голоса: alloy , echo , fable , onyx и nova shimmer . Предварительные версии голосов доступны в текстовом руководстве 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.