МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«МИРЭА – Российский технологический университет»
РТУ МИРЭА
Институт искусственного интеллекта
Кафедра №536 – программного обеспечения систем радиоэлектронной аппаратуры
ОТЧЕТ
ПО НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЕ
ЗА 7-ОЙ СЕМЕСТР
Тема: «Интеллектуальный ассистент для формирования информационных
ресурсов»
Студент группы
КМБО-02-22
Н.А.Воробьев
Руководитель практики
«Отчет представлен
к рассмотрению»
«Отчет утвержден.
Допущен к защите»
А.В.Завьялов
«___» __________2025 г.
«___» __________2025 г.
Москва 2025
(подпись студента)
(подпись руководителя)
Оглавление
Введение ....................................................................................................................... 3
1 Исходные данные ..................................................................................................... 3
2 Используемые средства разработки ....................................................................... 4
2.1 Содержание и результат выполненных работ .................................................... 5
3. Общая схема проекта .............................................................................................. 9
3.1 Архитектура приложения ..................................................................................... 9
3.2 Технологический стек ........................................................................................... 9
4. Доступ к результатам ............................................................................................ 10
Заключение ................................................................................................................ 11
Введение
В рамках производственной практики стояла задача разработать
кроссплатформенное
мобильное
и
настольное
приложение
для
интеллектуального редактирования презентаций с использованием технологий
искусственного интеллекта. Разработанное приложение AiVega построено на
базе Kotlin Multiplatform и Compose Multiplatform, что позволило обеспечить
единую кодовую базу для платформ Android, iOS и Desktop (JVM), интегрировав
при этом возможности загрузки, редактирования и экспорта презентаций в
форматах PPTX с применением AI-ассистированных инструментов.
1 Исходные данные
Перед началом выполнения основной части задания имелся опыт
разработки кроссплатформенных приложений на Kotlin. Ключевым исходным
материалом
для
разработки
послужила
документация
по
следующим
платформа
для
разработки
технологиям и фреймворкам:
● Kotlin
Multiplatform
(KMP)
-
кроссплатформенного кода;
● Jetpack Compose Multiplatform - фреймворк для построения
пользовательского интерфейса;
● REST API - спецификация для взаимодействия с серверной частью;
● Форматы
данных
PPTX
-
спецификации
для
работы
с
презентациями;
● Документация AI сервисов - описание API для генерации текстовых
предложений и изображений;
● Техническая документация Android, iOS и Desktop (JVM) платформ
- руководства по работе с файловыми системами и интеграцией с
операционными системами.
2 Используемые средства разработки
В
ходе
выполнения
производственной
практики
использовались
следующие програмные и технические средства разработки:
● IntelliJ IDEA Community/Ultimate Edition - интегрированная среда
разработки (IDE) для написания и отладки кода на Kotlin;
● Android Studio - среда разработки для компиляции и тестирования
компонентов Android;
● Xcode - инструмент для компиляции и тестирования компонентов
iOS;
● Kotlin
Multiplatform
-
платформа
для
разработки
кроссплатформенного кода;
● Compose Multiplatform - фреймворк для разработки универсального
пользовательского интерфейса;
● Gradle - система управления зависимостями и сборки проекта;
● Postman / REST Client - инструменты для тестирования REST API;
● Git и GitHub - система контроля версий для управления исходным
кодом;
● Операционные системы - Windows 10/11, macOS, Linux для
кроссплатформенной разработки.
2.1 Содержание и результат выполненных работ
Разработка приложения AiVega велась модульным подходом, с
разделением логики на отдельные компоненты, отвечающие за конкретные
функции. Далее приведено краткое описание функциональности каждого из
реализованных компонентов.
1. Модуль загрузки и парсинга презентаций
Модуль предназначен для загрузки файлов PPTX с устройства
пользователя и их парсинга для извлечения структуры презентации. Основная
задача - преобразовать бинарный формат PPTX в удобный для редактирования
внутренний формат, содержащий информацию о слайдах, текстовых элементах,
изображениях и фигурах (рисунок 1).
Реализована поддержка работы с файловой системой для всех трёх
платформ:
● Android - использование File Picker API для выбора файлов;
● iOS - интеграция с Document Picker для доступа к файлам;
● Desktop - прямая работа с файловой системой через Java File API.
● Парсер извлекает из PPTX-файла:
● Иерархию слайдов с их порядком;
● Текстовые элементы (заголовки, подзаголовки, параграфы) с
сохранением форматирования;
● Изображения и медиаресурсы;
● Формы и эффекты оформления.
Рисунок 1 – Экран загрузки презентации
2. Модуль редактирования презентаций
Модуль
обеспечивает
визуальное
редактирование
элементов
загруженной презентации. Реализованы следующие функции:
Редактирование текста - изменение содержания текстовых элементов
слайдов с сохранением форматирования (жирный, курсив, подчеркивание, цвет
текста);
Управление
слайдами
-
добавление
новых
слайдов,
удаление,
перестановка, дублирование слайдов;
Модификация элементов - изменение размера, позиции и свойств
изображений и фигур;
Работа со слоями - управление порядком элементов на слайде
(перемещение вперёд/назад).
Редактор
использует
Compose
Multiplatform
для
отрисовки
интерактивного пользовательского интерфейса, обеспечивающего одинаковый
внешний вид и функциональность на всех платформах.
3. Модуль AI-ассистированного улучшения контента
Модуль интегрирует технологии искусственного интеллекта для
автоматизации процесса улучшения текстового контента презентаций (рисунок
2). Основные функции:
Генерация предложений по улучшению текста - отправка текстового
элемента на REST API сервер (POST /suggest/text) и получение предложений по
улучшению, включая переформулировки, грамматические исправления и
оптимизацию по длине;
Кэширование AI-предложений - сохранение полученных предложений в
локальной памяти приложения для минимизации повторных запросов к серверу
и оптимизации производительности;
Применение предложений - интеграция выбранного пользователем
предложения в текстовый элемент презентации с сохранением других свойств
элемента.
Рисунок 2 – Экрна улучшения и анализа контента.
4. Модуль генерации изображений
Модуль обеспечивает создание изображений по текстовому описанию с
использованием AI. Реализованы следующие возможности:
Генерация изображений - отправка текстового описания на API сервер
(POST /generate/image) и получение сгенерированного изображения;
Предпросмотр результатов - отображение сгенерированного изображения
в отдельном окне для предварительного просмотра перед добавлением в
презентацию;
Интеграция в презентацию - добавление выбранного изображения на
текущий слайд с возможностью дальнейшего редактирования его позиции и
размера;
Загрузка изображений - поддержка загрузки собственных изображений с
устройства пользователя.
5. Модуль экспорта презентаций
Модуль отвечает за сохранение отредактированной презентации в
различных форматах:
Экспорт в PPTX - сохранение презентации в исходный формат PowerPoint
с сохранением всех редактирований;
Сохранение на устройство - запись файла в хранилище пользователя с
поддержкой работы файловой системы каждой платформы;
Управление путями сохранения - выбор директории для сохранения и
управление именами файлов.
6. Модуль управления историей
Модуль обеспечивает отслеживание истории работы пользователя с
презентациями:
Сохранение истории редактирования - ведение журнала всех открытых и
редактировавшихся презентаций с временными метками;
Быстрый доступ к ранее загруженным файлам - отображение списка
недавно использованных презентаций для удобной загрузки;
Восстановление из истории - возможность вернуться к ранее загруженной
презентации без повторной её загрузки с диска;
Локальное хранилище - использование встроенной базы данных (Room
для Android, аналоги для iOS/Desktop) для сохранения истории без
необходимости облачной синхронизации.
7. Интеграция с Backend API
Приложение взаимодействует с серверной частью через REST API для
выполнения сложных операций:
Парсинг PPTX на сервере - POST /parse/pptx - загрузка файла на сервер и
получение структурированной информации;
Экспорт на сервере - POST /export/presentation - преобразование
внутреннего формата в PPTX/;
AI-предложения - POST /suggest/text - получение улучшенных вариантов
текста;
Генерация изображений - POST /generate/image - создание изображений
по текстовому описанию.
Реализована обработка сетевых ошибок, таймауты запросов и graceful
degradation при недоступности сервера.
3. Общая схема проекта
3.1 Архитектура приложения
Архитектура приложения AiVega следует принципам многоуровневой
архитектуры (Layered Architecture) с разделением на слои:
Presentation Layer - пользовательский интерфейс, разработанный на
Compose Multiplatform;
Business Logic Layer - основная логика редактирования, управления
историей и работы с AI;
Data Access Layer - работа с файловой системой, локальной БД и REST
API;
Common Multiplatform Code - общий код, который компилируется для
всех платформ.
На всех трех платформах (Android, iOS, Desktop) используется одна и та
же бизнес-логика, что обеспечивает консистентность поведения и упрощает
поддержку и развитие приложения.
3.2 Технологический стек
● Основные технологии, используемые в проекте:
● Kotlin - язык программирования общей логики;
● Kotlin
Multiplatform
-
платформа
для
кроссплатформенной
разработки;
● Compose Multiplatform - фреймворк UI для всех платформ;
● Ktor Client - клиент для HTTP запросов к REST API;
● Kotlinx Serialization - сериализация/десериализация JSON данных;
● Room Database (Android) / SQLite (iOS, Desktop) - локальное
хранилище данных;
● Coroutines - асинхронное программирование;
● Dependency Injection Koin - управление зависимостями.
4. Доступ к результатам
Результаты
выполненной
полнофункционального
приложения
работы
представлены
AiVega,
исходный
код
в
виде
которого
расположен в репозитории GitHub. Проект включает:
Исходный код на Kotlin - модули для всех платформ (Android, iOS,
Desktop);
Файлы
зависимости;
конфигурации
-
build.gradle.kts,
конфигурация
Gradle
и
Ресурсы приложения - иконки, строки, темы оформления;
Документация - README с инструкциями по сборке и запуску
приложения;
Примеры использования - тестовые PPTX файлы для демонстрации
функциональности.
Приложение успешно компилируется и запускается на:
● Android (минимальный API уровень 24+);
● iOS (iOS 14+);
● Desktop JVM (Java 11+).
Заключение
В
ходе
производственной
полнофункциональное
интеллектуального
практики
кроссплатформенное
редактирования
было
приложение
презентаций.
разработано
AiVega
Приложение
для
успешно
интегрирует:
● Загрузку и парсинг PPTX файлов;
● Визуальное редактирование элементов презентаций;
● AI-ассистированное улучшение текстового контента;
● Генерацию изображений по текстовым описаниям;
● Экспорт в форматы PPTX и ;
● Управление историей работы пользователя.
Использование Kotlin Multiplatform и Compose Multiplatform позволило
создать единую кодовую базу для платформ Android, iOS и Desktop,
обеспечивающую консистентное поведение и пользовательский опыт на всех
платформах. Успешная интеграция с Backend API расширяет возможности
приложения за счет облачных вычислений и сервисов искусственного
интеллекта.