mirror of
https://github.com/suitenumerique/meet.git
synced 2026-07-28 04:39:16 +00:00
4e5032a7a4
The previous code lacked proper encapsulation, resulting in an overly complex worker. While the initial naive approach was great for bootstrapping the feature, the refactor introduces more maturity with dedicated service classes that have clear, single responsibilities. During the extraction to services, several minor issues were fixed: 1) Properly closing the MinIO response. 2) Enhanced validation of object filenames and extensions to ensure correct file handling. 3) Introduced a context manager to automatically clean up temporary local files, removing reliance on developers. 4) Slightly improved logging and naming for clarity. 5) Dynamic temporary file extension handling when it was previously always an hardcoded .ogg file, even when it was not the case.
Experimental Stack
This is an experimental part of the stack. It currently lacks proper observability, unit tests, and other production-grade features. This serves as the base for AI features in Visio.
How it works
Please refer to the Recording feature documentation and the Transcription feature documentation.
How to develop
(To develop locally follow the instructions on developing La Suite Meet locally)
From the root of the project:
make bootstrap
Configure your env values in env.d/summary to properly set up WhisperX and the LLM API you will call.
make run
When the stack is up, configure the MinIO webhook
(TODO: add this step to make bootstrap)
make minio-webhook-setup
If you want to develop on the Celery workers with hot reloading, run:
docker compose watch celery-summary-transcribe celery-summary-summarize
Celery workers will hot reload on any change.