An interactive conversational AI platform that enables users to engage in intelligent debates and Q&A sessions with various AI personas. Built with ElevenLabs Conversational AI SDK, this application features multiple AI debaters with distinct personalities and expertise areas.
- Multiple AI Personas: Choose from different AI debaters, each with unique personalities and expertise
- Dual Interface Modes:
- Avatar Mode: Visual interface with animated avatars
- Controls Mode: Clean, text-based interface for focused conversations
- Debate & Q&A Modes: Switch between structured debates and casual question-answer sessions
- Real-time Voice Conversation: Powered by ElevenLabs' advanced voice AI technology
- Responsive Design: Modern, glassmorphic UI that works across devices
- Professional Grade: Built for educational, research, and professional use cases
- Michelle (Barbarella): Singaporean model character
- Nelson Mandela: Anti-apartheid leader persona with separate Q&A and debate modes
- Taylor Swift: Pop icon personality
- Vanilla JavaScript with modern ES6+ features
- Webpack for module bundling and development server
- CSS3 with glassmorphic design patterns
- Responsive HTML5 structure
- Node.js/Express server for API endpoints
- Python/FastAPI alternative backend option
- ElevenLabs API integration for conversational AI
- CORS enabled for cross-origin requests
Before running this application, ensure you have:
- Node.js (version 18 or higher)
- Python (version 3.8 or higher)
- ElevenLabs API Key - Get your key here
- Git for cloning the repository
git clone https://github.com/Finance-LLMs/AI-debate-bot.git
cd AI-debate-botCreate a .env file in the root directory and configure your API keys:
# Windows
notepad .env
# Linux/macOS
vim .envAdd the following environment variables:
XI_API_KEY=your_elevenlabs_api_key_here
AGENT_ID=your_default_agent_id
MICHELLE_AGENT_ID=michelle_agent_id
NELSON_AGENT_ID=nelson_debate_agent_id
NELSON_QA_AGENT_ID=nelson_qa_agent_id
TAYLOR_AGENT_ID=taylor_agent_idFrontend Dependencies:
npm installBackend Dependencies (Python):
pip install -r requirements.txtOption A: Node.js Backend (Recommended)
npm startOption B: Python FastAPI Backend
npm run start:pythonOption C: Development Mode with Hot Reload
npm run devOpen your browser and navigate to:
http://localhost:3000
- Choose Your Interface: Select between Avatar mode (visual) or Controls mode (text-based)
- Select AI Persona: Pick from available AI debaters based on your topic
- Choose Mode: Select either Debate mode for structured arguments or Q&A for casual conversation
- Start Conversing: Click to begin your voice conversation with the AI
AI-debate-bot/
βββ backend/
β βββ server.js # Express.js server
β βββ server.py # FastAPI alternative server
βββ src/
β βββ index.html # Main landing page
β βββ avatar.html # Avatar interface
β βββ controls.html # Controls interface
β βββ app.js # Core application logic
β βββ avatar.js # Avatar mode functionality
β βββ controls.js # Controls mode functionality
β βββ styles.css # Global styles
β βββ avatar.css # Avatar mode styles
β βββ controls.css # Controls mode styles
β βββ images/ # Avatar images and assets
βββ package.json # Node.js dependencies
βββ requirements.txt # Python dependencies
βββ webpack.config.js # Webpack configuration
βββ README.md # This file
npm start- Build and run production servernpm run dev- Start development server with hot reloadnpm run build- Build for productionnpm run start:backend- Start only the Node.js backendnpm run start:python- Start with Python FastAPI backend
- Follow modern JavaScript ES6+ standards
- Maintain responsive design principles
- Test across different browsers and devices
- Ensure API key security and never commit secrets
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Contact the development team
- ElevenLabs for providing the Conversational AI SDK
- Finance-LLMs organization for project maintenance
- All contributors who have helped improve this project
Built with β€οΈ by the Finance-LLMs team