From e397f1d05a4f0f1ec5fd2b568cb3e42556b59544 Mon Sep 17 00:00:00 2001 From: Kat Ahn Date: Thu, 6 Nov 2025 12:57:33 -0800 Subject: [PATCH] 1.3 update --- README.md | 4 ++-- pyproject.toml | 2 +- src/agent.py | 10 ++++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 180b332..cbcbdbc 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ Clone the repository and install dependencies to a virtual environment: ```console cd agent-starter-python -uv sync +uv sync --prerelease=allow ``` Sign up for [LiveKit Cloud](https://cloud.livekit.io/) then set up the environment by copying `.env.example` to `.env.local` and filling in the required keys: @@ -139,4 +139,4 @@ You can also self-host LiveKit instead of using LiveKit Cloud. See the [self-hos ## License -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. \ No newline at end of file +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. diff --git a/pyproject.toml b/pyproject.toml index 621bc8a..a5ff793 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ description = "Simple voice AI assistant built with LiveKit Agents for Python" requires-python = ">=3.9" dependencies = [ - "livekit-agents[silero,turn-detector]~=1.2", + "livekit-agents[silero,turn-detector]~=1.3.0rc1", "livekit-plugins-noise-cancellation~=0.2", "python-dotenv", ] diff --git a/src/agent.py b/src/agent.py index d85c794..df7767c 100644 --- a/src/agent.py +++ b/src/agent.py @@ -3,6 +3,7 @@ from dotenv import load_dotenv from livekit.agents import ( Agent, + AgentServer, AgentSession, JobContext, JobProcess, @@ -48,11 +49,16 @@ def __init__(self) -> None: # return "sunny with a temperature of 70 degrees." +server = AgentServer() + + +@server.setup() def prewarm(proc: JobProcess): proc.userdata["vad"] = silero.VAD.load() -async def entrypoint(ctx: JobContext): +@server.rtc_session() +async def my_agent(ctx: JobContext): # Logging setup # Add any other context you want in all log entries here ctx.log_context_fields = { @@ -129,4 +135,4 @@ async def log_usage(): if __name__ == "__main__": - cli.run_app(WorkerOptions(entrypoint_fnc=entrypoint, prewarm_fnc=prewarm)) + cli.run_app(server)