RoundTable-AI is an interactive, multi-agent historical simulation that brings the 1930 London Round Table Conference to life. Instead of just reading history, users step into the room as an equal speaker, debating constitutional reforms, separate electorates, and self-rule alongside key historical figures powered by AI.
The goal of this project is to create an immersive, roleplay-driven educational tool. It uses a Large Language Model to orchestrate multiple distinct historical personas simultaneously while keeping track of an evolving political debate.
Every time an AI character speaks, the system synthesizes their response into high-quality, realistic audio matching their persona, creating a turn-based interactive audio-drama where your arguments directly change the course of the simulation.
- Multi-Agent AI Debate: Dynamic, turn-based historical roleplay powered by Google Gemini 1.5 Flash. The AI autonomously handles shifts in focus, counters arguments, and handles floor turn-overs.
- Realistic Voice Synthesis: Every character response is generated with custom voice IDs via the ElevenLabs API and spoken aloud in real-time.
- Dynamic AI Relationships: Characters don't just speak linearly—they form alliances, criticize each other, react to the user, and interrupt based on context.
- State & Flow Tracking: Uses a structured JSON pipeline behind the scenes to track the current debate tension, audience reactions (e.g., claps, murmurs), and political alliances.
- Core LLM Engine:
Google Gemini API (gemini-1.5-flash)— Orchestrates historical personas, context tracking, and response formatting. - Voice Synthesis Engine:
ElevenLabs API— Generates realistic character audio pipelines. - Audio Playback:
playsound— Handles local execution and playback of synthesized.mp3files. - Backend Framework:
Flask— Integrated and primed for future migration into an interactive web dashboard. - Language:
Python 3.x— The primary backend and runtime logic pipeline.
- 🇮🇳 Mahatma Gandhi: Representing the Indian National Congress, advocating for unified self-rule and non-cooperation parameters.
- 🛡️ Dr. B.R. Ambedkar: Fiercely championing political safeguards, constitutional guarantees, and separate electorates for the depressed classes.
- 🌙 Muhammad Ali Jinnah: Focused on constitutional safeguards and specific representation criteria for the Muslim community.
- ⚖️ Tej Bahadur Sapru: Acting as a brilliant liberal mediator trying to bridge the gaps between all parties.
- 👑 Ramsay MacDonald: Directing the proceedings and pacing from the perspective of the British Chairmanship.
- User Input: The user enters their argument via the console.
- Context Pipeline: The application appends the argument to a continuous log file (
Data.txt), which acts as the live memory pool for the LLM. - State Machine Parsing: Gemini evaluates the entire log and returns a highly structured data envelope containing the speaker, statement, and the next selected speaker.
- Vocal Generation: The application routes the text to ElevenLabs matching the character's assigned voice ID, drops an audio chunk file locally, and fires it over your speakers.
Install the required packages using pip:
pip install google-generativeai playsound elevenlabs.client
- Run the main script:
python main.py- Ensure you have an active audio output device connected and enabled.