Skip to content

firegory/StickerIt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Телеграмм бот для генерации контекстуальных стикеров

Задача

Разработать бота для генерации контекстуальных стикеров

Интерфейс пользователя

Бот находится в чате и считывает текстовое окно (далее - контекст), сохраняя последние 500 символов(~100 слов) в базу данных

Архитектура решения

Контекст сообщений при вызове командой бота подается на вход языковой модели, которая генерирует из диалога связный контекстуальный промпт. Далее этот промпт подается на вход диффузионной модели, на выходе которой уже и получаем нашу картинку - стикер

Парсинг

Функционал для парсинга сообщений из чатов с использованием библиотеки Telethon: извлекает сообщения из чатов пользователя и сохраняет их в формате контекст - путь до соответствующего стикера. Одной из ключевых особенностей решения является возможность гибкого и адаптивного парсинга сообщений

Создание датасета

Для генерации описаний с спарсенным стикерам использовалась модель microsoft/Florence-2-base-ft. Она позволяет генерировать длинные и полные описания. Сохраняем датасет в виде пар context - caption

Датасет

Обучение

С помощью библиотек unsloth и trl дообучили на собранном датасете Qwen 2.5 7B на задачу генерации из контекстного окна (на русском) промпта (на английском)

Обученная модель

Результат

image

Содержание репозитория:

  • Parser # Функционал парсинга датасета
  • ReadBot # Основная логика работы бота
  • Preprocessing # Ноутбуки по обучению модели и сбору датасета

Installation

  • Склонируйте репозиторий git clone https://github.com/firegory/StickerIt.git

  • Создайте виртуальное окружение, активируйте его python -m venv .env .evn/Scripts/activate

  • Установите необходимые библиотеки cd StickerIt pip install -r ReadBot/bot_and_dp/requirements.txt

  • Создать файл .env, поместить в него токен вашего бота

  • Добавить бота в качестве участника любого чата и дать ему права администратора

  • Запустить бота python ReadBot/bot_and_dp/bot.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •