Тип задачи: GPT
Тип задачи chat-completion служит для обозначения сервисов, которые выполняют генерацию текста в режиме диалога. Основным примером сервиса этого типа задачи является Chat GPT.
Системное название: chat-completion
Список сервисов: https://caila.io/catalog?TaskType=chat-completion
Типы данных
В качестве базового интерфейса мы взяли спецификации интерфейса OpenAI. Спецификация OpenAI содержит много особенностей, которые могут не поддерживаться всеми существующими сервисами. Но если поддерживаются, то интерфейс доступа к ним у всех сервисов будет одинаковый.
Predict request
- Спецификация: https://caila.io/specs/mlp-data-gpt.yml#/ChatCompletionRequest
- Python тип:
...
(модуль mlp-python-sdk) - Java тип:
com.mlp.api.datatypes.chatgpt.ChatCompletionRequest
(модуль mlp-datatypes)
Пример запроса:
{
"messages": [
{ "role": "user", "content": "Привет" }
]
}
Predict config
Для задачи chat-completion у нас также описан рекомендуемый тип predict-config. В него вынесены наиболее важные и часто встречающиеся настройки для llm-инференса. Все поля predict-config, как и сам параметр, являются опциональными.
- Спецификация: https://caila.io/specs/mlp-data-gpt.yml#/ChatCompletionConfig
- Python тип:
...
(модуль mlp-python-sdk) - Java тип:
com.mlp.api.datatypes.chatgpt.ChatCompletionConfig
(модуль mlp-datatypes)
Пример конфига:
{
"model": "gpt-4o",
"stream": true,
"max_tokens": 2000,
"temperature": 1
}
Predict response
- Спецификация: https://caila.io/specs/mlp-data-gpt.yml#/ChatCompletionResult
- Python тип:
...
(модуль mlp-python-sdk) - Java тип:
com.mlp.api.datatypes.chatgpt.ChatCompletionResult
(модуль mlp-datatypes)
Пример ответа:
{
"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-адаптер.