Thanks to visit codestin.com
Credit goes to github.com

Skip to content

junioraww/plyt

Repository files navigation

Plyt

Мультимодальный бот для модерирования чатов и личного пользования

Особенности

  • Полная модальность
    Отдельные группы функций можно безболезненно включать и выключать
  • Анкеты в чат
    Администраторы могут включить принятие анкет - тогда те, кто захочет попасть в чат, должны будут написать анкету, а участники чата голосуют - за/против вступления
  • Модерация чата
    В специальном режиме проверяет фотографии (и в планах - проверка видео) на наличие 18+ контента
  • Общение с ИИ
    Если обратиться по имени - делает запрос к Ollama. Бот также запоминает последние сообщения
  • Уровни:
    Для интереса, отправка сообщений, видео и голосовых дает разное количество опыта

Использование

  1. Создать файл .env и указать TELEGRAM_TOKEN

  2. Запустить Docker Compose и установить модель (последнее опционально)

$ sudo docker compose up
$ sudo docker exec ollama ollama pull gemma2:9b

Разработка

В папке src/_ находятся все модули. Модуль должен наследоваться от module.js — он содержит потенциальные обработчики событий для прикрепления к экземпляру Telegraf.

Пример кода для запроса к Ollama (запрос на английском языке, как правило, обрабатывается в 2 раза точнее и быстрее)

const response = await fetch("http://ollama:11434/api/generate", {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: 
        JSON.stringify({
            model: "gemma2:9b", // Одна модель на все модули
            prompt: "Count from 1 to 10, answer as a JSON Array, don't write anything extra.",
            stream: false,
        }),
    signal: AbortSignal.timeout(60000) // В случае долгого запроса - остановка
});

При замене модели на новую рекомендую заменить её во всех модулях с Ollama: ai-trainer.js, ai-talker.js, а также Dockerfile.ollama

В последнем обновлении с Docker Compose отключены ai-filter.js и и ai-trainer.js. Нужно дополнить docker-compose.yml необходимыми Python скриптами с FastAPI

Ресурсы

В планах

  • Добавить Python-модули в Docker
  • Улучшения тренера языков (или вынести в отдельный проект)
  • Админка со статистикой

About

Мультимодальный бот для модериования чатов

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published