A real-time AI-powered voice training platform for call-center and customer-service practice using Azure Voice Live and Azure AI services.
This repository implements a voice-based practice and training platform for call-center agents, using real-time AI-driven customer simulations. The application acts as a virtual practice partner, allowing trainees to engage in realistic conversations with an AI-powered customer and receive structured feedback after the session.
Key capabilities include:
- Real-time voice conversations with an AI-powered customer
- Configurable training scenarios derived from training materials
- Customer behavior guided by curated example transcripts
- Automatic conversation transcript capture
- Post-session scoring and structured feedback
- Evaluation using reusable rubrics
- Secure deployment in a private cloud environment
In a typical session, a trainee selects a practice scenario and begins a real-time voice conversation with an AI-driven customer through Azure Voice Live, while transcripts and interaction events are captured. After the session ends, the interaction is evaluated asynchronously to generate structured feedback. Scenarios, rubric-based evaluation, and example transcripts enable more structured and repeatable training workflows.
This project supports two deployment modes:
-
Basic (public endpoints) — fastest path, suitable for dev/demo:
azd up
-
Network-isolated (private endpoints + jumpbox + Azure Firewall) — production-grade:
azd env set NETWORK_ISOLATION true azd provision # from your workstation # then connect to the jumpbox via Bastion and run azd deploy + postProvision there
See docs/deployment.md for the full step-by-step guide covering both modes (prerequisites, env variables, the workstation/jumpbox split for network isolation, post-provision hook, image build via the in-VNet ACR Tasks agent pool, validation, and teardown).
Quick reference for the jumpbox split (subnets, firewall allow-list, troubleshooting): docs/network-isolation-jumpbox-runbook.md.
Speech is provisioned by the AILZ Bicep template (deploySpeechService=true by default, AILZ v1.1.4+). To opt out:
azd env set DEPLOY_SPEECH_SERVICE false-
Clone the repository
-
Copy the environment template
cp .env.template .env-
Configure the required Azure credentials
-
Build and run the backend
./scripts/build.sh
cd backend
python src/app.pyOpen the application at:
http://localhost:8000
This project builds upon the sample Voice Live API Sales Coach. This repository extends the original implementation to support a voice-based practice platform for customer-service and call-center training scenarios, introducing configurable scenarios based on training materials, rubric-driven evaluation, and curated example transcripts.
The foundational architecture and part of the initial implementation originate from the original repository and its contributors. We thank the authors for making their work available as open source.
This project is licensed under the MIT License.
See the LICENSE file for details.