fix: whisper repetition loops, meeting transcript punctuation
- transcription: add temperature_inc=0 to whispercpp to disable fallback (prevents loops) - pipeline: punctuate meeting transcript in one pass (parallel with summarize) - output: write_meeting_docs accepts pre-built transcript_text - llm: punctuate prompt preserves speaker labels Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+6
-2
@@ -144,8 +144,11 @@ async def _run_meeting_pipeline(cfg, wav_path, output_dir, instructions, diar_cf
|
||||
total_secs = sum(s["end"] - s["start"] for s in whisper_segs) if whisper_segs else 0
|
||||
duration_min = max(1, round(total_secs / 60))
|
||||
|
||||
transcript_text = "\n\n".join(f"**{spk}:** {txt}" for spk, txt in named_aligned)
|
||||
summary = await client.summarize(transcript_text, model=cfg["ollama"]["model"])
|
||||
raw_transcript = "\n\n".join(f"**{spk}:** {txt}" for spk, txt in named_aligned)
|
||||
summary, punctuated_transcript = await asyncio.gather(
|
||||
client.summarize(raw_transcript, model=cfg["ollama"]["model"]),
|
||||
client.punctuate(raw_transcript, model=cfg["ollama"]["model"]),
|
||||
)
|
||||
title, tldr = await client.generate_title_and_tldr(summary, model=cfg["ollama"]["model"])
|
||||
|
||||
dt = datetime.now()
|
||||
@@ -158,6 +161,7 @@ async def _run_meeting_pipeline(cfg, wav_path, output_dir, instructions, diar_cf
|
||||
dt=dt,
|
||||
title=title,
|
||||
tldr=tldr,
|
||||
transcript_text=punctuated_transcript,
|
||||
)
|
||||
|
||||
await state.set_status(Status.IDLE)
|
||||
|
||||
Reference in New Issue
Block a user