Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Northwind Hotel agent

A boutique-hotel receptionist voice agent: room bookings, restaurant reservations, cancellations, invoices, charge disputes and hotel FAQs, over a live SQLite database with schema, views and pricing. Used as a target agent for harness testing.

Where it came from

Ported from livekit/agents, folder examples/hotel_receptionist, at upstream commit 4d03f505c66106622ca66b7ddc93eb9c6f817dc9. Upstream is Apache-2.0.

What was changed, and nothing else

  1. Standalone layout. The example lived in a monorepo folder. Its contents are now at this repository's root, so agent.py sits beside pyproject.toml. Nothing was renamed or moved within the tree.

  2. Explicit plugins instead of LiveKit Cloud inference. Upstream built its session from livekit.agents.inference, which routes STT, LLM, TTS and VAD through LiveKit Cloud. A self-hosted LiveKit server does not serve those, so a call connects and nobody ever speaks. The four lines now call fa_plugins, a small new module that constructs Deepgram STT, Google LLM and Deepgram TTS from environment variables, with Silero for VAD.

    vad=inference.VAD(model="silero")          ->  fa_plugins.vad()
    stt=inference.STT("deepgram/nova-3")       ->  fa_plugins.stt()
    llm=inference.LLM("google/gemma-4-31b-it") ->  fa_plugins.llm()
    tts=inference.TTS("inworld/inworld-tts-2") ->  fa_plugins.tts()
    

    The now-unused inference import was dropped and the two plugin packages were added to pyproject.toml. The agent's prompts, tools, policies and database are untouched.

Running it

Copy .env.example to .env and fill it in, then:

uv sync
uv run agent.py start

GOOGLE_CLOUD_LOCATION should be global. Some models, including gemini-3.7-flash, are not served in us-central1 and the agent fails every turn with a 404 that is not retryable.

About

Hotel receptionist voice agent, ported from livekit/agents examples/hotel_receptionist with explicit STT/LLM/TTS plugins

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages