Skip to content

Transcript Workflow

TilenBrunec edited this page Jun 5, 2026 · 1 revision

Transcript Workflow

Razlaga kako sistem procesira uploadana gradiva in generira učno vsebino.


1. Procesiranje gradiv (poenostavljeno)

Splošen pregled kako sistem obdela uploadane datoteke in pripravi učne materiale.

Learning-Resource-Processing-Workflow

Potek

  1. Profesor uploada datoteko (PDF, avdio, video)
  2. Sistem določi tip datoteke
    • PDF → ekstrahira besedilo
    • Avdio → transkripcija z OpenAI Whisper
    • Video → ekstrahira avdio, nato transkripcija
  3. Generira skupni transcript
  4. Ko so vse datoteke procesirane → Gemini AI generira učne materiale
  5. Generirajo se 4 paketi vsebine (Reading, Auditory, Kinesthetic, Visual)
  6. Učni materiali so pripravljeni

2. Generiranje transkripta (podrobno)

Podroben pogled na processTranscript funkcijo v backendu.

Transcript-Generation-Workflow

Potek

  1. processTranscript določi tip datoteke
  2. Glede na tip:
    • VideoVideoTranscriptionService → ffprobe preveri avdio stream → ffmpeg ekstrahira MP3 → AudioTranscriptionService → OpenAI Whisper API
    • Avdio → direktno AudioTranscriptionService → OpenAI Whisper API
    • PDFPdfTranscriptService → PDFTextStripper → ekstrahira besedilo
  3. Shrani transcript
  4. Posodobi status datoteke
  5. updateCombinedTranscript — združi vse transkripte modula
  6. Če so vse datoteke procesirane → sproži GeminiService za generiranje vsebine

3. Generiranje vsebinskih paketov (podrobno)

Podroben pogled na GeminiService.generateContentPacks funkcijo.

LearnSmart-Content-Processing-Workflow_simplified

Potek

  1. Gemini AI vrne JSON odgovor
  2. Sistem počisti in parsira JSON (ObjectMapper, ContentCleaner)
  3. Izbriše stare vsebinske pakete
  4. Shrani 3 pakete vzporedno: Reading Pack, Kinesthetic Pack, Auditory Pack
  5. Za Auditory Pack preveri ali obstaja narration_script
    • Da → Google TTS API → generira MP3 → upload na Supabase Storage → posodobi vsebino
    • Ne → preskoči TTS
  6. Finish

Clone this wiki locally