Архитектура API
REST API архитектура
Наш API построен на принципах REST, что обеспечивает предсказуемость и единообразие взаимодействия. Основные характеристики:
- Stateless взаимодействие: каждый запрос содержит всю необходимую информацию
- Единообразные интерфейсы для всех моделей
- Ресурсно-ориентированный дизайн
- Использование стандартных HTTP методов и кодов ответов
Чтобы лучше понимать концепции давайте дадим определения для базовых терминов.
Модель
В современных технологиях и машинном обучении термин "модель" мы можем понимать по разному. В контексте Connecte под моделью подразумевается готовый программный продукт с открытым исходным кодом, который обработан, обучен на некоторых предварителньых данных и способный выдавать результат (сгенерированный текст, изображение, видео, расшифровка речи по аудио, синтезированная речь и др) на основе входных данных. Каждая модель имеет следующую структуру:
- Уникальный идентификатор
- Название и версия
- Тип модели (классификация, генерация текста и т.д.)
- Конфигурация и метаданные
- Статус доступности
Prediction
Каждый запуск модели создает прогноз (prediction) - объект, содержащий входные параметры, полученные результаты и метаданные (версия модели, пользователь, статус и временные метки). Каждый прогноз имеет структуру:
- ID прогноза
- Входные данные
- Параметры инференса
- Результаты инференса
- Временные метки
- Статус выполнения
- Метрики выполнения
- Использованные ресурсы
Схема входных данных
Схема валидации зависит от того какую модель вы используете. Каждая модель имеет свою схему в соответствии с JSON schema, которая описана на вкладке API соответствующей страницы. Когда вы делаете запрос в Connecte он проходит следующие этапы валидации входных данных:
- Валидации типов данных в соответствии JSON schema
- Определения обязательных и опциональных параметров
- Установки ограничений на значения
- Присвоение значений по умолчанию