Skip to content

Add Gemini support, AI summarization, provider selector, and integration test overhaul#9

Merged
dmitry-kostin merged 1 commit intomainfrom
feat/gemini-summarize-integration-tests
Feb 20, 2026
Merged

Add Gemini support, AI summarization, provider selector, and integration test overhaul#9
dmitry-kostin merged 1 commit intomainfrom
feat/gemini-summarize-integration-tests

Conversation

@dmitry-kostin
Copy link
Copy Markdown
Owner

Summary

  • Gemini multi-provider transcription — shared clients.py with is_gemini_model() + get_client(), OpenAI-compatible endpoint, prompt-driven diarization with A: B: labels
  • AI summarization — Chat Completions API (OpenAI + Gemini), summary sidecar files ({id}_summary.md), Transcript/Summary tab toggle, copy per active tab
  • Provider selector/api/providers endpoint, frontend widget with localStorage persistence, per-provider model defaults in config
  • Duration limit — "First N min" toggle, prepare_chunks() truncates audio via ffmpeg before chunking, 0–480 min validation
  • Integration test overhaul — audio caching (in-memory + disk), LLM judge with confidence scoring (Gemini), debug reports with full outputs and scores
  • Gemini prompt tuning — plain text for non-diarize, A:/B: labels for diarize mode
  • json-repair — robust LLM JSON parsing for integration test judge responses

Test plan

  • poetry run pytest — 188 passed, 8 deselected
  • poetry run pytest -m integration — requires API keys + internet
  • Manual test: transcribe with OpenAI and Gemini providers
  • Manual test: summarize a transcript, verify sidecar file and tab toggle
  • Manual test: provider selector switches models correctly
  • Manual test: duration limit truncates audio

🤖 Generated with Claude Code

…ion test overhaul

Multi-provider transcription via shared clients.py, AI summarization with
summary sidecar files, provider selector UI, duration limit, integration
test improvements with audio caching and LLM judge scoring, Gemini prompt
tuning, and json-repair for robust LLM JSON parsing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dmitry-kostin dmitry-kostin merged commit d63b6f5 into main Feb 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant