Skip to content

About

Data Science алгоритм по поиску событий (в частности митапов\лекций\хакатонов по ИБ)

Resources

Stars

1 star

Watchers

2 watching

Forks

Repository files navigation

Mera-dsalg-Events

Система поиска ивентов в телеграм каналах. Парсит сообщения, находит посты об ивентах с помощью ML и отправляет в телеграм чат.

Быстрый старт

# Установить RabbitMQ
https://www.rabbitmq.com/docs/download
# Создать пользователя RabbitMQ можно на http://localhost:15672 после установки rabbitmq-server (по умолчанию guest/guest)

# Установить зависимости
pip install -r requirements.txt

# Настройка
cp config_example.py config.py
# Заполнить config.py своими токенами(в config написано подробнее)
# Настроить 1 или несколько моделей(ниже)
# Запуск
python auth.py #для создания сесии телеграмма(запустить необходимо 1 раз)
python bot.py
python consumer.py

Настройка моделей

Рекомендуемый вариант - OpenRouter API ключ

Скачать модели в папку models/ и разархивировать:

Для модели qwen установить Ollama:

sudo snap install ollama
ollama pull qwen3:8b

Для модели llama - получить OpenRouter API ключ на https://openrouter.ai/

Запуск в Docker

mkdir -p sessions
touch events.db
docker compose build
docker compose run --rm bot python auth.py
docker compose up -d

Команды бота

  • /start - начальное сообщение
  • /help - справка по командам
  • /status - показать статус работы
  • /stop - остановить мониторинг
  • /prod - рабочий режим
  • /channels - список отслеживаемых каналов
  • /models - список доступных моделей
  • /set_model - выбрать модель для работы
  • /parse - ручной парсинг канала

Примеры:

  • /parse anti_malware 2024-01-01 2024-01-31 llama
  • /set_model qwen

Модели ML

  • rubert - Finetune RuBERT
  • logreg - логистическая регрессия
  • qwen - Qwen через Ollama
  • llama - Llama через OpenRouter

Архитектура

Компоненты:

  • bot.py - телеграм бот
  • parser.py - извлечение и классификация сообщений
  • consumer.py - обработка событий из очереди RabbitMQ
  • models.py - ML модели
  • database.py - SQLite бд
  • rabbitmq.py - RabbitMQ

Данные для обучения

About

Data Science алгоритм по поиску событий (в частности митапов\лекций\хакатонов по ИБ)

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages