legco_ai_assistant/backend/app/services
Woody a4e067822b feat: Phase 2.3 ASR proxy + full transcript and 2.4 frontend hooks
- 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
2026-05-06 13:41:24 +08:00
..
__init__.py feat: Phase 1.1 project setup with config, database, and models 2026-04-22 16:13:52 +08:00
asr_client.py feat: Phase 2.3 ASR proxy + full transcript and 2.4 frontend hooks 2026-05-06 13:41:24 +08:00
chunk_highlight_service.py feat: track highlight generation prompt, response, and timing in history (Phase 5.5) 2026-04-29 11:18:21 +08:00
embedding_client.py feat(backend): add embedding client and update LLM client 2026-04-23 13:26:43 +08:00
highlight_cache.py feat: add SQLite highlight cache service (Phase 5.4.3) 2026-04-29 09:26:20 +08:00
history_service.py feat: track highlight generation prompt, response, and timing in history (Phase 5.5) 2026-04-29 11:18:21 +08:00
llm_client.py fix: vLLM structured output missing thinking-control extra_body 2026-04-29 21:01:10 +08:00
llm_client_dp.py feat: inject Pydantic JSON schema into Deepseek prompt (Phase 6) 2026-05-04 15:17:24 +08:00
prompt_service.py feat: configurable SubQuestions via Step 1.2 system prompt page 2026-05-04 17:22:14 +08:00
query_decomposer.py feat: configurable SubQuestions via Step 1.2 system prompt page 2026-05-04 17:22:14 +08:00
rag.py feat: structured LLM output for decompose + citation fuzzy matching (Phase 5) 2026-04-28 15:39:17 +08:00
relevance_filter.py fix: wrap filter chunks in XML tags for clearer LLM input 2026-04-30 13:59:03 +08:00
video_service.py feat: Phase 2.3 ASR proxy + full transcript and 2.4 frontend hooks 2026-05-06 13:41:24 +08:00