Задача — разработать полноценный AI-сервис для подготовки постов социальных сетей бренда BLAGOVA_SWEETS.
Приложение должно уметь работать в двух сценариях: получать URL страницы и самостоятельно извлекать из неё полезную информацию либо принимать исходный текст от пользователя. На основе полученного контекста AI формирует готовый пост для выбранной социальной сети с учётом стиля, цели публикации, максимальной длины, CTA и хэштегов.
Отдельной задачей было сделать не демонстрационный скрипт, а законченное приложение, которым можно пользоваться через Web UI и Telegram, с авторизацией, историей генераций, API и возможностью полноценного production-развёртывания.
Разработал backend на Python и FastAPI с интеграцией OpenAI API.
Реализовал pipeline обработки контента:
URL или текст → загрузка и очистка HTML → извлечение фактов → формирование prompt → генерация через LLM → проверка результата → сохранение истории.
Для web-версии разработал брендированный интерфейс с авторизацией и ролями ADMIN/GOST. Разграничение прав выполняется на backend: администратор имеет доступ к общей истории, а гостевой пользователь видит только данные своей сессии.
Добавил REST API и Swagger/OpenAPI, SQLite для истории генераций, SSRF-защиту при обработке URL, rate limiting авторизации и безопасное хранение паролей через Argon2.
Дополнительно реализовал Telegram-бота, использующего тот же ContentAgent, чтобы не дублировать AI-логику.
Ключевую backend-логику покрыл тестами Pytest.
Приложение контейнеризировано с Docker Compose и развёрнуто на VPS. Публичный доступ работает через Caddy и HTTPS. Настроено автоматическое получение обновлений из GitHub и пересборка контейнеров.
В результате получился работающий production AI-сервис с несколькими интерфейсами доступа.
Пользователь может:
— передать ссылку на страницу или исходный текст;
— выбрать площадку, стиль и цель публикации;
— настроить максимальную длину, CTA и хэштеги;
— получить готовый текст поста;
— работать с историей генераций;
— использовать сервис через Web UI или Telegram-бота.
Для проверки проекта реализован отдельный гостевой доступ, при этом административные данные изолированы на уровне backend.
Проект работает на собственном VPS через HTTPS, имеет публичное API со Swagger, Docker-развёртывание, автоматические тесты и механизм автоматического обновления.
Рабочая версия:
https://content.blagovasweets.com
Гостевой доступ для проверки полного функционала предоставлю по запросу.