- Backend: DashScope WebSocket proxy (/ws/asr/{video_id}), DashScopeCallback
sync-to-async bridge, ffmpeg audio extraction, POST /video/{id}/transcribe
- Frontend: useVideoASR hook (auto on play), useFullTranscript hook,
QueryInput partialText prop, VideoUploadResponse types, uploadVideo API
- Tests: 41 backend + 26 frontend = 67 new tests, all passing
|
||
|---|---|---|
| .. | ||
| __init__.py | ||
| asr_client.py | ||
| chunk_highlight_service.py | ||
| embedding_client.py | ||
| highlight_cache.py | ||
| history_service.py | ||
| llm_client.py | ||
| llm_client_dp.py | ||
| prompt_service.py | ||
| query_decomposer.py | ||
| rag.py | ||
| relevance_filter.py | ||
| video_service.py | ||