Help:XSvacer:AIAssistant: Difference between revisions

From Svacer Wiki
m (spell fix)
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Note|type=warn|text='''Disclaimer'''
{{Note|text=Данная функциональность входит в набор расширений XSvacer}}
* Это экспериментальная Proof of Concept версия, предоставляемая для ознакомления по принципу "как есть".
* Данная функциональность не связана с [https://svace.pages.ispras.ru/svace-website/2025/02/21/ai-assistant.html AI-ассистентом из анализатора Svace]. Функционал AI-ассистента из анализатора Svace будет интегрирован в Svacer в будущих версиях сервера.}}


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


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


=== Где посмотреть ===
{{Note|text=[[Help:XSvacer:AIAssistant:Deploy|Инструкция по активации и запуску функциональности]] ИИ-ассистента}}
* Развернуть у себя, воспользовавшись [[Help:XSvacer:AIAssistant:Deploy|инструкцией по запуску]].
* На нашем демо-стенде: https://svacer-ai-demo.ispras.ru (admin / admin).<br />Сейчас это выглядит как отдельный урезанный интерфейс Svacer, но в следующих релизах будет встроено в основной UI.


== Описание интерфейса ИИ-ассистента==
== Описание интерфейса ИИ-ассистента==
Line 18: Line 15:
Чтобы разметить один маркер с помощью ИИ-ассистента:
Чтобы разметить один маркер с помощью ИИ-ассистента:
:1. Нажмите кнопку [[File:Icon AI.png|25px]] [[Help:UI manual#Функции правой панели|на правой панели]] или в виджете маркера на [[Help:UI manual#Вкладка с исходным кодом|вкладке с исходным кодом]].
:1. Нажмите кнопку [[File:Icon AI.png|25px]] [[Help:UI manual#Функции правой панели|на правой панели]] или в виджете маркера на [[Help:UI manual#Вкладка с исходным кодом|вкладке с исходным кодом]].
:[[File:221 Правая панель. Переход к ИИ-разметке.png|thumb|none|x200px|Правая панель. Переход к ИИ-разметке]]
[[File:221 Правая панель. Переход к ИИ-разметке.png|thumb|none|x200px|Правая панель. Переход к ИИ-разметке]]
:[[File:222 Виджет элемента трассы. Переход к ИИ-разметке.png|thumb|none|x150px|Виджет маркера на вкладке с исходным кодом. Переход к ИИ-разметке]]
[[File:222 Виджет элемента трассы. Переход к ИИ-разметке.png|thumb|none|x150px|Виджет маркера на вкладке с исходным кодом. Переход к ИИ-разметке]]
:2. В открывшемся окне разметки:
:2. В открывшемся окне разметки:
::а) Выберите модель AI, с помощью которой ИИ-ассистент рассчитает статус разметки.
::а) Выберите модель AI, с помощью которой ИИ-ассистент рассчитает статус разметки.
Line 26: Line 23:
::б) Введите комментарий.
::б) Введите комментарий.
::в) Нажмите кнопку '''Применить'''.
::в) Нажмите кнопку '''Применить'''.
:<gallery mode="packed" heights="250px" style="float:left; clear:right; margin-right:1em; margin-left:1em">
<gallery mode="packed" heights="250px" style="float:left; clear:right; margin-right:1em; margin-left:1em">
   223 Окно ИИ-разметки.png|Окно ИИ-разметки
   223 Окно ИИ-разметки.png|Окно ИИ-разметки
   224 Окно ИИ-разметки. Статус совпадает.png|Окно ИИ-разметки. Прогнозный статус совпадает с существующим
   224 Окно ИИ-разметки. Статус совпадает.png|Окно ИИ-разметки. Прогнозный статус совпадает с существующим
Line 64: Line 61:
* для отображения только маркеров, размеченных с помощью ИИ-ассистента, выберите фильтр '''Режим разметки''' – '''С помощью ИИ'''.
* для отображения только маркеров, размеченных с помощью ИИ-ассистента, выберите фильтр '''Режим разметки''' – '''С помощью ИИ'''.
[[File:230 Пользовательские фильтры. Режимы разметки.png|thumb|none|x400px|Пользовательские фильтры. Режимы разметки]]
[[File:230 Пользовательские фильтры. Режимы разметки.png|thumb|none|x400px|Пользовательские фильтры. Режимы разметки]]
== Описание модели xgb.joblib ИИ-ассистента ==
Модель обучена на базе 50000+ размеченных предупреждений.
Для предсказания статуса разметки нами используются:
# языковая модель codebert-base для получения эмбеддингов кода;
# метод градиентного бустинга (xgboost) для решения задачи классификации.

Revision as of 10:12, 2 June 2025

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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