Help:XSvacer:AIAssistant: Difference between revisions

From Svacer Wiki
(Separate deployment manual from common description)
Tag: Replaced
(AI-model short description)
 
(5 intermediate revisions by 3 users not shown)
Line 12: Line 12:


== Описание интерфейса ИИ-ассистента==
== Описание интерфейса ИИ-ассистента==
=== Разметка одного маркера ===
Чтобы разметить один маркер с помощью ИИ-ассистента:
:1. Нажмите кнопку [[File:Icon AI.png|25px]] [[Help:UI manual#Функции правой панели|на правой панели]] или в виджете маркера на [[Help:UI manual#Вкладка с исходным кодом|вкладке с исходным кодом]].
:[[File:221 Правая панель. Переход к ИИ-разметке.png|thumb|none|x200px|Правая панель. Переход к ИИ-разметке]]
:[[File:222 Виджет элемента трассы. Переход к ИИ-разметке.png|thumb|none|x150px|Виджет маркера на вкладке с исходным кодом. Переход к ИИ-разметке]]
:2. В открывшемся окне разметки:
::а) Выберите модель AI, с помощью которой ИИ-ассистент рассчитает статус разметки.
::Спрогнозированный статус и уровень доверия прогнозу отобразятся в этом же окне.
::Если маркер уже размечен и его статус совпадает с прогнозным, то в окне отобразится сообщение об этом и дальнейшая разметка станет недоступна.
::б) Введите комментарий.
::в) Нажмите кнопку '''Применить'''.
:<gallery mode="packed" heights="250px" style="float:left; clear:right; margin-right:1em; margin-left:1em">
  223 Окно ИИ-разметки.png|Окно ИИ-разметки
  224 Окно ИИ-разметки. Статус совпадает.png|Окно ИИ-разметки. Прогнозный статус совпадает с существующим
</gallery>
<br clear=all />
:Статус, установленный с помощью ИИ-ассистента, отобразится в верхней части правой панели и в виджете маркера на вкладке с исходным кодом с отметкой [[File:Icon AI 2.png|15px]]. Также этой иконкой будет отмечен статус в комментарии, добавленном при разметке, который дополнительно содержит информацию о проведенной разметке: время, имя модели машинного обучения, уровень доверия прогнозу.
:Дополнительная информация также отображается при наведении курсора на иконку [[File:Icon AI 2.png|15px]].
<gallery mode="packed" heights="250px" style="float:left; clear:right; margin-right:1em; margin-left:1em">
  225 Правая панель. Результат ИИ-разметки.png|Правая панель. Результат ИИ-разметки
  227 Правая панель. Комментарий об ИИ-разметке.png|Правая панель. Комментарий об ИИ-разметке
</gallery>
<br clear=all />
[[File:226 Виджет элемента трассы. Результат ИИ-разметки.png|thumb|none|x150px|Виджет элемента трассы. Результат ИИ-разметки]]
=== Групповая разметка маркеров ===
Чтобы разметить несколько маркеров с помощью ИИ-ассистента одновременно:
:1. Если планируется разметить большое количество маркеров, то для ускорения составления прогноза запустите предварительный рассчет (опционально) – на вкладке [[Help:UI manual#Вкладка «Информация о снимке»|'''Информация о снимке''']] [[Help:UI manual#Функции центральной панели|центральной панели]] нажмите кнопку '''Проанализировать с AI'''.
:Расчет прогнозируемого статуса для каждого маркера запустится в фоновом режиме. В это время на месте кнопки будет отображаться анимированная иконка ожидания.
:[[File:228 Информация о снимке. Предварительный расчет.png|thumb|none|x200px|Информация о снимке. Кнопка перехода к предварительному расчету статусов маркеров]]
:2. Выберите маркеры для разметки – установите флажки в строках [[Help:UI manual#Таблица маркеров|таблицы]].
:3. Нажмите кнопку [[File:Icon AI.png|25px]] (доступна, если выбраны маркеры в таблице).
:4. В открывшемся окне разметки:
::а) Выберите модель AI, с помощью которой ИИ-ассистент рассчитает статус разметки.
::Спрогнозированные статусы и уровни доверия прогнозу отобразятся в этом же окне в таблице маркеров. При этом размеченные ранее маркеры окрашены в цвет, соответствующий выставленному статусу.
::В таблице доступна сортировка значений в столбцах '''Детектор''', '''Файл''', '''Строка''' и '''Уровень доверия''', а в столбце '''Статус разметки''' доступна фильтрация по значению прогнозируемого статуса.
::б) Введите комментарий.
::в) Выберите маркеры, которые требуется разметить, – установите флажки в столбце '''Статус разметки'''.
::Если маркер уже размечен и его статус совпадает с прогнозным, то он недоступен для установки флажка.
::г) Нажмите кнопку '''Применить'''.
:[[File:229 Окно групповой ИИ-разметки.png|thumb|none|x300px|Окно групповой ИИ-разметки]]
:Прогресс разметки отображается в соответствующем окне. Запущенный процесс можно полностью отменить нажатием кнопки '''Отмена'''.
:[[File:56 Окно прогресса разметки.png|thumb|none|x100px|Окно прогресса разметки]]
=== Фильтрация маркеров по режиму разметки ===
По умолчанию в [[Help:UI manual#Таблица маркеров|таблице маркеров]] отображаются все маркеры: как размеченные вручную, так и размеченные с помощью ИИ-ассистента.
Чтобы отобразить маркеры только с одним режимом разметки, воспользуйтесь [[Help:UI manual#Настройка и использование пользовательских фильтров|пользовательскими фильтрами]]:
* для отображения только маркеров, размеченных вручную, выберите фильтр '''Режим разметки''' – '''Вручную''';
* для отображения только маркеров, размеченных с помощью ИИ-ассистента, выберите фильтр '''Режим разметки''' – '''С помощью ИИ'''.
[[File:230 Пользовательские фильтры. Режимы разметки.png|thumb|none|x400px|Пользовательские фильтры. Режимы разметки]]
== Описание модели xgb.joblib ИИ-ассистента ==
Модель обучена на базе 50000+ размеченных предупреждений.
Для предсказания статуса разметки нами используются:
# языковая модель codebert-base для получения эмбеддингов кода;
# метод градиентного бустинга (xgboost) для решения задачи классификации.

Latest revision as of 08:48, 4 June 2025

Данная функциональность входит в набор расширений XSvacer

Поддержка ИИ-ассистента для разметки предупреждений

Данная функциональность позволяет использовать модель машинного обучения (ИИ) для помощи при разметке предупреждений.

ИИ-ассистент предназначен для разметки предупреждений статусами Confirmed и False Positive, которые были предсказаны моделью машинного обучения.

Все данные предупреждений хранятся в Svacer и получаются ИИ-ассистентом с помощью REST API.

Описание интерфейса ИИ-ассистента

Разметка одного маркера

Чтобы разметить один маркер с помощью ИИ-ассистента:

1. Нажмите кнопку на правой панели или в виджете маркера на вкладке с исходным кодом.
Правая панель. Переход к ИИ-разметке
Виджет маркера на вкладке с исходным кодом. Переход к ИИ-разметке
2. В открывшемся окне разметки:
а) Выберите модель AI, с помощью которой ИИ-ассистент рассчитает статус разметки.
Спрогнозированный статус и уровень доверия прогнозу отобразятся в этом же окне.
Если маркер уже размечен и его статус совпадает с прогнозным, то в окне отобразится сообщение об этом и дальнейшая разметка станет недоступна.
б) Введите комментарий.
в) Нажмите кнопку Применить.
  • Окно ИИ-разметки

    Окно ИИ-разметки

  • Окно ИИ-разметки. Прогнозный статус совпадает с существующим

    Окно ИИ-разметки. Прогнозный статус совпадает с существующим


  • Статус, установленный с помощью ИИ-ассистента, отобразится в верхней части правой панели и в виджете маркера на вкладке с исходным кодом с отметкой . Также этой иконкой будет отмечен статус в комментарии, добавленном при разметке, который дополнительно содержит информацию о проведенной разметке: время, имя модели машинного обучения, уровень доверия прогнозу.
    Дополнительная информация также отображается при наведении курсора на иконку .


    Виджет элемента трассы. Результат ИИ-разметки

    Групповая разметка маркеров

    Чтобы разметить несколько маркеров с помощью ИИ-ассистента одновременно:

    1. Если планируется разметить большое количество маркеров, то для ускорения составления прогноза запустите предварительный рассчет (опционально) – на вкладке Информация о снимке центральной панели нажмите кнопку Проанализировать с AI.
    Расчет прогнозируемого статуса для каждого маркера запустится в фоновом режиме. В это время на месте кнопки будет отображаться анимированная иконка ожидания.
    Информация о снимке. Кнопка перехода к предварительному расчету статусов маркеров
    2. Выберите маркеры для разметки – установите флажки в строках таблицы.
    3. Нажмите кнопку (доступна, если выбраны маркеры в таблице).
    4. В открывшемся окне разметки:
    а) Выберите модель AI, с помощью которой ИИ-ассистент рассчитает статус разметки.
    Спрогнозированные статусы и уровни доверия прогнозу отобразятся в этом же окне в таблице маркеров. При этом размеченные ранее маркеры окрашены в цвет, соответствующий выставленному статусу.
    В таблице доступна сортировка значений в столбцах Детектор, Файл, Строка и Уровень доверия, а в столбце Статус разметки доступна фильтрация по значению прогнозируемого статуса.
    б) Введите комментарий.
    в) Выберите маркеры, которые требуется разметить, – установите флажки в столбце Статус разметки.
    Если маркер уже размечен и его статус совпадает с прогнозным, то он недоступен для установки флажка.
    г) Нажмите кнопку Применить.
    Окно групповой ИИ-разметки
    Прогресс разметки отображается в соответствующем окне. Запущенный процесс можно полностью отменить нажатием кнопки Отмена.
    Окно прогресса разметки

    Фильтрация маркеров по режиму разметки

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

    • для отображения только маркеров, размеченных вручную, выберите фильтр Режим разметкиВручную;
    • для отображения только маркеров, размеченных с помощью ИИ-ассистента, выберите фильтр Режим разметкиС помощью ИИ.
    Пользовательские фильтры. Режимы разметки

    Описание модели xgb.joblib ИИ-ассистента

    Модель обучена на базе 50000+ размеченных предупреждений.

    Для предсказания статуса разметки нами используются:

    1. языковая модель codebert-base для получения эмбеддингов кода;
    2. метод градиентного бустинга (xgboost) для решения задачи классификации.