AI Voice Agent - Real-Time Meeting Assistant with Deepgram
This project is an AI Voice Agent that uses VideoSDK for video conferencing, Deepgram for speech-to-text (STT), and OpenAI for language model (LLM) capabilities. The AI Copilot can join meetings, transcribe speech, and respond intelligently.
Start with the project​
1
Clone the Repository
Start by cloning the GitHub repository to get the project files.
Clone Repository
git clone https://github.com/videosdk-community/videosdk-deepgram-voice-agent
Navigate to Project Directory
cd videosdk-deepgram-voice-agent
2
Client Setup
Navigate to the client folder and set up the environment variables.
Move to Client Directory
cd client
Copy Environment File
cp .env.example .env
Update .env File
VITE_APP_AUTH_TOKEN=your_videosdk_auth_token_here
Obtain your VideoSDK Auth Token from app.videosdk.live.
3
Server Setup
Configure the required environment variables in the
.env
file.Update .env File
ROOM_ID=...
AUTH_TOKEN=... # (app.videosdk.live)
LANGUAGE=...
DEEPGRAM_API_KEY=... # (console.deepgram.com)
LLM_API_KEY=... # (platform.openai.com/api-keys)
Get API keys from the respective providers:
- Generate OpenAI API key from OpenAI Platform
- Get Deepgram API key from Deepgram Console
Create and activate a virtual environment for Python dependencies.
Create Virtual Environment
python -m venv venv
Activate Virtual Environment (Mac/Linux)
source venv/bin/activate
Activate Virtual Environment (Windows)
.\venv\Scripts\activate
4
Generate Room ID & Start Application
Generate a Room ID by running the client application and using the generated Room ID in the
.env
file for Python setup.Start the backend server using Uvicorn.
Run Backend Server
uvicorn app:app --reload
Start the frontend client application.
Run Frontend
npm run dev
Generate a Room ID​
Generate a room ID on the client side and add it to the Python configuration. This can be done by running the client application and using the generated room ID in the .env
file for the Python setup.
Got a Question? Ask us on discord