diff --git a/Makefile b/Makefile index 5384548f0..40bcb784d 100644 --- a/Makefile +++ b/Makefile @@ -169,7 +169,7 @@ run-summary: ## start only the summary application and all needed services @$(COMPOSE) up --force-recreate -d celery-summary-summarize .PHONY: run-summary -run-agents: ## start the multi-user-transcriber agent +run-agents: ## start the LiveKit agents (opt-in, see docs/developping_locally.md) @$(MAKE) run-agent-multi-user-transcriber @$(MAKE) run-agent-metadata-collector .PHONY: run-agents @@ -186,7 +186,6 @@ run: run: ## start the wsgi (production) and development server @$(MAKE) run-backend @$(MAKE) run-summary - @$(MAKE) run-agents @$(COMPOSE) up --force-recreate -d frontend .PHONY: run diff --git a/docs/developping_locally.md b/docs/developping_locally.md index b6f4330bb..66b18cdfd 100644 --- a/docs/developping_locally.md +++ b/docs/developping_locally.md @@ -107,6 +107,37 @@ $ npm i $ npm run dev ``` +### LiveKit agents (optional) + +The LiveKit agents are not started by `make run`. Each one runs its own +container and stays connected to LiveKit, which costs CPU and memory you +don't need unless you work on the features they power. Start them only +when you need them. + +| Agent | Feature | Make command | Setting in `env.d/development/common` | +|---|---|---|---| +| `metadata-collector-dev` | Recording metadata (used to identify speakers in transcripts) | `make run-agent-metadata-collector` | `METADATA_COLLECTOR_ENABLED=True` | +| `multi-user-transcriber-dev` | Live subtitles | `make run-agent-multi-user-transcriber` | `ROOM_SUBTITLE_ENABLED=True` | + +To start both at once: +```shellscript +$ make run-agents +``` + +Then set the matching settings to `True` and restart the backend so it +picks them up: +```shellscript +$ make run-backend +``` + +The multi-user transcriber also needs a speech-to-text provider. Configure +`STT_PROVIDER` and its credentials in +`env.d/development/multi_user_transcriber`. + +Keep the settings and the agents in sync: if a setting is `True` while its +agent is stopped, the backend still dispatches jobs to it and the feature +fails silently. + --- ## Adding Content diff --git a/env.d/development/common.dist b/env.d/development/common.dist index 1722ac998..8e902ac7a 100644 --- a/env.d/development/common.dist +++ b/env.d/development/common.dist @@ -104,10 +104,11 @@ ROOM_TELEPHONY_ENABLED=True # ROOMKIT_ENABLED = True # ROOMKIT_SERVER_TO_SERVER_API_TOKEN = ThisIsAnExampleKeyForDevPurposeOnly -# Metadata -METADATA_COLLECTOR_ENABLED=True +# LiveKit agents (opt-in, start them with `make run-agents`) +# Metadata (requires the metadata-collector agent) +METADATA_COLLECTOR_ENABLED=False -# Subtitle +# Subtitle (requires the multi-user-transcriber agent) ROOM_SUBTITLE_ENABLED=False FRONTEND_USE_FRENCH_GOV_FOOTER=False