В этой статье пойдет речь о решении, позволяющем упростить написание текстов при работе с офисным пакетом LibreOffice. Мы разработали плагин, который позволяет работать с текстом с помощью большой языковой модели GigaChat от Сбер.

Зачем?

Каждый день люди пользуются приложениями офисного пакета для написания какого-либо текста: будь то обычный доклад, эссе, отчет о проделанной работе, деловое письмо, сообщение коллеге. На все это уходит много времени. В некоторых ситуациях один и тот же текст необходимо адаптировать для разных пользователей. При исправлении можно допустить ошибки или просто не заметить места, где нужны изменения.

И это не единственная проблема, с которой может столкнуться пользователь. Иногда приходится заниматься анализом больших документов, где упустить что-то так же просто, как щелкнуть пальцами. В других случаях надо быстро просмотреть текст и понять, о чем в нем идет речь, не потеряв смысла, что может привести к неловким ситуациям и потере времени.

Почему бы не автоматизировать этот процесс? Больше не надо вчитываться в каждую строчку на странице, искать, как правильно написать слово или закончить предложение. Именно эти проблемы решает наш проект. Достаточно выделить текст и выбрать нужное действие, после этого GigaChat исполнит ваши желания. Для установки плагина достаточно скачать и запустить .otx файл для LibreOffice Writer.

С чем пришлось столкнуться во время работы над проектом?

  1. Самой большой проблемой стала сборка плагина и добавление меню в LibreOffice. Обычно, чтобы создать плагин, который можно импортировать в офис, достаточно сделать .zip файл, где будут храниться все элементы для взаимодействия с макросами. Затем надо просто переименовать этот архив в .oxt и можно запускать его. В нашем случае это не сработало. При изменении имени происходила потеря данных и плагин просто не запускался.

    Решением стали скрипт на python, который преобразовывал папки в архив формате .oxt. Для этого использовали модули os и zipfile.

  2. После того, как проблема со сборкой .oxt файла была решена, возникла новая: LibreOffice использовал не глобальный питон с устройства, а тот, который идет из коробки офиса, соответственно никакие библиотеки не находились внутри плагина.
    Эта проблема решилась добавлением используемых модулей в локальный pythonpath.

Результат

После установки плагина, в верхней части LibreOffice появляется дополнительная вкладка GigaChat. Для дальнейшей работы макросов необходимо получить токен для авторизации - Токен доступа. Его можно получить в личном кабинете Сбербанка в разделе для разработчиков на сайте developers.sber.ru. Если в плагине не будет токена или он будет не валиден, то при попытке использования макросов появится всплывающее окно для его обновления/добавления.

После запуска плагина остается выделить текст в документе и выбрать подходящее для вас действие, или вы можете написать свой собственный текстовый запрос, который будет выполнен GigaChat.

Функционал

  • Продолжить текст — можно использовать текстовую модель для продолжения документа.

  • Упростить текст — если текст перегружен речевыми оборотами и сложными конструкциями, в которых можно запутаться, для исправления достаточно отправить один запрос.

  • Объяснить предложение — если после прочитанного предложения понимание его смысла не появилось, можно запросить объяснение у GigaChat.

  • Исправить ошибки — поможет исправить ошибки, найденные в тексте.

  • Основные темы — может найти и вывести основные тезисы, в выделенной области.

  • Подобрать оглавление — пригодится при написании статей, для более удачного выбора оглавления.

  • Изменить стиль — меняет стиль речи с разговорного на официальный и наоборот.

  • Ваш собственный запрос (генерация текста по текстовому запросу).

После отправления любого из вышеперечисленных запросов (продолжить, упростить, текст, исправить ошибки и пр.) появится всплывающее окно. В нем можно заменить исходный текст на текст, сгенерированный нейросетью (эти изменения можно как принять, так и отклонить).
При вызове функции Объяснить предложение и информация о плагине появятся информационные окна.

Публикуем плагин в открытом доступе

Для того, чтобы каждый желающий мог поэкспериментировать с плагином, мы выкладываем его в открытый доступ. Скачать скомпилированный файл можно найти на официальном сайте LibreOffice. Открытый код расположен в репозитории на Гитхабе. Плагин публикуется под открытой лицензией Apache 2.0, что позволяет использовать его в рамках ваших проектов для оптимизации работы с текстом.

Команда и благодарности

В работе над проектом принимали участие:

  • Назаров Виктор

  • Приходько Кирилл

  • Безбородов Максим

Отдельно хотим поблагодарить педагогов и руководство IT-колледжа Сириус, в частности Альберта Тенигина, за поддержку команды.

Обратная связь

Будем рады обратной связи по работе плагина. По всем вопросам можно обращаться на электронную почту LibreChatPlagin@yandex.ru

Ссылки и ресурсы

Комментарии (1)


  1. ErshoffPeter
    30.12.2023 19:35
    +1

    Есть способ получить токен без curl (https://developers.sber.ru/docs/ru/gigachat/api/authorization)?

    А то вот как-то вот привык писать документы под Windows...