Welcome to the AI Debate Arena, where the world's most advanced language models go head-to-head in epic intellectual battles! 🥊🧠
- Multi-Model Debates: Pit different AI models against each other, including Llama, GPT, Claude, Gemini, and more!
- Customizable Topics: Choose any debate topic and watch the AIs argue their perspectives.
- AI Judges: Select multiple AI models to score each round based on relevance, coherence, and fact-checking.
- Round-by-Round Scoring: Track the performance of each AI debater as the argument unfolds.
- Temperature Control: Fine-tune the creativity and randomness of AI responses.
- Streamlit Interface: Easy-to-use web interface for setting up and watching debates.
- Python 3.8+
- API keys for the AI models you want to use (OpenAI, Anthropic, Google, Groq, Mistral)
-
Clone the repository:
git clone https://github.com/rd-serendipity/ai-debate-arena.git cd ai-debate-arena
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Set up your environment variables:
- Copy
.env.example
to.env
- Fill in your API keys in the
.env
file
- Copy
-
Start the Streamlit app:
streamlit run app.py
-
Open your browser and navigate to
http://localhost:8501
-
Choose your fighters, set the debate topic, and watch the intellectual sparks fly! ✨
- Fighter Selection: Choose two AI models to debate against each other from the dropdown menus.
- Temperature Setting: Adjust the temperature for each fighter to control their response creativity.
- Judge Selection: Pick at least one AI model to serve as a judge for the debate.
- Topic Setting: Define the debate topic and each fighter's viewpoint.
- Round Configuration: Set the number of debate rounds.
- Debate Initiation: Click the "Start Fight 🥊" button to begin the debate.
- Round-by-Round Debate: AIs take turns presenting arguments and counter-arguments, displayed in color-coded boxes.
- Scoring: Track scores for each round, with final scores displayed at the end of the debate.
- Add new AI models by extending the
AIModel
class inai_model.py
- Modify scoring criteria in
judge.py
- Adjust debate flow and rounds in
debate.py
To visualize your debate chains:
- Uncomment the LangSmith variables in your
.env
file - Set
LANGCHAIN_TRACING_V2=true
- Add your LangSmith API key and project name
We welcome contributions! Feel free to open issues or submit pull requests to improve the AI Debate Arena.
This project is licensed under the MIT License - see the LICENSE file for details.
Ready to witness the clash of artificial titans? Fire up the AI Debate Arena and may the most eloquent algorithm win! 🏆🤖