Skip to content

azeebneuron/AppointmentSchedulerVoiceAgent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voice AI Banking Appointment Setter

A voice-powered appointment management system for banking, built on LiveKit Cloud with Sarvam STT/TTS.

Features

  • Book, reschedule, and cancel banking appointments via voice
  • Supports all Sarvam-supported Indian languages + English
  • Google Calendar integration for availability
  • PostgreSQL storage for appointment records
  • Pluggable LLM (Gemini or Groq)
  • Web and phone (SIP) connectivity

Setup

  1. Copy environment template and fill in your credentials:
cp .env.local.example .env.local
  1. Install dependencies:
uv sync
  1. Set up the database:
uv run alembic upgrade head
  1. Download model files (VAD, turn detector, noise cancellation):
uv run src/agent.py download-files
  1. Run the agent:
uv run src/agent.py dev

Configuration

Set LLM_PROVIDER in .env.local to switch between Gemini and Groq:

  • LLM_PROVIDER=gemini (default)
  • LLM_PROVIDER=groq

Testing

uv run pytest tests/ -v

Project Structure

  • src/agent.py — Main voice agent
  • src/config.py — Configuration
  • src/prompts.py — System prompt
  • src/tools/ — Agent tools (booking, availability, lookup, reschedule, cancel)
  • src/services/ — Google Calendar and database services
  • src/models/ — Data models
  • src/llm/ — Pluggable LLM provider
  • frontend/ — Web client
  • tests/ — Test suite

About

Voice AI appointment setter for banking — built with LiveKit, OpenAI Realtime API, and SQLite. Handles booking, rescheduling, cancellation via natural conversation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors