gemma-bot/README.md
2025-04-27 06:32:34 +03:00

2.8 KiB
Raw Blame History

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, поэтому при перезапуске бота история сообщений сохраняется.