Справочник. Завершение чата | Azure AI Foundry
Внимание
Элементы, обозначенные в этой статье как (предварительная версия), сейчас предлагаются в общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания, и мы не рекомендуем ее для рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены. Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.
Создает ответ модели для данной беседы чата.
POST /chat/completions?api-version=2024-04-01-preview
Параметры URI
Имя. | In | Обязательное поле | Type | Описание |
---|---|---|---|---|
api-version | query | Истина | строка | Версия API в формате YYYY-MM-DD или YYYY-MM-DD-preview. |
Заголовок запроса
имени | Обязательно | Type | Описание |
---|---|---|---|
дополнительные параметры | строка | Поведение API при указании дополнительных параметров в полезных данных. Использование pass-through API для передачи параметра базовой модели. Используйте это значение, если вы хотите передать параметры, которые вы знаете, базовая модель может поддерживать. Использование ignore API для удаления любого неподдерживаемого параметра. Используйте это значение, если необходимо использовать одну полезные данные для разных моделей, но один из дополнительных параметров может привести к ошибке модели, если она не поддерживается. Использование error API для отклонения любого дополнительного параметра в полезных данных. Можно указать только параметры, указанные в этом API, или возвращается ошибка 400. |
|
azureml-model-deployment | строка | Имя развертывания, в которое нужно направить запрос. Поддерживается для конечных точек, поддерживающих несколько развертываний. |
Текст запроса
имени | Обязательно | Type | Описание |
---|---|---|---|
модель | строка | Имя модели. Этот параметр игнорируется, если конечная точка обслуживает только одну модель. | |
messages | Истина | ChatCompletionRequestMessage | Список сообщений, составляющих беседу до сих пор. Возвращает ошибку 422, если по крайней мере некоторые сообщения не могут быть поняты моделью. |
frequency_penalty | number | Помогает предотвратить повторение слов, уменьшая вероятность выбора слова, если оно уже использовалось. Чем выше частота штрафа, тем меньше вероятность того, что модель повторяет те же слова в выходных данных. Возвращает ошибку 422, если значение или параметр не поддерживается моделью. | |
max_tokens | integer | Максимальное количество маркеров, которые можно создать в завершении чата. Общая длина входных маркеров и созданных маркеров ограничена длиной контекста модели. Передача null приводит к тому, что модель будет использовать максимальную длину контекста. |
|
presence_penalty | number | Помогает предотвратить повторение одного и того же раздела путем наказания за слово, если оно уже существует в завершении, даже один раз. Возвращает ошибку 422, если значение или параметр не поддерживается моделью. | |
response_format | ChatCompletionResponseFormat | ||
seed | integer | Если задано, наша система будет предпринять лучшие усилия для выборки детерминированного, таким образом, что повторяющиеся запросы с одинаковыми и теми же параметрами должны возвращать тот же seed результат. Детерминированность не гарантируется, и вы должны ссылаться на system_fingerprint параметр ответа для отслеживания изменений в серверной части. |
|
stop | Последовательности, в которых API перестанет создавать дополнительные маркеры. | ||
потоковая передача | boolean | Если задано, будут отправлены частичные разностные сообщения. Маркеры будут отправляться как события, отправленные сервером только для данных, как они становятся доступными, при этом поток завершается сообщениемdata: [DONE] . |
|
Температура | number | Не отрицательное число. Возвращает значение 422, если значение не поддерживается моделью. | |
tool_choice | ChatCompletionToolChoiceOption | Определяет, какая функция (если есть) вызывается моделью. none означает, что модель не вызывает функцию и вместо этого создает сообщение. auto означает, что модель может выбирать между созданием сообщения или вызовом функции. Указание определенной функции путем {"type": "function", "function": {"name": "my_function"}} принудительного вызова этой функции моделью.none значение по умолчанию, если функции отсутствуют. auto значение по умолчанию, если функции присутствуют. Возвращает ошибку 422, если средство не поддерживается моделью. |
|
средства | ChatCompletionTool[] | Список инструментов, которые может вызывать модель. В настоящее время в качестве инструмента поддерживаются только функции. Используйте это для предоставления списка функций, для которые модель может создавать входные данные JSON. Возвращает ошибку 422, если средство не поддерживается моделью. | |
top_p | number | Альтернативой выборке с температурой является так называемая выборка ядра, где модель рассматривает результаты маркеров с top_p всего массива значений вероятности. Таким образом, 0,1 означает, что учитываются только маркеры, входящие в верхние 10% массива значений вероятности. Как правило, мы рекомендуем изменить это или temperature не оба. |
Отклики
Имя. | Тип | Описание |
---|---|---|
200 OK | CreateChatCompletionResponse | ОК |
401 — не авторизовано | НесанкционированныйError | Маркер доступа отсутствует или недопустим Заголовки x-ms-error-code: string |
404 Не найдено | NotFoundError | Модальность не поддерживается моделью. Проверьте документацию модели, чтобы узнать, какие маршруты доступны. Заголовки x-ms-error-code: string |
422 Необработаемая сущность | UnprocessableContentError | Запрос содержит необработаемое содержимое Заголовки x-ms-error-code: string |
429 — слишком много запросов | TooManyRequestsError | Вы достигли заданного ограничения скорости, и ваш запрос должен быть темпирован. Заголовки x-ms-error-code: string |
Другие коды состояния | ContentFilterError | Недопустимый запрос Заголовки x-ms-error-code: string |
Безопасность
Авторизация
Маркер с Bearer:
префиксом, например. Bearer abcde12345
Тип: apiKey
В: заголовок
AADToken
Проверка подлинности OAuth2 в Azure Active Directory
Тип: oauth2
Поток: приложение
URL-адрес токена: https://login.microsoftonline.com/common/oauth2/v2.0/token
Примеры
Создает ответ модели для данной беседы чата
Пример запроса
POST /chat/completions?api-version=2024-04-01-preview
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture"
},
{
"role": "assistant",
"content": "The Riemann Conjecture is a deep mathematical conjecture around prime numbers and how they can be predicted. It was first published in Riemann's groundbreaking 1859 paper. The conjecture states that the Riemann zeta function has its zeros only at the negative even integers and complex numbers with real part 1/21. Many consider it to be the most important unsolved problem in pure mathematics. The Riemann hypothesis is a way to predict the probability that numbers in a certain range are prime that was also devised by German mathematician Bernhard Riemann in 18594."
},
{
"role": "user",
"content": "Ist it proved?"
}
],
"frequency_penalty": 0,
"presence_penalty": 0,
"max_tokens": 256,
"seed": 42,
"stop": "<|endoftext|>",
"stream": false,
"temperature": 0,
"top_p": 1,
"response_format": { "type": "text" }
}
Пример ответа
Код состояния: 200.
{
"id": "1234567890",
"model": "llama2-70b-chat",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "No, it has never been proved"
}
}
],
"created": 1234567890,
"object": "chat.completion",
"usage": {
"prompt_tokens": 205,
"completion_tokens": 5,
"total_tokens": 210
}
}
Определения
Имя | Описание |
---|---|
ChatCompletionRequestMessage | |
ChatCompletionMessageContentPart | |
ChatCompletionMessageContentPartType | |
ChatCompletionToolChoiceOption | Определяет, какая функция (если есть) вызывается моделью. none означает, что модель не вызывает функцию и вместо этого создает сообщение. auto означает, что модель может выбирать между созданием сообщения или вызовом функции. Указание определенной функции путем {"type": "function", "function": {"name": "my_function"}} принудительного вызова этой функции моделью.none значение по умолчанию, если функции отсутствуют. auto значение по умолчанию, если функции присутствуют. Возвращает ошибку 422, если средство не поддерживается моделью. |
ChatCompletionFinishReason | Причина, по которой модель перестала создавать маркеры. Это произойдет stop , если модель попала в естественную точку остановки или указанную последовательность остановки, если достигнуто максимальное количество маркеров, указанных в запросе, length если содержимое было пропущено из-за флага из фильтров содержимого, content_filter tool_calls если модель называется инструментом. |
ChatCompletionMessageToolCall | |
ChatCompletionObject | Тип объекта, который всегда chat.completion является . |
ChatCompletionResponseFormat | Формат ответа модели. Параметр включения json_object режима JSON, который гарантирует, что модель создает сообщение является допустимым JSON. При использовании режима JSON необходимо также указать модели создавать JSON самостоятельно с помощью системного или пользовательского сообщения. Кроме того, обратите внимание, что содержимое сообщения может быть частично отрезано, если finish_reason="length" , что указывает на превышение поколения max_tokens или беседа превысила максимальную длину контекста. |
ChatCompletionResponseFormatType | Тип формата ответа. |
ChatCompletionResponseMessage | Сообщение о завершении чата, созданное моделью. |
ChatCompletionTool | |
ChatMessageRole | Роль автора этого сообщения. |
Варианты | Список вариантов завершения чата. |
ЗавершениеUsage | Статистика использования для запроса завершения. |
ContentFilterError | Вызов API завершается сбоем, когда запрос активирует фильтр содержимого, как настроено. Измените запрос и повторите попытку. |
CreateChatCompletionRequest | |
CreateChatCompletionResponse | Представляет ответ завершения чата, возвращаемый моделью на основе предоставленных входных данных. |
Detail | Сведения об ошибке UnprocessableContentError . |
Function | Функция, вызываемая моделью. |
FunctionObject | Определение функции, к к ней имеется доступ. |
ImageDetail | Указывает уровень детализации изображения. |
NotFoundError | Маршрут недопустим для развернутой модели. |
ToolType | Тип средства. В настоящее время поддерживается только function . |
TooManyRequestsError | Вы достигли заданного ограничения скорости, и ваши запросы должны быть темпы. |
НесанкционированныйError | Проверка подлинности отсутствует или недопустимая. |
UnprocessableContentError | Запрос содержит необработаемое содержимое. Ошибка возвращается, когда указанная полезные данные допустимы в соответствии с этой спецификацией. Однако некоторые инструкции, указанные в полезных данных, не поддерживаются базовой моделью. details Используйте раздел, чтобы понять, что параметр обижает. |
ChatCompletionFinishReason
Причина, по которой модель перестала создавать маркеры. Это произойдет stop
, если модель попала в естественную точку остановки или указанную последовательность остановки, если достигнуто максимальное количество маркеров, указанных в запросе, length
если содержимое было пропущено из-за флага из фильтров содержимого, content_filter
tool_calls
если модель называется инструментом.
Имя. | Тип | Описание |
---|---|---|
content_filter | строка | |
length | строка | |
stop | строка | |
tool_calls | строка |
ChatCompletionMessageToolCall
Имя. | Тип | Описание |
---|---|---|
function | Function | Функция, вызываемая моделью. |
Идентификатор | строка | Идентификатор вызова средства. |
type | ToolType | Тип средства. В настоящее время поддерживается только function . |
ChatCompletionObject
Тип объекта, который всегда chat.completion
является .
Имя. | Тип | Описание |
---|---|---|
chat.completion | строка |
ChatCompletionResponseFormat
Формат ответа модели. Параметр включения json_object
режима JSON, который гарантирует, что модель создает сообщение является допустимым JSON. При использовании режима JSON необходимо также указать модели создавать JSON самостоятельно с помощью системного или пользовательского сообщения. Кроме того, обратите внимание, что содержимое сообщения может быть частично отрезано, если finish_reason="length"
, что указывает на превышение поколения max_tokens
или беседа превысила максимальную длину контекста.
Имя. | Тип | Описание |
---|---|---|
type | ChatCompletionResponseFormatType | Тип формата ответа. |
ChatCompletionResponseFormatType
Тип формата ответа.
Имя. | Тип | Описание |
---|---|---|
json_object | строка | |
text | строка |
ChatCompletionResponseMessage
Сообщение о завершении чата, созданное моделью.
Имя. | Тип | Описание |
---|---|---|
content | строка | Содержимое сообщения. |
роль | ChatMessageRole | Роль автора этого сообщения. |
tool_calls | ChatCompletionMessageToolCall[] | Вызовы средства, созданные моделью, например вызовы функций. |
ChatCompletionTool
Имя. | Тип | Описание |
---|---|---|
function | FunctionObject | |
type | ToolType | Тип средства. В настоящее время поддерживается только function . |
ChatMessageRole
Роль автора этого сообщения.
Имя. | Тип | Описание |
---|---|---|
assistant | строка | |
доступом | строка | |
планирования | строка | |
Пользователь | строка |
Варианты выбора
Список вариантов завершения чата. Может быть больше одного, если n
больше 1.
Имя. | Тип | Описание |
---|---|---|
finish_reason | ChatCompletionFinishReason | Причина, по которой модель перестала создавать маркеры. Это произойдет stop , если модель попала в естественную точку остановки или указанную последовательность остановки, если достигнуто максимальное количество маркеров, указанных в запросе, length если содержимое было пропущено из-за флага из фильтров содержимого, content_filter tool_calls если модель называется инструментом. |
index | integer | Индекс выбора в списке вариантов. |
message | ChatCompletionResponseMessage | Сообщение о завершении чата, созданное моделью. |
ЗавершениеUsage
Статистика использования для запроса завершения.
Имя. | Тип | Описание |
---|---|---|
completion_tokens | integer | Количество маркеров в созданном завершении. |
prompt_tokens | integer | Количество маркеров в запросе. |
total_tokens | integer | Общее количество маркеров, используемых в запросе (запрос + завершение). |
ContentFilterError
Вызов API завершается сбоем, когда запрос активирует фильтр содержимого, как настроено. Измените запрос и повторите попытку.
Имя. | Тип | Описание |
---|---|---|
кодом | строка | Код ошибки. |
error | строка | Описание ошибки. |
message | строка | Сообщение об ошибке. |
param | строка | Параметр, активировав фильтр содержимого. |
статус | integer | Код состояния HTTP. |
CreateChatCompletionRequest
Имя. | Type | Значение по умолчанию | Description |
---|---|---|---|
frequency_penalty | number | 0 | Помогает предотвратить повторение слов, уменьшая вероятность выбора слова, если оно уже использовалось. Чем выше частота штрафа, тем меньше вероятность того, что модель повторяет те же слова в выходных данных. Возвращает ошибку 422, если значение или параметр не поддерживается моделью. |
max_tokens | integer | Максимальное количество маркеров, которые можно создать в завершении чата. Общая длина входных маркеров и созданных маркеров ограничена длиной контекста модели. Передача null приводит к тому, что модель будет использовать максимальную длину контекста. |
|
messages | ChatCompletionRequestMessage[] | Список сообщений, составляющих беседу до сих пор. Возвращает ошибку 422, если по крайней мере некоторые сообщения не могут быть поняты моделью. | |
presence_penalty | number | 0 | Помогает предотвратить повторение одного и того же раздела путем наказания за слово, если оно уже существует в завершении, даже один раз. Возвращает ошибку 422, если значение или параметр не поддерживается моделью. |
response_format | ChatCompletionResponseFormat | text | |
seed | integer | Если задано, наша система будет предпринять лучшие усилия для выборки детерминированного, таким образом, что повторяющиеся запросы с одинаковыми и теми же параметрами должны возвращать тот же seed результат. Детерминированность не гарантируется, и вы должны ссылаться на system_fingerprint параметр ответа для отслеживания изменений в серверной части. |
|
stop | Последовательности, в которых API перестанет создавать дополнительные маркеры. | ||
потоковая передача | boolean | False | Если задано, будут отправлены частичные разностные сообщения. Маркеры будут отправляться как события, отправленные сервером только для данных, как они становятся доступными, при этом поток завершается сообщениемdata: [DONE] . |
Температура | number | 1 | Не отрицательное число. Возвращает значение 422, если значение не поддерживается моделью. |
tool_choice | ChatCompletionToolChoiceOption | Определяет, какая функция (если есть) вызывается моделью. none означает, что модель не вызывает функцию и вместо этого создает сообщение. auto означает, что модель может выбирать между созданием сообщения или вызовом функции. Указание определенной функции путем {"type": "function", "function": {"name": "my_function"}} принудительного вызова этой функции моделью.none значение по умолчанию, если функции отсутствуют. auto значение по умолчанию, если функции присутствуют. Возвращает ошибку 422, если средство не поддерживается моделью. |
|
средства | ChatCompletionTool[] | Список инструментов, которые может вызывать модель. В настоящее время в качестве инструмента поддерживаются только функции. Используйте это для предоставления списка функций, для которые модель может создавать входные данные JSON. Возвращает ошибку 422, если средство не поддерживается моделью. | |
top_p | number | 1 | Альтернативой выборке с температурой является так называемая выборка ядра, где модель рассматривает результаты маркеров с top_p всего массива значений вероятности. Таким образом, 0,1 означает, что учитываются только маркеры, входящие в верхние 10% массива значений вероятности. Как правило, мы рекомендуем изменить это или temperature не оба. |
ChatCompletionRequestMessage
Имя. | Тип | Описание |
---|---|---|
content | string или ChatCompletionMessageContentPart[] | Содержимое сообщения. |
роль | ChatMessageRole | Роль автора этого сообщения. |
tool_calls | ChatCompletionMessageToolCall[] | Вызовы средства, созданные моделью, например вызовы функций. |
ChatCompletionMessageContentPart
Имя. | Тип | Описание |
---|---|---|
content | строка | URL-адрес изображения или данных в кодировке Base64. |
detail | ImageDetail | Указывает уровень детализации изображения. |
type | ChatCompletionMessageContentPartType | Тип части содержимого. |
ChatCompletionMessageContentPartType
Имя. | Тип | Описание |
---|---|---|
text | строка | |
Изображение | строка | |
image_url | строка |
ChatCompletionToolChoiceOption
Определяет, какое средство (если таковое) вызывается моделью.
Имя. | Тип | Описание |
---|---|---|
ничего | строка | Модель не вызовет никакого средства и вместо этого создает сообщение. |
авто | строка | Модель может выбрать способ создания сообщения или вызова одного или нескольких средств. |
обязательно | строка | Модель должна вызывать один или несколько инструментов. |
строка | Указание определенного средства с помощью {"type": "function", "function": {"name": "my_function"}} принудительного вызова этого средства моделью. |
ImageDetail
Указывает уровень детализации изображения.
Имя. | Тип | Описание |
---|---|---|
авто | строка | |
Низкий | строка | |
high | строка |
CreateChatCompletionResponse
Представляет ответ завершения чата, возвращаемый моделью на основе предоставленных входных данных.
Имя. | Тип | Описание |
---|---|---|
choices | Выбор[] | Список вариантов завершения чата. Может быть больше одного, если n больше 1. |
создано | integer | Метка времени Unix (в секундах) при создании завершения чата. |
Идентификатор | строка | Уникальный идентификатор завершения чата. |
модель | строка | Модель, используемая для завершения чата. |
объект | ChatCompletionObject | Тип объекта, который всегда chat.completion является . |
system_fingerprint | строка | Этот отпечаток представляет конфигурацию серверной части, с которой работает модель. Можно использовать в сочетании с параметром seed запроса, чтобы понять, когда внутренние изменения были внесены, что может повлиять на детерминированность. |
использование | ЗавершениеUsage | Статистика использования для запроса завершения. |
Подробный сведения
Сведения об ошибке UnprocessableContentError .
Имя. | Тип | Описание |
---|---|---|
loc | string[] | Параметр, вызывающий проблему |
значение | строка | Значение, переданное параметру, вызывающее проблемы. |
Function
Функция, вызываемая моделью.
Имя. | Тип | Описание |
---|---|---|
аргументы | строка | Аргументы, с которыми вызывается функция, как создается моделью в формате JSON. Обратите внимание, что модель не всегда создает допустимый JSON и может создавать неправильные параметры, не определенные схемой функции. Перед вызовом функции проверьте аргументы в коде. |
name | строка | Имя вызываемой функции. |
FunctionObject
Определение функции, к к ней имеется доступ.
Имя. | Тип | Описание |
---|---|---|
описание | строка | Описание того, что выполняет функция, используемая моделью для выбора времени и способа вызова функции. |
name | строка | Имя вызываемой функции. Должен быть a-z, A-Z, 0-9 или содержать символы подчеркивания и дефисы с максимальной длиной 64. |
parameters | объект | Параметры, которые принимают функции, описаны как объект схемы JSON. Опущение parameters определяет функцию с пустым списком параметров. |
NotFoundError
Имя. | Тип | Описание |
---|---|---|
error | строка | Описание ошибки. |
message | строка | Сообщение об ошибке. |
статус | integer | Код состояния HTTP. |
ToolType
Тип средства. В настоящее время поддерживается только function
.
Имя. | Тип | Описание |
---|---|---|
function | строка |
TooManyRequestsError
Имя. | Тип | Описание |
---|---|---|
error | строка | Описание ошибки. |
message | строка | Сообщение об ошибке. |
статус | integer | Код состояния HTTP. |
НесанкционированныйError
Имя. | Тип | Описание |
---|---|---|
error | строка | Описание ошибки. |
message | строка | Сообщение об ошибке. |
статус | integer | Код состояния HTTP. |
UnprocessableContentError
Запрос содержит необработаемое содержимое. Ошибка возвращается, когда указанная полезные данные допустимы в соответствии с этой спецификацией. Однако некоторые инструкции, указанные в полезных данных, не поддерживаются базовой моделью. details
Используйте раздел, чтобы понять, что параметр обижает.
Имя. | Тип | Описание |
---|---|---|
кодом | строка | Код ошибки. |
detail | Detail | |
error | строка | Описание ошибки. |
message | строка | Сообщение об ошибке. |
статус | integer | Код состояния HTTP. |