Задача была спроектировать микросервис, который принимает текстовый или голосовой вопрос и возвращает видео с AI-аватаром, отвечающим голосом и внешностью заказчика. Такой сервис можно использовать для корпоративных чат-ботов, видео-FAQ и персональных ассистентов.
Я спроектировал асинхронную микросервисную архитектуру на FastAPI с независимыми воркерами через Redis Streams. Пайплайн включает STT на Whisper, генерацию ответа через LLM + RAG, синтез голоса через Fish Speech, генерацию видео и lip-sync через MuseTalk. Для хранения медиа используется MinIO, для RAG — Qdrant, для inference — vLLM. Сервис собран в Docker Compose.
Был собран масштабируемый backend-каркас под генерацию видеоаватаров: API принимает задачу, выдаёт job_id, а клиент может отслеживать статус обработки. Архитектура позволяет независимо масштабировать STT, LLM, TTS и video-воркеры под нагрузку.