Files
pj0333-full-duplex/README.md
T
2025-07-18 16:08:54 -04:00

4.7 KiB

LiveKit logo

LiveKit Agents Starter - Python

A complete starter project for building voice AI apps with LiveKit Agents for Python.

The starter project includes:

This starter app is compatible with any custom web/mobile frontend or SIP-based telephony.

Dev Setup

Clone the repository and install dependencies to a virtual environment:

cd agent-starter-python
uv sync

Set up the environment by copying .env.example to .env and filling in the required values:

You can load the LiveKit environment automatically using the LiveKit CLI:

lk app env -w .env

Run the agent

Before your first run, you must download certain models such as Silero VAD and the LiveKit turn detector:

uv run python src/agent.py download-files

Next, run this command to speak to your agent directly in your terminal:

uv run python src/agent.py console

To run the agent for use with a frontend or telephony, use the dev command:

uv run python src/agent.py dev

In production, use the start command:

uv run python src/agent.py start

Web and mobile frontends

To use a prebuilt frontend or build your own, see the agents frontend guide.

Telephony

To add a phone number, see the agents telephony guide.

Tests and evals

This project includes a complete suite of evals, based on the LiveKit Agents testing & evaluation framework. To run them, use pytest.

uv run pytest evals

Using this template repo for your own project

Once you've started your own project based on this repo, you should:

  1. Check in your uv.lock: This file is currently untracked for the template, but you should commit it to your repository for reproducible builds and proper configuration management. (The same applies to livekit.toml, if you run your agents in LiveKit Cloud)

  2. Remove the git tracking test: Delete the "Check files not tracked in git" step from .github/workflows/tests.yml since you'll now want this file to be tracked. These are just there for development purposes in the template repo itself.

Deploying to production

This project is production-ready and includes a working Dockerfile. To deploy it to LiveKit Cloud or another environment, see the deploying to production guide.

License

This project is licensed under the MIT License - see the LICENSE file for details.