Профессиональный инструмент для оцифровки математических лекций и конспектов из PDF в высококачественный LaTeX-код с использованием моделей семейства Gemini.
- Интеллектуальное распознавание: Использует мощь нейросетей (Gemini 1.5 Pro / Flash) для точного распознавания сложных математических формул и текста.
- Автоматическая коррекция: Встроенный механизм "Self-healing" анализирует ошибки компиляции
pdflatexи автоматически исправляет LaTeX-код через ИИ. - Предотвращение переполнения: Специальные промпты и настройки преамбулы (align*, split, multline) предотвращают выход формул за границы страницы (Overfull hbox).
- Контроль лимитов: Реализован
RateLimiterдля соблюдения ограничений API (RPM). - Модульная сборка: Процесс разбит на блоки (по 10 страниц), что повышает надежность и позволяет обрабатывать объемные документы.
- Язык: Python 3.9+
- Библиотеки: PyMuPDF (fitz), requests, python-dotenv
- ИИ: OpenAI-совместимый API (Google Gemini через прокси или напрямую)
- Верстка: LaTeX (pdflatex)
- Python 3.9+
- Дистрибутив LaTeX: MiKTeX (Windows) или TeX Live (Linux/Mac). Убедитесь, что
pdflatexдоступен в вашем PATH. - API Key: Ключ Google AI Studio (для Gemini).
-
Склонируйте репозиторий:
git clone https://github.com/<YOUR_USERNAME>/otcifrovka_lekchii.git cd otcifrovka_lekchii
-
Установите зависимости:
pip install -r requirements.txt
-
Настройте переменные окружения: Скопируйте
.env.exampleв.envи укажите ваш API ключ и URL:cp .env.example .env
python main.py "path/to/lecture.pdf" "result.tex"python main.py --check-only "result.tex"python main.py --compile-only "result.tex"Проект настроен на работу с переменными окружения. Никогда не фиксируйте ваш .env файл в системе контроля версий. Используйте .env.example как шаблон.
Разработано в рамках курса по автоматизации оцифровки учебных материалов.