Наше решение представляет собой научного ассистента встроенного веб-приложение, основанное на платформе Streamlit, которое обеспечивает взаимодействие с GigaChat для загрузки и обработки научных статей в формате PDF. Пользователи могут общаться с GigaChat через удобный чат-интерфейс, прикреплять научные статьи и выполнять различные операции, например:
Добавление статьи в табличку CSV: пользователи могут легко сохранять ссылки на статьи в удобном для дальнейшего анализа формате. Создание краткого обзора: GigaChat помогает пользователям быстро ознакомиться с содержанием статьи, выделяя ключевые аспекты. Структурированный обзор: предоставляется возможность создавать структурированный обзор статьи с заданными разделами, что позволяет систематизировать информацию. Сравнение двух статей (функция в разработке): планируется добавить возможность сравнивать содержание двух статей для выявления сходств и различий. Наше приложение также обладает уникальной возможностью запоминать предыдущие взаимодействия с пользователями, что способствует улучшению опыта и персонализации обслуживания.
С технической точки зрения, архитектура проекта включает три основных модуля: Модуль фронтенда: ответственный за пользовательский интерфейс, обеспечивает чат и возможность загрузки файлов через Streamlit. Модуль сервера: обрабатывает сообщения, полученные от пользователей, и направляет их на модуль взаимодействия с GigaChat. Модуль взаимодействия с GigaChat: обеспечивает связь с GigaChat для интерпретации запросов пользователей и выполнения соответствующих операций.
Запуск производился в среде conda, python 3.10 на Apple m3.
Скачайе репозиторий:
git clone https://github.com/AmpiroMax/DeepHackCOGers
cd DeepHackCOGersСоздайте своё окружение venv или conda. Установите зависимости:
pip install -r requirenments
pip install -e .Команда запуска web demo:
streamlit run src/service/page.pyВ папке notebooks расположены фыйлы test_cogapi.ipynb, test_reasoning.ipynb, test_cogapi.ipynb. В них показаны примеры работы с COGAgent.
На данный момент реализация нашего решения имеет ряд ограничений.
- На запросы пользователя модель может не выдать релевантной информации. Особенно это просматривается в запросах на структурированный обзор. Мы обнаружили странное поведение GigaChat в этой задаче и не смогли решить проблему до конца. Основной ответ от модели будет выглядить приблизительно так:
Извините, но я не могу предоставить вам .... - Время ответа на запрос. Основные функции работают достаточно быстро. Однако запрос на получение обычного обзора в силу api GigaChat выполняется в течение 1.5 минуты, что черезмерно долго. Возможно существуют параметры, ускрояющие процесс, но мы их не успели обнаружить в силу ограниченности времени соревнования.