QuickInsight
Ассистент для работы с научной литературой
• О проекте
• Цель проекта
• Актуальность
• Анализ области
• Ключевые особенности
• План реализации
• Технологическая основа
• Интерфейс проекта
• Использование
• Доступ
• Установка и запуск
• Перспективы
• Обратная связь
## Структура файлов
Изображения и шрифты для сайта:
static
- Frame 5.jpg
- gilroy-bold.ttf
- gilroy-lightitalic.ttf
- gilroy-medium.ttf
- gilroy-semibold.ttf
- gilroy-ultralight.ttf
- image 1.png
- russianrail-g-pro.otf
- style.css
Сайт:
templates
- index.html
Загружанные статьи(использовались для сравнения резюмирования)
uploads
- algoritmy_obnaruzheniya_kolliziy_ploskih_dvumernyh_obektov_proizvolnoy.pdf
- Hugging_Face_Models.pdf
- lecture_1.pdf
- Lektsia_4_1.pdf
- paper88.pdf
Вспомогательные функции:
utils
- file_to_text.py
- llm.py
- search_article.py
**app.py** - основной код для запуска сайта
**app.ipynb** - код для установки и запуска сайта
## О проекте
В современном мире рабочим в научной сфере приходится тщательно изучать и анализировать огромное кол-во письменных научных работ, что отнимает очень много сил и времени.
В таких условиях AI-ассистент способный сжать, обработать и поставить главные тезисы текста— просто необходим.
## Цель проекта
Разработать научного ассистента, который поможет научным сотрудникам более эффективно управлять информацией и сократить время на обработку и анализ научных публикаций
## Актуальность
Актуальность создания AI-ассистента для работы с научной литературой обусловлена увеличением объема публикаций и научных исследований, происходящим на фоне быстрого развития науки и технологий.
Современные исследователи сталкиваются с необходимостью анализа огромного количества данных, что требует значительных временных затрат и концентрации внимания.
| | |
| :---: | :---: |
|  |  |
## Анализ области
### Процесс работы с научной литературой
1. **Поиск релевантных источников**: учёные используют базы данных для поиска статей по ключевым словам или темам.
2. **Отбор статей для изучения**: учёные отбирают статьи на основе их заголовков, аннотаций и ключевых слов, чтобы определить самое важное для их исследования.
3. **Чтение и анализ**: дальше специалисты читают полный текст, анализируют методику, результаты и выводы.
4. **Структурирование информации**: распределение статьи для более быстрого обращения к ней в будущем.
5. **Цитирование и оформление ссылок**: учёные используют библиографические менеджеры для автоматизации создания ссылок и цитат в их публикациях.
### Проблемы при работе с научной литературой
- **Объем информации** : учёные сталкиваются с проблемой “информационной перегрузки”
- **Неполные данные или плохая структура**: иногда статьи могут быть плохо структурированы.
- **Неэффективные методы поиска**: трудоёмкость в поиске нужных статей
- **Время на анализ**: исследователи тратят огромное количество времени на чтение и анализ полного текста статей, даже если некоторые из них могут не быть напрямую полезными.
- **Дублирование исследований**: существует риск дублирования исследований или недостатка знаний о существующих решениях.
## Исследовательский анализ
Большинство научных статей написаны на английском языке, он стал основным языком для научных исследований.
***Основные тематики научных статей:***
1) Технические и инженерные науки
2) Медицина и биология
3) Химия и физика
4) Компьютерные науки и IT
5) Социальные и гуманитарные науки
***Проблемы связанные с научными данными:***
1) Языковой барьер
2) Доступность научных статей
3) Релевантность и качество данных
4) Проблемы с воспроизводимостью
5) Объем и фильтрация
Эти проблемы и стимулируют создание научных ассистентов для суммаризации данных.
### Анализ конкурентов
| Scholarcy | LexRank | SummarizeBot |
| :---: | :---: | :---: |
| это веб-приложение, которое автоматически создает краткие резюме научных статей и отчетов. | это алгоритм (написанный библиотеки для Pythone “sumy”) на основе графов для автоматической суммаризации текстов, который активно используется. | универсальный инструмент, который поддерживает не только суммаризацию научных текстов, но и новостных статей, технической документации и других типов данных. |
Все предоставленные решения ( за исключением LexRank ), являются проектами, работающими на облачном хранилище.
Все решения ограничиваются лишь на сжатие текста и постановки его главных задач и смыслов.
Наше же решение способно отвечать на поставленные пользователем вопросам по данному тексту, что позволяет использовать наш ассистент в помощи при подготовки условного теоретического материала для лекций.
## API vs использование локально
| | Локальное использование| Использование API|
| :---: | :---: | :---: |
| +
|
- Конфиденциальность и безопасность данных
- Независимость
- Настройка под конкретные задачи
(дообучение) |
- Быстрая интеграция и простота развертывания
- Масштабируемость
- Постоянные обновления |
| -
|
- Стоимость оборудования для локального запуска
- Необходимость обслуживания и управления
- Ограниченная масштабируемость |
- Риски для конфиденциальности данных
-Ограниченные возможности для настройки
- Задержки и зависимость от сети |
## Ключевые особенности
Наше решение может помочь научным специалистам не только по отдельным определённым факторам их трудоёмкой работы, а помогаем во всех поставленных нами проблемами в их сфере.
- *Поиск* — наш ассистент упрощает процесс поиска определённых статей по ключевым словам и главной теме
- *Обработка* — ассистент способен сжимать и суммаризировать текст. Ассистент обрабатывает исходный текст, определяет его формат (PDF, TXT, и др.), при языковой модели сжимает его и выводит тезисы с вопросами по получившемуся тексту.
- *Ответы на вопросы* — ассистент способен ответить на любой вопрос по тексту.
## План реализации
## Технологическая основа
### Инструменты и билиотеки
***Python*** был выбран в качестве основного языка программирования, поскольку он является предпочтительным при работе с нейронными сетями благодаря своей простоте использования и многофункциональности.
Так же при реализации интефейса использовался язык гипертекстовой разметки ***HTML*** , так же использовался ***JavaScript*** , ***CSS***
### Библиотеки
- ***Langchain API*** - библиотека, предоставляющая удобный инструменты для локального запуска больших моделей и обработке больших объëмов данных.
- ***Transformers*** - Библиотека от компании Hugging Face, которая предоставляет удобные инструменты для загрузки и использования разнообразного количества моделей.
- ***Flask*** - это простой в использовании фреймворк для создания веб-приложений на языке программирования Python.
- ***arxiv*** - это простая в использовании библиотека для поиска и получения данных из электронного архива [arXiv.org](https://arxiv.org/).
> Также в качестве инструмента для поиска статей по более разнообразным темам можно использовать [openalex](https://docs.openalex.org/) , библиотека **arxiv** работает заметно быстрее, но имеет ограничения по доступным темам
### Модель
В качестве основной тестовой модели использовалась ***[Pixtral 12B](https://mistral.ai/news/pixtral-12b/)*** .
Pixtral - это языковая модель от компании [Mistral](https://mistral.ai/) с поддержкой изображений.
#### Основные характеристики
- **Общее количество параметров**: 12 миллиардов.
- **Архитектура**:
- **Vision Encoder**: 400 миллионов параметров.
- **Multimodal Transformer Decoder**: комбинирует текст и изображения.
#### Контекст и токены
- **Максимальная длина контекста**: 128,000 токенов.
### Поддержка языков
- Pixtral 12B поддерживает более 20 языков.
### Производительность
- Высокие результаты в задачах мультимодального знания (MathVista, ChartQA).
- Меньшая эффективность в текстовых задачах по сравнению с моделями, такими как Claude 3 и Gemini Flash-8B.
### Минимальные требования к видеопамяти
- **Минимально требуется**: 48 ГБ видеопамяти (VRAM) для локального запуска.
Модель на [Hugging Face](https://huggingface.co/mistralai/Pixtral-12B-2409)
## Сравнение моделей
Главными метриками для анализа работы модели по суммаризации являются:
- Text MT-Bench — метрика, оценивающая способность модели следовать инструкциям в текстовых задачах.
- Text IF-Eval — метрика также оценивает способность модели следовать инструкциям, но в более широком контексте . Эта метрика подходит для проверки того, насколько модель справляется с такой задачей.
- MMLU (5-shot) — измеряет общие способности модели в текстовых задачах. MMLU включает задания на понимание и обработку информации из текстов, что может частично отражать способность модели к созданию осмысленных суммаризаций.
#### На основе этих данных можно сделать вывод, что модель Pixtral лучше своих аналогов, а также не уступает и моделям намного больше неё.
**Мы также сравнили модели для резюмирования:**
| Pixtral | Gpt-4o | Gemini-1.5-Flash | Qwen2-72B-Instruct |
| :---: | :---: | :---: | :---: |
|  |  |  |
|  |  |  |
|  |  |  |
|  |  |  |
|  |  |  |
## Интерфейс проекта
Сайт состоит из трех страниц.
| 1 страница | 2 страница |
|:--:|:--:|
|  |  |
| 3 страница |
|  |  |
## Использование
[https://github.com/user-attachments/assets/5d8639d8-d6c7-4962-858b-bb7104b36853](https://github.com/user-attachments/assets/33ff8ab9-7525-443b-9ce5-bcda6daed69d
)
## Доступ
На данный момент сайт работает. Его можно опробовать по ссылкам:
- https://sirius-ai.ru/
- https://belemort.pythonanywhere.com/
## Установка и запуск
Чтобы запустить локальную копию, выполните следующие простые шаги.
Учтите Python должен быть не менее **3.10.5**
```shell or cmd
# Клонируем репозиторий
> git clone https://github.com/pocketgodru/sirius_ai_biocad.git
# Перемещаемся в него
> cd sirius_ai_biocad
#Устанавливаем список библиотек
> pip install -r requirements.txt
> python app.py
```
## Перспективы
**1. Увеличение скорости работы** и **улучшение качества ответов**.
**2. Добавление новых функций** по типу отдельных чатов для каждого документа .
**3. Создание полноценного сервиса**, с регистрацией пользователя и возможности выбора модели для обработки.
**4. Внедрение ещё больших функций** , по типу создания лекций
## Обратная связь
kv.chekurin@gmail.com