Поделиться через


Справочник. Завершение чата | 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.