A voice agent that answers questions about LiveKit products. Knowledge about the
Agents SDKs stays in the system prompt for low-latency answers, while other product
knowledge is loaded on demand through a generated lookup_product tool.
agent.pyis the composition root. It contains the immutableAgentConfig,Assistant, session setup, and server entrypoint.knowledge_base/discovers one Markdown file per product and derives both the tool schema and lookup results from those files.prompts/contains all authored agent language as Markdown templates.behaviors/contains session event behavior and frontend integration.filters/contains streaming voice-pipeline transformations.tests/unit/is deterministic;tests/evals/runs live behavioral evaluations.
The voice pipeline uses LiveKit Inference with Gemma 4 31B, Deepgram Nova-3, Fish Audio S2.1 Pro in expressive mode, the LiveKit turn detector, and ai-coustics voice isolation.
Install the workspace dependencies and provide LiveKit Cloud credentials in
../.env or the environment:
uv sync --all-extras --dev # from the repository root
uv run agent.py consoleUse uv run agent.py dev to connect the agent to LiveKit Cloud for a frontend or
telephony session.
Install the repository's development dependencies, then run the fast unit suite:
python -m pytestRun the live LLM-backed eval suite with:
python -m pytest -m evalsThe evals require LIVEKIT_API_KEY and LIVEKIT_API_SECRET and cover tool routing,
grounded facts, anti-hallucination behavior, inline knowledge, and multi-turn grounding.