Доступ к 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 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: сопоставления столбцов и значений, описанные в разделе Режимы ускорения.