Похожие презентации:
Prezentatsia
1. Интеллектуальный генератор программного кода веб-сайтов на основе LLM
1Интеллектуальный генератор программного кода
веб-сайтов на основе LLM
В Ы П О Л Н И Л : С Т УД Е Н Т Ф И Т У
Ю Р П Г У ( Н П И ) И М Е Н И М . И . П Л АТ О ВА
ГРУППЫ 090404-РПИ - О24
АЛЬ НАЖЖАР С.М.
РУКОВОДИТЕЛЬ :
Д О Ц Е Н Т К А Ф Е Д Р Ы П О В Т ГА В Р И К О В М . М .
Ф А К УЛ ЬТ Е Т И Н Ф О Р М А Ц И О Н Н Ы Х Т Е Х Н О Л О Г И Й И
У П РА В Л Е Н И Я
К А Ф Е Д РА П Р О Г РА М М Н О Г О О Б Е С П Е Ч Е Н И Я И
ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
2.
2Введение
Целью данной диссертационной работы является создание приложения для генерации
программного кода веб-сайтов, которое упростит создание базового функционала и
поможет сконцентрировать внимания на более важных компонентах процессах разработки
Для достижения поставленной цели были выявлены следующие задачи, решение которых
обеспечит требуемый результат:
провести анализ предметной области, для углубления понимания работы ИИ-агентов и
внутреннего устройства LLM при генерации кода;
реализовать функционал валидации кода, сгенерированного LLM;
провести анализ существующих решений, для выявления их сильных и слабых сторон;
провести системное и техническое проектирование, включая разработку
пользовательского интерфейса
разработать приложение с учетом проведенного анализа, а также провести тестирование
разработанного продукта
3.
3Диаграмма прецедентов
Использование готового
кода
Сохранение готового кода
Создание промпта
Пользователь
<<включить>>
Обработка запроса
<<включить>>
Использование интернетресурсов
<<расширить>>
Генерация кода
<<расширить>>
<<включить>>
LLM
Использование
вычислительных ресурсов
Формулирование ответа от
LLM
<<расширить>>
Анализ готового кода
<<включить>>
<<включить>>
<<включить>>
Выявление уязвимостей
Описание уязвимости
Статический анализатор
Оценка уровня опасности
уязвимости
<<расширить>> <<расширить>>
Составление отчёта
<<расширить>>
4.
4Функциональные требования
Стейкхолдеры
Пользователь
Требования
Создание промпта
Функциональные требования
Чётко
сформулированный
запрос
от
пользователя
Сохранение готового кода
Предоставление
возможности
сохранять
готового
кода
код
Использование готового кода
Использование
пользователем
LLM
Обработка запроса
Обработка запроса от пользователя
Использование интернет-ресурсов
Предоставления
свободного
выхода
в
интернет для сбора информации
Использование вычислительных ресурсов
Использование вычислительных ресурсов
LLM
Генерация кода
Генерация кода по запросу пользователя
Формулирование ответа
Формулирование
ответа
по
заранее
прописанному паттерну
Статический
Анализ готового кода
анализатор
Анализ готового кода сгенерированного
LLM
Выявление уязвимостей
Выявление уязвимостей в сгенерированном
коде
Оценка уровня опасности уязвимости
Оценка уровня опасности уязвимости в
сгенерированном коде
Описание уязвимости
Описание найденной уязвимости
Составление отчёта
Составление
полного
отчёта
генерации и валидации кода
после
5.
5Анализ аналоговых проектов
6. Концептуальная модель данных
6Концептуальная модель данных
путь к сохранённому
JSON-файлу
id отчёта
id сводки
временная
метка
сгенерирован
ный код
E3. Отчёт
исходный
промпт
модель LLM
R5. включает
id сценария
сообщение об
ошибке
id генерации
id
уязвимостей
количество
просканированных
файлов
id уязвимости
id генерации
id сводки
статус
E1. Генерация
кода по промпту
временная
метка
E4. Обнаруженная
уязвимость
R1. порождает
E5. Результат
анализа
R3. содержит
id анализа
сгенерирован
ный код
R2.
запускается
для
модель LLM
всего
найденных
уязвимостей
общее число
строк в коде
промпт
местоположен
ие
уровень
серьёзности
R4. формирует
тип
id анализа
вывод
E2. Тестовый
сценарий
ожидаемый тип
уязвимости
E6. Статический
анализ кода
инструмент
id сценария
статус
выполнения
промптшаблон
формат
вывода
название
временная
метка запуска
7.
7Функциональная структура генератора
Функции интеллектуального
генератора программного кода
веб-сайтов на основе LLM
Функции пользователей
Общие пользовательские
Функции LLM
функции
Функции статического
анализатора
Модуль сохранения
сгенерированного кода
Модуль обработки запроса
Модуль анализа кода
Модуль сохранения отчёта
Модуль генерации кода
Модуль оценки уровня
опасности
Модуль выбора LLM
Модуль формулирования
ответа
Модуль выявления уязвимости
Модуль выбора статического
анализатора
Модуль создания запроса
Модуль заранее заготовленных
промптов
Модуль описания собственного
запроса
Модуль описания уязвимости
Модуль формирования отчёта
8.
8Состав и структура
программного обеспечения
Программное обеспечение
Системное
Инструментальное
Прикладное
ОС Windows 10/11
Среда разработки
PyCharm
Модуль генерации кода
MacOC
Язык программирования
Python
Модуль вызова LLM
OC Linux
Статические анализаторы
безопасности:
Bandit, Semgrep, CodeQL
Модуль статического анализа
Интернет подключение
База данных
PostgreSQL
Модуль анализа результатов
Ollama
Модуль формирования отчёта
Библиотека
React
Модуль тестовых сценариев
9.
9Логическая модель данных
10. Структура пользовательского интерфейса
10Структура пользовательского интерфейса
Структура пользовательского
интерфейса
Страница с выбором LLM
Страница выбора анализатора
Страница для генерации
Форма скачивания LLM
Форма с выбором анализатора
Форма для создания запроса
Форма выбора LLM
Форма для возврата к выбору
LLM
Окно для ответов LLM
Форма для отображения и
сохранения файлов
Форма для сохранения файлов
Форма с отображением
выбранных конфигураций
11. Физическая модель данных
11Физическая модель
данных
12. Реализация программного кода генератора и анализатора
12Реализация программного кода
генератора и анализатора
13.
1314. Реализация пользовательского интерфейса
14Реализация пользовательского
интерфейса
15.
1516.
1617.
17Заключени
е
В рамках выполненной работы были достигнуты поставленные цели по
созданию генератора кода. Данное решение позволяет специалистам
оперативно обнаруживать дефекты в коде, созданном с использованием
больших языковых моделей, а также без дополнительной нагрузки
использовать готовые решения.
18. Спасибо за внимание!
18Спасибо за
внимание!