Фоновые задачи: плейлисты, длинные лекции, вкладка настроек
- таблица jobs + очередь с воркером: POST /jobs сразу отвечает, элементы
плейлиста обрабатываются последовательно, есть отмена и живой прогресс
(скачивание %, минуты распознанного Vosk-аудио)
- expand_url: плейлист раскрывается в список видео
- keep_video=false теперь качает только аудио (для 4-5ч лекций)
- настройки (LLM-ключ, модель, длина выжимки, хранение видео, путь Vosk)
хранятся в Postgres: переживают перезапуск и перезагрузку страницы
- длина выжимки прокидывается в LLM-промпт ({n} предложений)
- UI: вкладки «Главная»/«Настройки», карточка задач с автообновлением
каждые 3 сек, прогресс-бар, отмена, библиотека обновляется по мере
готовности элементов
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
27
README.md
27
README.md
@@ -48,19 +48,38 @@ OpenAI-совместимый эндпоинт. Два способа:
|
||||
Если LLM не настроена, работает встроенная экстрактивная суммаризация
|
||||
(выбор ключевых предложений, без нейросети).
|
||||
|
||||
## Плейлисты и длинные лекции
|
||||
|
||||
Обработка идёт через фоновые задачи: `POST /jobs` сразу возвращает id, элементы
|
||||
плейлиста обрабатываются по очереди, прогресс виден в UI (скачивание %,
|
||||
минуты распознанного аудио, номер видео в плейлисте). Если в настройках
|
||||
выключено «Сохранять видео», для лекций качается только аудиодорожка —
|
||||
в разы быстрее и легче.
|
||||
|
||||
Настройки (ключ LLM, модель, длина выжимки, хранение видео) сохраняются
|
||||
в Postgres — переживают перезапуск контейнеров и перезагрузку страницы.
|
||||
Вкладка «Настройки» в UI.
|
||||
|
||||
## API
|
||||
|
||||
```bash
|
||||
# обработать видео целиком
|
||||
# фоновая задача: видео или плейлист
|
||||
curl -X POST localhost:8000/jobs/ \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{"url": "https://www.youtube.com/playlist?list=..."}'
|
||||
curl localhost:8000/jobs/ # статусы и прогресс
|
||||
|
||||
# синхронно, одно видео (для коротких роликов)
|
||||
curl -X POST localhost:8000/pipeline/process \
|
||||
-H 'Content-Type: application/json' \
|
||||
-d '{"url": "https://youtu.be/...", "summary_max_sentences": 10}'
|
||||
|
||||
# каталог обработанных видео
|
||||
# каталог обработанных видео (фильтры: ?q=, ?section_id=, ?method=)
|
||||
curl localhost:8000/videos/
|
||||
|
||||
# проверить связь с LLM
|
||||
curl -X POST localhost:8000/llm/test
|
||||
# настройки
|
||||
curl -X PUT localhost:8000/settings/ -H 'Content-Type: application/json' \
|
||||
-d '{"llm_base_url": "https://openrouter.ai/api/v1", "llm_api_key": "sk-...", "llm_model": "..."}'
|
||||
```
|
||||
|
||||
## Заметки
|
||||
|
||||
Reference in New Issue
Block a user