Функция: реализованы консольный логгер и презентер для обработки аудиокниг
- Добавлен ConsoleLogger для подробного логирования этапов обработки аудиокниг в консоли. - Введен ConsolePresenter для форматированного вывода результатов сканирования в консоль. - Создан ProcessAudioBooksUseCase для обработки полного конвейера обработки аудиокниг, включая сканирование папок, извлечение метаданных, поиск торрентов и запись результатов. - Реализована проверка LLM для улучшения метаданных. - Добавлена обработка ошибок и логирование на всех этапах обработки.
This commit is contained in:
+42
@@ -0,0 +1,42 @@
|
||||
dir:
|
||||
in: "./audiobook"
|
||||
out: "./result"
|
||||
|
||||
torrapi:
|
||||
url: "http://localhost:9200"
|
||||
|
||||
openrouter:
|
||||
api_key: "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" # API ключ для OpenRouter (получить на https://openrouter.ai/keys)
|
||||
base_url: "https://openrouter.ai/api/v1" # базовый URL API
|
||||
timeout: 120s # таймаут запросов к API
|
||||
model: "openai/gpt-4o-mini" # модель по умолчанию (быстрая non-reasoning)
|
||||
max_retries: 3 # количество повторов при timeout/429
|
||||
retry_backoff: 1s # стартовая задержка между повторами
|
||||
retry_backoff_max: 8s # максимальная задержка backoff
|
||||
prompt: |
|
||||
Ты — эксперт по метаданным русскоязычных аудиокниг. Твоя задача — проверить и исправить метаданные.
|
||||
|
||||
ПРАВИЛА ДЛЯ АВТОРА:
|
||||
1. Автор ВСЕГДА должен быть в формате: "Фамилия Имя" (без отчества)
|
||||
2. Если указано "Имя Фамилия" — переставь в правильный порядок
|
||||
3. Если есть отчество (три слова) — убери его, оставь только "Фамилия Имя"
|
||||
4. Если несколько авторов — обработай каждого по тем же правилам, раздели запятыми
|
||||
|
||||
ПРАВИЛА ДЛЯ НАЗВАНИЯ КНИГИ (title):
|
||||
1. Убери номера серий, книг типа: "Книга 1", "01", "#1", "Том 2"
|
||||
2. Убери название серии, если оно дублируется
|
||||
3. Убери служебные слова: "Аудиокнига", "MP3", "читает"
|
||||
4. Убери имя автора, если оно попало в название
|
||||
5. Убери год издания из названия
|
||||
6. Оставь только чистое название произведения
|
||||
|
||||
ФОРМАТ ОТВЕТА (строго JSON):
|
||||
{
|
||||
"author": "Исправленная Фамилия Имя",
|
||||
"title": "Исправленное название без лишнего",
|
||||
"author_fixed": true/false,
|
||||
"title_fixed": true/false,
|
||||
"changes": "краткое описание сделанных изменений"
|
||||
}
|
||||
|
||||
Если исправления не требуются, верни исходные значения с флагами false.
|
||||
Reference in New Issue
Block a user