# Telegram бот с Gemma Телеграм бот, использующий модель Gemma через Ollama для обработки сообщений и изображений. Поддерживает сохранение контекста в PostgreSQL. ## Функциональность - Обработка текстовых сообщений - Обработка фотографий - Поддержка команды `/clear` для очистки контекста диалога - Поддержка команды `/start` для начала работы с ботом - Игнорирование стикеров, GIF, видео и документов - Сохранение контекста диалогов в PostgreSQL ## Запуск с помощью Docker 1. Убедитесь, что Docker и Docker Compose установлены 2. Настройте файл `.env`: ``` BOT_TOKEN=your_telegram_bot_token_here OLLAMA_HOST=http://192.168.50.168:11434 OLLAMA_MODEL=gemma3:12b-it-qat POSTGRES_DB=gemma_bot POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres ``` 3. Запустите контейнеры: ``` docker compose up -d ``` ## Установка и запуск без Docker 1. Установите зависимости: ``` pip install aiogram ollama python-dotenv asyncpg ``` 2. Настройте файл `.env`: ``` BOT_TOKEN=your_telegram_bot_token_here OLLAMA_HOST=http://192.168.50.168:11434 OLLAMA_MODEL=gemma3:12b-it-qat POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_DB=gemma_bot POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres ``` 3. Убедитесь, что Ollama запущена и модель Gemma доступна. 4. Убедитесь, что PostgreSQL запущена и создана база данных. 5. Запустите бота: ``` python bot.py ``` ## Как использовать 1. Отправьте боту текстовое сообщение, и он ответит на него, используя модель Gemma. 2. Отправьте боту фотографию (с подписью или без), и он проанализирует ее. 3. Используйте команду `/clear` для очистки истории диалога. 4. Используйте команду `/start` для начала нового диалога. ## Примечания - Бот поддерживает только одну фотографию за раз. - Стикеры, GIF, видео и документы игнорируются. - Контекст диалогов сохраняется в PostgreSQL, поэтому при перезапуске бота история сообщений сохраняется.