Configuration#

AI Teaching Assistant uses three configuration layers:

  1. Launcher environment variables from .env

  2. Service YAML config files (audio-analyzer, text-to-speech, rag-service)

  3. Per-session runtime parameters from UI requests

This guide documents where to change each type.

1) .env (Launcher-Level)#

File:

Loaded by:

Typical variables:

Variable

Purpose

KIOSK_CORE_ANALYZER_URL

kiosk-core -> audio-analyzer endpoint

KIOSK_CORE_RAG_URL

kiosk-core -> rag-service endpoint

KIOSK_CORE_TTS_URL

kiosk-core -> text-to-speech endpoint

KIOSK_CORE_METRICS_URL

kiosk-core -> metrics-collector endpoint

KIOSK_CORE_SAMPLE_RATE

Default sample rate

KIOSK_CORE_CHUNK_SECONDS

Chunk duration

KIOSK_CORE_SILENCE_TIMEOUT_SECONDS

Silence timeout

KIOSK_CORE_MAX_SESSION_SECONDS

Max session length

KIOSK_CORE_SILENCE_THRESHOLD

Speech detection threshold

SMART_KIOSK_RAG__MODELS__LLM__BACKEND

RAG LLM backend (openvino, local-only)

KIOSK_CORE_ORDERING_ENABLED

Ordering agent (disabled for teaching)

KIOSK_CORE_IDENTITY_ENABLED

Face/voice identity (disabled for teaching)

KIOSK_CORE_QUEUE_SERVICE_ENABLED

Queue service (disabled for teaching)

KIOSK_CORE_DIARIZATION_ENABLED

Speaker diarization (disabled for teaching)

After .env changes, restart services.

2) Service YAML Files#

audio-analyzer#

Active runtime file:

text-to-speech#

Active runtime file:

rag-service#

Active runtime file:

Key model fields in rag-service/config.yaml:

  • models.llm.hf_id

  • models.embedding.hf_id

  • retrieval.reranker.hf_id

  • per-model device and weight_format

3) UI Runtime Parameters#

The React UI sends stream session options through POST /api/v1/sessions/start-stream:

  • sample_rate

  • chunk_seconds

  • silence_timeout_seconds

  • max_session_seconds

  • silence_threshold

Defaults are defined in:

UI Proxy Configuration#

The ai-teaching-assistant ui reverse-proxy routes are configured in:

Proxy env vars:

  • KIOSK_UI_KIOSK_CORE_URL

  • KIOSK_UI_RAG_URL

  • KIOSK_UI_TTS_URL

  • KIOSK_UI_ANALYZER_URL

Validation Commands#

curl http://127.0.0.1:8010/health
curl http://127.0.0.1:8011/health
curl http://127.0.0.1:8020/health
curl http://127.0.0.1:8012/health
curl http://127.0.0.1:7860/healthz