В этой статье пойдет речь о решении, позволяющем упростить написание текстов при работе с офисным пакетом LibreOffice. Мы разработали плагин, который позволяет работать с текстом с помощью большой языковой модели GigaChat от Сбер.
Зачем?
Каждый день люди пользуются приложениями офисного пакета для написания какого-либо текста: будь то обычный доклад, эссе, отчет о проделанной работе, деловое письмо, сообщение коллеге. На все это уходит много времени. В некоторых ситуациях один и тот же текст необходимо адаптировать для разных пользователей. При исправлении можно допустить ошибки или просто не заметить места, где нужны изменения.
И это не единственная проблема, с которой может столкнуться пользователь. Иногда приходится заниматься анализом больших документов, где упустить что-то так же просто, как щелкнуть пальцами. В других случаях надо быстро просмотреть текст и понять, о чем в нем идет речь, не потеряв смысла, что может привести к неловким ситуациям и потере времени.
Почему бы не автоматизировать этот процесс? Больше не надо вчитываться в каждую строчку на странице, искать, как правильно написать слово или закончить предложение. Именно эти проблемы решает наш проект. Достаточно выделить текст и выбрать нужное действие, после этого GigaChat исполнит ваши желания. Для установки плагина достаточно скачать и запустить .otx файл для LibreOffice Writer.
С чем пришлось столкнуться во время работы над проектом?
-
Самой большой проблемой стала сборка плагина и добавление меню в LibreOffice. Обычно, чтобы создать плагин, который можно импортировать в офис, достаточно сделать .zip файл, где будут храниться все элементы для взаимодействия с макросами. Затем надо просто переименовать этот архив в .oxt и можно запускать его. В нашем случае это не сработало. При изменении имени происходила потеря данных и плагин просто не запускался.
Решением стали скрипт на python, который преобразовывал папки в архив формате .oxt. Для этого использовали модули os и zipfile.
После того, как проблема со сборкой .oxt файла была решена, возникла новая: LibreOffice использовал не глобальный питон с устройства, а тот, который идет из коробки офиса, соответственно никакие библиотеки не находились внутри плагина.
Эта проблема решилась добавлением используемых модулей в локальный pythonpath.
Результат
После установки плагина, в верхней части LibreOffice появляется дополнительная вкладка GigaChat. Для дальнейшей работы макросов необходимо получить токен для авторизации - Токен доступа. Его можно получить в личном кабинете Сбербанка в разделе для разработчиков на сайте developers.sber.ru. Если в плагине не будет токена или он будет не валиден, то при попытке использования макросов появится всплывающее окно для его обновления/добавления.
После запуска плагина остается выделить текст в документе и выбрать подходящее для вас действие, или вы можете написать свой собственный текстовый запрос, который будет выполнен GigaChat.
Функционал
Продолжить текст — можно использовать текстовую модель для продолжения документа.
Упростить текст — если текст перегружен речевыми оборотами и сложными конструкциями, в которых можно запутаться, для исправления достаточно отправить один запрос.
Объяснить предложение — если после прочитанного предложения понимание его смысла не появилось, можно запросить объяснение у GigaChat.
Исправить ошибки — поможет исправить ошибки, найденные в тексте.
Основные темы — может найти и вывести основные тезисы, в выделенной области.
Подобрать оглавление — пригодится при написании статей, для более удачного выбора оглавления.
Изменить стиль — меняет стиль речи с разговорного на официальный и наоборот.
Ваш собственный запрос (генерация текста по текстовому запросу).
После отправления любого из вышеперечисленных запросов (продолжить, упростить, текст, исправить ошибки и пр.) появится всплывающее окно. В нем можно заменить исходный текст на текст, сгенерированный нейросетью (эти изменения можно как принять, так и отклонить).
При вызове функции Объяснить предложение и информация о плагине появятся информационные окна.
Публикуем плагин в открытом доступе
Для того, чтобы каждый желающий мог поэкспериментировать с плагином, мы выкладываем его в открытый доступ. Скачать скомпилированный файл можно найти на официальном сайте LibreOffice. Открытый код расположен в репозитории на Гитхабе. Плагин публикуется под открытой лицензией Apache 2.0, что позволяет использовать его в рамках ваших проектов для оптимизации работы с текстом.
Команда и благодарности
В работе над проектом принимали участие:
Назаров Виктор
Приходько Кирилл
Безбородов Максим
Отдельно хотим поблагодарить педагогов и руководство IT-колледжа Сириус, в частности Альберта Тенигина, за поддержку команды.
Обратная связь
Будем рады обратной связи по работе плагина. По всем вопросам можно обращаться на электронную почту LibreChatPlagin@yandex.ru
ErshoffPeter
Есть способ получить токен без curl (https://developers.sber.ru/docs/ru/gigachat/api/authorization)?
А то вот как-то вот привык писать документы под Windows...