diff --git a/examples/canonical-metrics/README.md b/examples/canonical-metrics/README.md index 13c0b31e0..d024908e6 100644 --- a/examples/canonical-metrics/README.md +++ b/examples/canonical-metrics/README.md @@ -1,12 +1,43 @@ -# Simple Chatbot +# Chatbot with canonical-metrics - +This project implements a chatbot using a pipeline architecture that integrates audio processing, transcription, and a language model for conversational interactions. The chatbot operates within a daily communication environment, utilizing various services for text-to-speech and language model responses. -This app connects you to a chatbot powered by GPT-4, complete with animations generated by Stable Video Diffusion. +## Features -See a video of it in action: https://x.com/kwindla/status/1778628911817183509 +- **Audio Input and Output**: Captures microphone input and plays back audio responses. +- **Voice Activity Detection**: Utilizes Silero VAD to manage audio input intelligently. +- **Text-to-Speech**: Integrates ElevenLabs TTS service to convert text responses into audio. +- **Language Model Interaction**: Uses OpenAI's GPT-4 model to generate responses based on user input. +- **Transcription Services**: Captures and transcribes participant speech for analytics. +- **Metrics Collection**: Sends audio data for analysis via Canonical Metrics Service. + +## Requirements + +- Python 3.7+ +- `aiohttp` +- `loguru` +- `python-dotenv` +- Additional libraries from the `pipecat` package. + +## Setup + +1. Clone the repository. +2. Install the required packages. +3. Set up environment variables for API keys: + - `OPENAI_API_KEY` + - `ELEVENLABS_API_KEY` + - `CANONICAL_API_KEY` + - `CANONICAL_API_URL` +4. Run the script. + +## Usage + +The chatbot introduces itself and engages in conversations, providing brief and creative responses. Designed for flexibility, it can support multiple languages with appropriate configuration. + +## Events + +- Participants joining or leaving the call are handled dynamically, adjusting the chatbot's behavior accordingly. -And a quick video walkthrough of the code: https://www.loom.com/share/13df1967161f4d24ade054e7f8753416 ℹ️ The first time, things might take extra time to get started since VAD (Voice Activity Detection) model needs to be downloaded.