Сопоставление колонок импорта (ИИ)

Колонки файла сопоставляются с полями базы сами — по названиям. Если колонки названы непривычно («Обозн.», «Долг. WGS»), кнопка «Сопоставить ИИ» разбирает их по названиям и образцам строк. Результат виден в таблице сопоставления и правится вручную до загрузки.

Где найти
«Инструменты» (значок чемоданчика справа вверху) → Исходные данные → «Импорт SHP / Excel / координат» → после «Разобрать файл» — кнопка «Сопоставить ИИ». То же — палитрой команд: Ctrl+K и начните набирать название.
Права
право «Импорт сети»; на сервере должен быть включён помощник ИИ — иначе кнопки «Сопоставить ИИ» нет.
Читаю как

Возможности

  • Сопоставить колонки файла с полями базы одной кнопкой, когда колонки названы непривычно («Обозн.», «Долг. WGS», «Отм. земли (м)»).
  • Проверить результат по столбцу «Пример» — первые значения каждой колонки.
  • Поправить любое поле вручную и продолжить импорт как обычно: «Проверить (dry-run)», затем «Применить».

Как это работает

Сначала — правила по названиям. «Разобрать файл» читает колонки и строки-образцы и сопоставляет колонки по типичным именам без модели. Что не узнано, остаётся «— не импортировать —».

«Сопоставить ИИ» отправляет модели режим импорта (узлы, участки по точкам съёмки, координаты узлов), поля назначения с пометкой обязательных, названия колонок и до 5 строк-образцов (каждое значение — до 40 символов). Модель смотрит и на имя, и на значения: долгота в Казахстане около 69–80, широта — 42–53, отметка — 300–1500 м, диаметр — целое 25–1400.

Как собирается итог (ai/tools.py): ответы модели берутся по убыванию её уверенности; поле — только из списка режима, колонка — только из файла, одна колонка — одному полю. Поля, которые модель оставила пустыми, заполняет прежнее правило по именам. Таблица сопоставления заменяется целиком. Если система координат стояла автоматически, она пересчитывается по новым колонкам X/Y (градусы — WGS 84).

В базу ничего не пишется: ИИ только заполняет таблицу. Запись — обычный импорт после проверки.

Что нужно для работы

  • Окно импорта — право «Импорт сети»; разбор файла — ещё и право создавать участки.
  • Кнопка «Сопоставить ИИ» — помощник ИИ, включённый на сервере, и то же право «Импорт сети». Её видно после «Разобрать файл».

Шаги

  1. Откройте «Инструменты» и наберите в поиске «Импорт SHP / Excel / координат» — пункт выделен рамкой.

    Пункт «Импорт SHP / Excel / координат» в панели «Инструменты»

  2. Нажмите пункт — откроется окно.

    Окно «Импорт SHP / Excel / координат»

  3. Выберите, что импортировать, укажите файл и нажмите «Разобрать файл». Если колонки не узнаны, в таблице сопоставления стоит «— не импортировать —». Нажмите «Сопоставить ИИ».

    Сопоставление колонок импорта (ИИ): шаг 3

  4. Помощник заполнил таблицу: каждой колонке файла — поле базы, справа — примеры значений для проверки. Поправьте, что нужно, и продолжите импорт — «Проверить (dry-run)», затем «Применить».

    Сопоставление колонок импорта (ИИ): шаг 4

Примеры

Учебный файл с непривычными колонками (scripts/manual/fixtures/import-nodes-odd.csv, три вымышленных узла; режим «Узлы»). Правила по именам не узнали ни одной колонки — все поля «— не импортировать —». После «Сопоставить ИИ» (снимок шага 4):

Поле Колонка Пример
X / долгота Долг. WGS 76.9205; 76.9221; 76.9238
Y / широта Шир. WGS 43.2405; 43.2411; 43.2418
Код узла Обозн. УЧ-1; УЧ-2; УЧ-3
Наименование Наим. объекта Учебная камера 1; …
Рег. номер — не импортировать —
Отметка земли, м Отм. земли (м) 812; 810; 808

Система координат переключилась на «WGS84: долгота / широта».

Если не получается

  • Кнопки «Сопоставить ИИ» нет — ИИ выключен на сервере или нет права «Импорт сети»; сопоставьте колонки вручную.
  • Поле сопоставлено не так — выберите нужную колонку в списке; проверка перед записью покажет ошибки строк.
  • Ошибка под кнопками после «Сопоставить ИИ» — модель недоступна; таблица остаётся как была.
  • Ошибка под кнопками после «Сопоставить ИИ» — модель недоступна или ИИ выключен; сопоставьте колонки вручную.
  • Пояснение модели (note) окно не показывает — проверяйте результат по столбцу «Пример».

Для администратора

  • Флаги: AI_ENABLED, ANTHROPIC_API_KEY, AI_MODEL. Низкий уровень рассуждения, ответ до 1500 токенов. Запись «AI» в журнале действий — tool=import_mapping, с режимом и числом колонок.
  • В модель уходят названия колонок и до 5 строк файла — не загружайте через «Сопоставить ИИ» файлы с персональными данными.

Для разработчика

  • API: POST /api/v1/ai/import/suggest-mapping (mode nodes|lines|coords, columns 1–200, samples до 5 строк, has_geometry; право import) → mapping, confidence, heuristic, note. Разбор файла — POST /api/v1/import/inspect.
  • Сервер: routers/ai.py, ai/tools.py (build_import_input, suggest_import_mapping), database/network_import.py (TARGET_FIELDS, suggest_mapping), промпт ai/prompts/import_mapping.md.
  • Веб: components/NetworkImportDialog.vue (aiMapping).
  • Тесты: tests/utils/networkImport.spec.ts; API — tests/test_ai_tools_stage6.py, tests/test_network_import.py; e2e — e2e/functions/ai.spec.ts.
Хотите увидеть эту функцию на своих данных?Покажем ТГИД на демонстрации и ответим на вопросы инженеров.
Запросить демо