Загрузи свои учебники → Получи отчёты, презентации, конспекты и ответы на вопросы
Всё работает полностью офлайн. Ваши данные не покидают компьютер.
| Функция | Описание | |
|---|---|---|
| 💬 | Чат | Задавайте вопросы по книгам — ответы в реальном времени (стриминг) |
| 📝 | Отчёты | Академические отчёты с введением, анализом и выводами (DOCX + MD) |
| 📊 | Презентации | Готовые PowerPoint-файлы (PPTX) с 10-15 слайдами |
| 📋 | Конспекты | Структурированные конспекты с ключевыми тезисами |
| ✍️ | Эссе | Академические эссе с аргументацией и контраргументами |
| 🔬 | Критический анализ | Глубокий разбор темы: сильные/слабые стороны, выводы |
| 📖 | Подготовка к экзаменам | Определения, вопросы с ответами, шпаргалки |
📚 Книги (PDF / EPUB / DOCX / TXT / FB2 / HTML / MD)
│
▼
┌──────────────┐
│ 📄 Парсер │ Загрузка и извлечение текста
└──────┬───────┘
▼
┌──────────────┐
│ ✂️ Чанкинг │ Разбиение на фрагменты (1500 символов, overlap 300)
└──────┬───────┘
▼
┌──────────────┐
│ 🧠 E5-Large │ Мультиязычные эмбеддинги (intfloat/multilingual-e5-large)
└──────┬───────┘
▼
┌──────────────┐
│ 💾 ChromaDB │ Персистентная векторная база данных
└──────┬───────┘
│
Запрос пользователя ──────────────┐
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ 🔍 Поиск │ Top-15 │ 🎯 Reranker │ Cross-Encoder → Top-8
└──────┬───────┘ └──────┬───────┘
│ │
└──────────┬───────────────┘
▼
┌──────────────┐
│ 🤖 LLM │ Qwen2.5 (до 32B), контекст 32K
└──────┬───────┘
▼
┌──────────────┐
│ 📁 Экспорт │ DOCX / PPTX / Markdown
└──────────────┘
git clone https://github.com/emil-a-dev/lama-loca.git
cd lama-loca
chmod +x setup.sh
./setup.shСкрипт установки автоматически:
- Создаст виртуальное окружение
- Установит все зависимости
- Определит RAM и предложит оптимальную модель
- Скачает модель (по вашему согласию)
source venv/bin/activate
python main.pyОткроется GUI в браузере на http://localhost:7860 🎉
- Вкладка «Книги» — загрузите свои учебники (drag & drop)
- Нажмите «Индексировать» — система проанализирует и запомнит содержимое
- Задавайте вопросы в чате или создавайте документы по темам из книг
| Компонент | Технология | Эффект |
|---|---|---|
| 🤖 LLM | Qwen2.5 до 32B (GGUF, квантизация Q4_K_M) | Генерация текста на уровне коммерческих моделей |
| 📐 Контекст | 32 768 токенов | Модель «видит» и анализирует огромные объёмы текста |
| 🧠 Эмбеддинги | E5-Large Multilingual | Высокоточный семантический поиск на русском |
| 🎯 Реранкер | Cross-Encoder (ms-marco) | Точная фильтрация: из 15 кандидатов → 8 лучших |
| 🎛️ Sampling | temp=0.3, top_p=0.9, repeat_penalty=1.15 | Точные, связные, не повторяющиеся ответы |
| 🖥️ GUI | Gradio (веб-интерфейс) | Удобная работа без командной строки |
| Модель | Размер | RAM | Качество |
|---|---|---|---|
| Qwen2.5-32B-Instruct Q4_K_M | ~20 GB | 24+ GB | 🏆 Максимальное |
| Qwen2.5-14B-Instruct Q4_K_M | ~9 GB | 12+ GB | ⭐ Отличное |
| Qwen2.5-7B-Instruct Q4_K_M | ~5 GB | 8+ GB | 👍 Хорошее |
| Qwen2.5-3B-Instruct Q4_K_M | ~2.5 GB | 4+ GB | Базовое |
💡 Скрипт
setup.shопределяет объём RAM вашей системы и рекомендует оптимальную модель.
pip install huggingface-hub
# Пример для 14B (отличное качество):
huggingface-cli download Qwen/Qwen2.5-14B-Instruct-GGUF \
qwen2.5-14b-instruct-q4_k_m.gguf \
--local-dir models/ --local-dir-use-symlinks False
mv models/qwen2.5-14b-instruct-q4_k_m.gguf models/model.gguflama-loca/
├── main.py # 🖥️ GUI-приложение (Gradio)
├── config.py # ⚙️ Все настройки
├── setup.sh # 📦 Скрипт установки
├── requirements.txt # 📋 Зависимости Python
├── src/
│ ├── llm_engine.py # 🤖 LLM движок (llama-cpp-python)
│ ├── knowledge_base.py # 🧠 RAG + Reranker + ChromaDB
│ ├── document_generator.py # 📝 Генератор DOCX / Markdown
│ └── presentation_generator.py # 📊 Генератор PPTX
├── books/ # 📚 Ваши книги (не в git)
├── models/ # 🤖 GGUF модель (не в git)
├── output/ # 📁 Готовые документы (не в git)
└── data/ # 💾 Векторная БД (не в git)
По умолчанию все слои модели загружаются на GPU (LLM_GPU_LAYERS = -1).
Нет GPU? В config.py:
LLM_GPU_LAYERS = 0 # только CPUNVIDIA GPU + CUDA:
pip install llama-cpp-python --force-reinstall --no-cache-dir \
-C cmake.args="-DGGML_CUDA=ON"Все параметры в config.py:
| Параметр | По умолчанию | Описание |
|---|---|---|
LLM_CONTEXT_SIZE |
32768 | Размер контекста (токены) |
LLM_MAX_TOKENS |
4096 | Макс. длина ответа |
LLM_TEMPERATURE |
0.3 | Температура (0 = точнее, 1 = креативнее) |
LLM_GPU_LAYERS |
-1 | GPU слои (-1 = все, 0 = CPU) |
CHUNK_SIZE |
1500 | Размер фрагмента текста |
RETRIEVAL_TOP_K |
15 | Кандидатов при поиске |
RERANK_TOP_K |
8 | Финальных результатов после реранкинга |
MIT — используйте свободно.
Сделано с ❤️ и ИИ
Если проект полезен — поставьте ⭐