Перейти к основному содержимому

Тип задачи: GPT

Тип задачи chat-completion служит для обозначения сервисов, которые выполняют генерацию текста в режиме диалога. Основным примером сервиса этого типа задачи является Chat GPT.

Системное название: chat-completion

Список сервисов: https://caila.io/catalog?TaskType=chat-completion

Типы данных

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

Predict request

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

{
"messages": [
{ "role": "user", "content": "Привет" }
]
}

Predict config

Для задачи chat-completion у нас также описан рекомендуемый тип predict-config. В него вынесены наиболее важные и часто встречающиеся настройки для llm-инференса. Все поля predict-config, как и сам параметр, являются опциональными.

Пример конфига:

{
"model": "gpt-4o",
"stream": true,
"max_tokens": 2000,
"temperature": 1
}

Predict response

Пример ответа:

{
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Привет! Рад поболтать с тобой. Как дела?"
}
}
],
"model": "claude-3-sonnet-20240229",
"usage": {
"prompt_tokens": 10,
"completion_tokens": 25,
"total_tokens": 35
}
}

Режим прямого доступа

Некоторые сервисы, предоставляющие доступ к сторонним сервисам, например, к OpenAI, Claude, Gemini и т. п., позволяют отправлять запросы в режиме прямого доступа.

Для включения прямого доступа нужно при отправке запроса указать dataType: https://caila.io/specs/mlp-data-gpt.yml#/ChatCompletionDirectProxy. В ответ будет возвращена посылка с этим же типом.

OpenAI адаптер

Все сервисы данного типа доступны через OpenAI-адаптер.