Собрал Telegram-бота на Gemma 3, чтобы он отвечал на сообщения вместо меня
Автор собрал локального Telegram-бота на базе Gemma 3 (12B) через Ollama, чтобы разгрузить повторяющиеся коммуникации (FAQ, ссылки на инструкции, скрипты). Решение работает офлайн, учитывает опечатки и контекст, использует whitelist для аутентификации и шифрует журналы/историю (Fernet). Бот хранит сессионный контекст (последние 5–10 сообщений) и опирается на RAG: векторная БД Chroma с эмбеддингами (Sentence-Transformers) и автообновлением знаний из Git по расписанию.
Технологии и инфраструктура: Ubuntu 24.04, Docker (Ollama, API на 11434), Python 3.12+, LangChain, python-
pubmag.ru/img/logos/telegram.png" alt="Telegram" loading="lazy" decoding="async">telegram-bot, APScheduler, Git. Деплой оформлен как systemd-сервис с автозапуском и рестартами.
- Требования: ~16 ГБ RAM (возможно 8 ГБ с квантизацией), 20–30 ГБ диска (модель ~20–25 ГБ), CPU достаточно; GPU (CUDA) ускоряет.
- Безопасность: whitelist по user ID, шифрование логов и истории (Fernet), локальная обработка без передачи данных в облако.
- Обновление базы знаний: Git-pull каждые 30 минут, разбиение документов и векторный поиск в Chroma.
- Юзкейсы: мгновенные ответы на внутренние запросы (инструкции, пароли), генерация утилитарных скриптов, настройка тона ответов.
- Заявленная точность (партнёрский кейс): при опоре на структурированную базу знаний Minerva Knowledge — до 94% корректных ответов против ~50% на несистематизированных источниках.
Читайте также
- Шаблон локального LLM-бота (Gemma 3 + Ollama + Telegram): Архитектура: Telegram-бот на Python обращается к Ollama (порт 11434) с моделью Gemma 3 12B и при наличии — к векторной БД для RAG. Минимальная конфигурация: ~16 ГБ RAM и 20–30 ГБ диска; при квантизации допустимо 8 ГБ, но снижается скорость, GPU CUDA даёт заметный прирост.
[Инфраструктура]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
