← Назад к проектам
📚

Translate Factroy

test

Мультиагентная система для первода книг для книг (PDF/EPUB/FB2 → MD/EPUB/PDF).

Translate Factroy — это мультиагентная система для литературного перевода книг (PDF / EPUB / FB2 → MD / EPUB / PDF), которая превращает сырой текст в цельное, стилистически согласованное произведение на другом языке.

В отличие от классического подхода с одной “универсальной” моделью, Translate Factroy использует связку специализированных агентов, каждый из которых отвечает за конкретный этап пайплайна. Это позволяет одновременно решать три ключевые задачи перевода:

  • сохранение авторского голоса и ритма,
  • консистентность имён и терминов на протяжении всей книги,
  • учёт культурного и контекстного слоя текста.

Система работает с длинным контекстом, поддерживает непрерывность повествования между секциями и контролирует качество перевода на уровне всей книги, а не отдельных фрагментов.

Как это работает

В основе BookTranslator — граф агентов, через который последовательно проходит текст книги: от парсинга до финальной сборки.

Каждый агент получает не только текущий фрагмент текста, но и общий контекст:

  • Style Card (стиль автора),
  • Glossary (имена и термины),
  • Rolling Summary (накопленный контекст сюжета).

Это позволяет системе “помнить”, что происходило ранее, и поддерживать единый стиль и смысл на протяжении всей книги.

Агенты пайплайна

Подготовка

  • parse_file Парсинг и очистка исходного файла (PDF / EPUB / FB2 → Markdown). Удаляет артефакты, нормализует структуру текста.

  • analyze_book Создаёт Style Card — формализованное описание стиля автора: жанр, тон, ритм, POV, плотность диалогов и ключевые приёмы.

  • extract_glossary Формирует начальный глоссарий: персонажи, локации, термины и устойчивые авторские выражения.

  • chunk_book Делит книгу на семантические секции (главы / сцены / абзацы) без разрыва диалогов и смысловых блоков.

Основной цикл перевода

Для каждой секции выполняется следующий цикл:

  • route_model Выбирает оптимальную LLM на основе жанра и языковой пары (например: художественная проза → Claude, сложные языки → GPT-4o).

  • translate_chunk Выполняет перевод с учётом:

    • Style Card
    • актуального глоссария
    • предыдущего контекста (rolling summary)
  • adapt_culture Адаптирует идиомы, культурные реалии, юмор, единицы измерения и стилистические особенности под целевой язык.

  • update_glossary Обновляет глоссарий новыми терминами и отслеживает конфликты переводов.

  • human_review (опционально) Подключает человека при конфликте терминов — система останавливается и ждёт решения.

  • update_summary Обновляет rolling summary — сжатое представление предыдущих событий для сохранения контекста.

Завершение

  • assemble Склеивает переведённые секции в единый текст, проверяя “швы” между ними (диалоги, дубли, логика переходов).

  • export Экспортирует результат в MD / EPUB / PDF и сохраняет glossary.json как отдельный артефакт.


Почему это работает лучше обычного перевода

  • Не теряется контекст Каждая секция переводится с учётом всей предыдущей истории.

  • Консистентность терминов Глоссарий автоматически поддерживается и проверяется на конфликты.

  • Сохранение стиля Style Card заставляет модель писать “как автор”, а не просто переводить.

  • Культурная адаптация Перевод звучит естественно для носителя языка, а не как калька.

  • Надёжность пайплайна Checkpointing позволяет продолжить перевод с любого места после сбоя.

  • Человек в контуре Критические решения (например, перевод ключевых терминов) остаются под контролем.

Стэк

  • Backend
    • Python
    • LangGraph
    • Marker
    • Qdrant (Vector Storage)