2.8 KiB
2.8 KiB
Telegram бот с Gemma
Телеграм бот, использующий модель Gemma через Ollama для обработки сообщений и изображений. Поддерживает сохранение контекста в PostgreSQL.
Функциональность
- Обработка текстовых сообщений
- Обработка фотографий
- Поддержка команды
/clearдля очистки контекста диалога - Поддержка команды
/startдля начала работы с ботом - Игнорирование стикеров, GIF, видео и документов
- Сохранение контекста диалогов в PostgreSQL
Запуск с помощью Docker
- Убедитесь, что Docker и Docker Compose установлены
- Настройте файл
.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 - Запустите контейнеры:
docker compose up -d
Установка и запуск без Docker
-
Установите зависимости:
pip install aiogram ollama python-dotenv asyncpg -
Настройте файл
.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 -
Убедитесь, что Ollama запущена и модель Gemma доступна.
-
Убедитесь, что PostgreSQL запущена и создана база данных.
-
Запустите бота:
python bot.py
Как использовать
- Отправьте боту текстовое сообщение, и он ответит на него, используя модель Gemma.
- Отправьте боту фотографию (с подписью или без), и он проанализирует ее.
- Используйте команду
/clearдля очистки истории диалога. - Используйте команду
/startдля начала нового диалога.
Примечания
- Бот поддерживает только одну фотографию за раз.
- Стикеры, GIF, видео и документы игнорируются.
- Контекст диалогов сохраняется в PostgreSQL, поэтому при перезапуске бота история сообщений сохраняется.