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

69 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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