Skip to content

ShmidtS/AI-rewriter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Book Rewriter

Интеллектуальный инструмент для переписывания текстов с использованием Google Gemini API. Приложение позволяет автоматически переписывать/переводить большие тексты (книги, статьи).

Возможности

  • Умное разбиение текста - автоматическое разделение на блоки с учетом семантических границ (абзацы, предложения)
  • Контекстное переписывание - каждый блок переписывается с учетом контекста предыдущих и следующих блоков
  • Адаптивная генерация - автоматическая настройка параметров генерации для улучшения качества
  • Валидация качества - проверка на схожесть с оригиналом, длину, разнообразие лексики
  • Возобновление работы - сохранение прогресса и возможность продолжить с места остановки
  • GUI интерфейс - удобный графический интерфейс с темной темой
  • Гибкие настройки - настройка языка, стиля и цели переписывания

Требования

  • Python 3.8+
  • Google Gemini API ключ

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/ShmidtS/AI-rewriter.git
cd AI-rewriter
  1. Создайте виртуальное окружение:
python -m venv .venv
  1. Активируйте виртуальное окружение:

Windows:

.venv\Scripts\activate

Linux/Mac:

source .venv/bin/activate
  1. Установите зависимости:
pip install -r requirements.txt
  1. Создайте файл .env и добавьте ваш API ключ:
GOOGLE_API_KEY=your_api_key_here

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

Запуск GUI приложения

python aigen.py

Настройки в интерфейсе

  1. Входной файл - выберите текстовый файл для переписывания
  2. Выходной файл - укажите путь для сохранения результата
  3. Язык - выберите язык переписывания
  4. Стиль - опишите желаемый стиль текста
  5. Цель - укажите цель переписывания
  6. Модель - выберите модель Gemini для использования
  7. Возобновить - продолжить с места остановки (если есть сохраненное состояние)

Пример настроек

Стиль:

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

Цель:

Переписать сегмент, сохраняя основной смысл и сюжетную линию,
но делая его более выразительным и интересным для современного читателя.
Устранить возможные повторы и улучшить читаемость.

Архитектура

Основные компоненты

  • Разбиение текста (split_into_blocks) - умное разделение на блоки с учетом семантики
  • Создание промптов (create_rewrite_prompt) - генерация промптов с контекстом
  • Валидация (validate_rewritten_text) - проверка качества переписанного текста
  • API вызовы (call_gemini_rewrite_api) - взаимодействие с Gemini API
  • Управление состоянием (save_state, load_state) - сохранение прогресса

Адаптивная генерация

Система автоматически увеличивает температуру генерации при:

  • Высокой схожести с оригиналом
  • Низком разнообразии лексики
  • Повторных неудачных попытках

Файлы проекта

  • aigen.py - основной файл приложения
  • requirements.txt - зависимости проекта
  • .env - конфигурация (API ключи)

Генерируемые файлы

  • *_rewrite_state.json - состояние процесса переписывания
  • *_intermediate.txt - промежуточный результат
  • *_final_rewritten.txt - финальный результат

Конфигурация

Основные параметры в aigen.py:

BLOCK_TARGET_CHARS = 10000  # Целевой размер блока
MIN_REWRITE_LENGTH_RATIO = 0.60  # Минимальное соотношение длин
MAX_REWRITE_LENGTH_RATIO = 2.6  # Максимальное соотношение длин
SIMILARITY_THRESHOLD = 0.95  # Порог схожести
MAX_RETRIES = 20  # Максимум попыток

Лицензия

MIT License - см. файл LICENSE

Автор

ShmidtS - GitHub

Changelog

v1.0.0 (2025-01-30)

  • Первый публичный релиз
  • Адаптивная генерация
  • GUI интерфейс
  • Система валидации качества

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •