Перейти к содержанию

Доступ к API

n-Infinite предоставляет REST API, чтобы вы могли управлять проектами из своих собственных систем: создавать проект, отслеживать его ход и получать наборы данных по завершении.

  • Базовый URL: https://tools.api.livepanel.ai/api/v2
  • Интерактивная справка: tools.api.livepanel.ai/v2/docs/ — всегда актуальный и авторитетный контракт (эта глава его суммирует).
  • Поддержка: support@livepanel.ai

Аутентификация

Сгенерируйте свой ключ в Settings → API:

Настройки API

  • API Key — нажмите кнопку справа, чтобы сгенерировать его. Ключ отображается только пока он на экране: скопируйте его немедленно и храните в безопасном месте. Если вы его потеряете, сгенерируйте новый.
  • Callback URL — конечная точка на вашей стороне, которая получает события проекта.

Отправляйте ключ в каждом запросе в заголовке Authorization с префиксом Api-Key:

Authorization: Api-Key YOUR_GENERATED_TOKEN

Жизненный цикл проекта

Создание проекта асинхронно. POST /projects отвечает проектом в состоянии INITIALIZING; когда начальная обработка завершается, он переходит в состояние CREATED. Далее:

INITIALIZING → CREATED → (enqueue) → TRAINING_AND_PREDICTING → FINISHED
                  ↑                          ↓ pause
            PERFORMING_ACTION              PAUSED → (restart)
                                             ↓
                          POST_PROCESSING → POST_PROCESSING_COMPLETE

Проект сообщает о ходе выполнения только тогда, когда он находится в состояниях TRAINING_AND_PREDICTING, PREDICTING, PAUSED, FINISHED, POST_PROCESSING или POST_PROCESSING_COMPLETE.

Конечные точки

Проекты

Метод Путь Что делает
GET /projects Перечислить проекты
POST /projects Создать проект (асинхронно — см. ниже)
GET /projects/{id} Получить один проект
DELETE /projects/{id} Удалить проект и все его компоненты
POST /projects/{id}/enqueue Отправить проект в конвейер машинного обучения
POST /projects/{id}/pause Приостановить обрабатываемый проект
POST /projects/{id}/restart Перезапустить проект — только из состояния PAUSED
GET /projects/{id}/progress Подробный ход выполнения
POST /projects/{id}/move-to-folder Переместить в папку (folder_id или folder_name для создания новой)
GET /projects/compare Сводка качества по проектам — представление Compare projects
GET/POST/DELETE /projects/{id}/members Чтение, добавление и удаление назначенных пользователей
POST /projects/projects-lite Создать Lite project
POST /projects/peek-columns Имена столбцов (и метки, для .sav) загруженного файла — для заполнения селекторов столбцов, необходимо для SPSS, который браузер не может разобрать
POST /projects/parse-datafile Прочитать полностью загруженный файл (любой поддерживаемый формат, включая SPSS .sav) и вернуть его столбцы и каждую строку

Создание проекта

POST /projects принимает данные формы multipart:

Поле Обязательно Значение
datafile да Файл набора данных
predict нет Отдельный набор данных для прогнозирования (Advanced mode)
name нет Имя проекта
multiple_choice_delimiter нет Разделитель, используемый для ответов с множественным выбором
smart_match нет Автоматически применить Smart Match к полям
force_enqueue нет Немедленно поставить в очередь на обработку, пропуская отдельный вызов enqueue
swift нет Создать в режиме ускорения Swift — автоматическое обучение немедленно, без отдельной постановки в очередь
first_question нет Столбец, с которого начинается анкета; все, что до него, является профилем респондента
express_preset нет Идентификатор или имя сохраненного пресета сопоставления Express
factor нет Коэффициент усиления Express N
country нет Слаг страны Express (с express_preset, при необходимости)

Note

Проекты Express создаются из сохраненного пресета — необработанный express_spec здесь не принимается. Сохраните пресет один раз (в UI или через конечные точки пресетов), затем ссылайтесь на него по id или имени при каждом создании.

Наборы данных

Метод Путь Что делает
GET /projects/{id}/datasets/get_file Загрузить набор данных (см. типы ниже)
POST /projects/{id}/datasets/get_merged_postprocessed Объединенный файл с примененными шагами постобработки
POST /projects/{id}/datasets/dedup_analysis Анализ дубликатов — то, что показывает предварительный просмотр дедупликации
GET /projects/{id}/datasets/dashboard_report Данные панели мониторинга графиков
GET /projects/{id}/datasets/profiling_distribution Распределения профилирования (обучение против прогнозирования)
POST /projects/{id}/swift-target Swift Target File: дедуплицированный, отобранный по квотам, взвешенный по балансу синтетический набор данных. Доступен после FINISHED; возвращает бинарный файл xlsx, тело запроса не требуется
POST /projects/{id}/express-target Эквивалент Express, по пулу, усиленному данными переписи (дедупликация только внутри прогноза — усиленные строки представляют собой отдельных реальных людей)

Типы наборов данных для get_file, все возвращаются как .xlsx:

Тип Содержимое
Train Набор данных, используемый для обучения моделей
Predict Данные профилирования, используемые в качестве входных для генерации синтетических данных
Predicted Все сгенерированные синтетические данные, в той же форме, что и Train
Merged Train + Predicted объединенные

Поля

Метод Путь Что делает
GET /projects/{id}/fields Все поля проекта
GET /projects/{id}/fields/{field_id} Одно поле
POST /projects/{id}/fields/apply_smart_match Применить Smart Match к прогнозам каждого поля
POST /projects/{id}/fields/perform_action Выполнить действие над полями (асинхронно)

perform_action поддерживает:

  • REMOVE_CLASS — удалить определенный класс из поля.
  • CLEAN_TEXT_BRANDS — нормализовать текстовые поля о брендах.

Пока выполняется действие, состояние проекта становится PERFORMING_ACTION и возвращается в CREATED по завершении.

Пресеты Express

Метод Путь Что делает
GET /express/presets Перечислить сохраненные пресеты сопоставления Express вашей компании. Необязательный фильтр ?country=<slug>
POST /express/presets Создать или перезаписать пресет — name + country идентифицируют его, поэтому сохранение существующего имени для этой страны заменяет его matching
GET /express/presets/{id} Получить один пресет
DELETE /express/presets/{id} Удалить пресет

Пресет содержит многократно используемую часть спецификации Express: сопоставления столбцов и значений, описанные в разделе Режимы ускорения.