Help:XSvacer:AIAssistant: Difference between revisions
(add demo link) |
m (spell fix) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Note|text=Данная функциональность | {{Note|type=warn|text='''Disclaimer''' | ||
* Это экспериментальная Proof of Concept версия, предоставляемая для ознакомления по принципу "как есть". | |||
* Данная функциональность не связана с [https://svace.pages.ispras.ru/svace-website/2025/02/21/ai-assistant.html AI-ассистентом из анализатора Svace]. Функционал AI-ассистента из анализатора Svace будет интегрирован в Svacer в будущих версиях сервера.}} | |||
== Поддержка ИИ-ассистента для разметки предупреждений == | == Поддержка ИИ-ассистента для разметки предупреждений == | ||
Данная функциональность позволяет использовать модель машинного обучения (ИИ) для помощи при разметке предупреждений. | Данная функциональность позволяет использовать модель машинного обучения (ИИ) для помощи при разметке предупреждений. | ||
Line 9: | Line 10: | ||
Все данные предупреждений хранятся в Svacer и получаются ИИ-ассистентом с помощью REST API. | Все данные предупреждений хранятся в Svacer и получаются ИИ-ассистентом с помощью REST API. | ||
=== Где посмотреть === | |||
* Развернуть у себя, воспользовавшись [[Help:XSvacer:AIAssistant:Deploy|инструкцией по запуску]]. | |||
* На нашем демо-стенде: https://svacer-ai-demo.ispras.ru (admin / admin).<br />Сейчас это выглядит как отдельный урезанный интерфейс Svacer, но в следующих релизах будет встроено в основной UI. | |||
== Описание интерфейса ИИ-ассистента== | == Описание интерфейса ИИ-ассистента== |
Latest revision as of 08:00, 10 July 2025
- Это экспериментальная Proof of Concept версия, предоставляемая для ознакомления по принципу "как есть".
- Данная функциональность не связана с AI-ассистентом из анализатора Svace. Функционал AI-ассистента из анализатора Svace будет интегрирован в Svacer в будущих версиях сервера.
Поддержка ИИ-ассистента для разметки предупреждений
Данная функциональность позволяет использовать модель машинного обучения (ИИ) для помощи при разметке предупреждений.
ИИ-ассистент предназначен для разметки предупреждений статусами Confirmed
и False Positive
, которые были предсказаны моделью машинного обучения.
Все данные предупреждений хранятся в Svacer и получаются ИИ-ассистентом с помощью REST API.
Где посмотреть
- Развернуть у себя, воспользовавшись инструкцией по запуску.
- На нашем демо-стенде: https://svacer-ai-demo.ispras.ru (admin / admin).
Сейчас это выглядит как отдельный урезанный интерфейс Svacer, но в следующих релизах будет встроено в основной UI.
Описание интерфейса ИИ-ассистента
Разметка одного маркера
Чтобы разметить один маркер с помощью ИИ-ассистента:
- 1. Нажмите кнопку
на правой панели или в виджете маркера на вкладке с исходным кодом.
Правая панель. Переход к ИИ-разметке Виджет маркера на вкладке с исходным кодом. Переход к ИИ-разметке - 2. В открывшемся окне разметки:
- а) Выберите модель AI, с помощью которой ИИ-ассистент рассчитает статус разметки.
- Спрогнозированный статус и уровень доверия прогнозу отобразятся в этом же окне.
- Если маркер уже размечен и его статус совпадает с прогнозным, то в окне отобразится сообщение об этом и дальнейшая разметка станет недоступна.
- б) Введите комментарий.
- в) Нажмите кнопку Применить.
Окно ИИ-разметки
Окно ИИ-разметки. Прогнозный статус совпадает с существующим
- Статус, установленный с помощью ИИ-ассистента, отобразится в верхней части правой панели и в виджете маркера на вкладке с исходным кодом с отметкой
. Также этой иконкой будет отмечен статус в комментарии, добавленном при разметке, который дополнительно содержит информацию о проведенной разметке: время, имя модели машинного обучения, уровень доверия прогнозу.
- Дополнительная информация также отображается при наведении курсора на иконку
.
-
Правая панель. Результат ИИ-разметки
-
Правая панель. Комментарий об ИИ-разметке

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

Описание модели xgb.joblib ИИ-ассистента
Модель обучена на базе 50000+ размеченных предупреждений.
Для предсказания статуса разметки нами используются:
- языковая модель codebert-base для получения эмбеддингов кода;
- метод градиентного бустинга (xgboost) для решения задачи классификации.