Архитектура API

Быстрый, масштабируемый инференс AI в облаке

REST API архитектура

Наш API построен на принципах REST, что обеспечивает предсказуемость и единообразие взаимодействия. Основные характеристики:

  • Stateless взаимодействие: каждый запрос содержит всю необходимую информацию
  • Единообразные интерфейсы для всех моделей
  • Ресурсно-ориентированный дизайн
  • Использование стандартных HTTP методов и кодов ответов

Чтобы лучше понимать концепции давайте дадим определения для базовых терминов.

Модель

В современных технологиях и машинном обучении термин "модель" мы можем понимать по разному. В контексте Connecte под моделью подразумевается готовый программный продукт с открытым исходным кодом, который обработан, обучен на некоторых предварителньых данных и способный выдавать результат (сгенерированный текст, изображение, видео, расшифровка речи по аудио, синтезированная речь и др) на основе входных данных. Каждая модель имеет следующую структуру:

  • Уникальный идентификатор
  • Название и версия
  • Тип модели (классификация, генерация текста и т.д.)
  • Конфигурация и метаданные
  • Статус доступности
Prediction

Каждый запуск модели создает прогноз (prediction) - объект, содержащий входные параметры, полученные результаты и метаданные (версия модели, пользователь, статус и временные метки). Каждый прогноз имеет структуру:

  • ID прогноза
  • Входные данные
  • Параметры инференса
  • Результаты инференса
  • Временные метки
  • Статус выполнения
  • Метрики выполнения
  • Использованные ресурсы
Схема входных данных

Схема валидации зависит от того какую модель вы используете. Каждая модель имеет свою схему в соответствии с JSON schema, которая описана на вкладке API соответствующей страницы. Когда вы делаете запрос в Connecte он проходит следующие этапы валидации входных данных:

  1. Валидации типов данных в соответствии JSON schema
  2. Определения обязательных и опциональных параметров
  3. Установки ограничений на значения
  4. Присвоение значений по умолчанию
Загрузка...

Предыдущая
Обзор
Была ли статья полезна?
Содержание: