Сопоставление колонок импорта (ИИ)
Колонки файла сопоставляются с полями базы сами — по названиям. Если колонки названы непривычно («Обозн.», «Долг. WGS»), кнопка «Сопоставить ИИ» разбирает их по названиям и образцам строк. Результат виден в таблице сопоставления и правится вручную до загрузки.
Возможности
- Сопоставить колонки файла с полями базы одной кнопкой, когда колонки названы непривычно («Обозн.», «Долг. WGS», «Отм. земли (м)»).
- Проверить результат по столбцу «Пример» — первые значения каждой колонки.
- Поправить любое поле вручную и продолжить импорт как обычно: «Проверить (dry-run)», затем «Применить».
Как это работает
Сначала — правила по названиям. «Разобрать файл» читает колонки и строки-образцы и сопоставляет колонки по типичным именам без модели. Что не узнано, остаётся «— не импортировать —».
«Сопоставить ИИ» отправляет модели режим импорта (узлы, участки по точкам съёмки, координаты узлов), поля назначения с пометкой обязательных, названия колонок и до 5 строк-образцов (каждое значение — до 40 символов). Модель смотрит и на имя, и на значения: долгота в Казахстане около 69–80, широта — 42–53, отметка — 300–1500 м, диаметр — целое 25–1400.
Как собирается итог (ai/tools.py): ответы модели берутся по убыванию её уверенности; поле — только из списка режима, колонка — только из файла, одна колонка — одному полю. Поля, которые модель оставила пустыми, заполняет прежнее правило по именам. Таблица сопоставления заменяется целиком. Если система координат стояла автоматически, она пересчитывается по новым колонкам X/Y (градусы — WGS 84).
В базу ничего не пишется: ИИ только заполняет таблицу. Запись — обычный импорт после проверки.
Что нужно для работы
- Окно импорта — право «Импорт сети»; разбор файла — ещё и право создавать участки.
- Кнопка «Сопоставить ИИ» — помощник ИИ, включённый на сервере, и то же право «Импорт сети». Её видно после «Разобрать файл».
Шаги
Откройте «Инструменты» и наберите в поиске «Импорт SHP / Excel / координат» — пункт выделен рамкой.

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

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

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

Примеры
Учебный файл с непривычными колонками (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(modenodes|lines|coords,columns1–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.
