Интеллектуальный генератор программного кода веб-сайтов на основе LLM
Концептуальная модель данных
Структура пользовательского интерфейса
Физическая модель данных
Реализация программного кода генератора и анализатора
Реализация пользовательского интерфейса
Спасибо за внимание!
2.72M

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.

13

14. Реализация пользовательского интерфейса

14
Реализация пользовательского
интерфейса

15.

15

16.

16

17.

17
Заключени
е
В рамках выполненной работы были достигнуты поставленные цели по
созданию генератора кода. Данное решение позволяет специалистам
оперативно обнаруживать дефекты в коде, созданном с использованием
больших языковых моделей, а также без дополнительной нагрузки
использовать готовые решения.

18. Спасибо за внимание!

18
Спасибо за
внимание!
English     Русский Правила