A powerful Python-based agentic AI system that creates real-time interactive conversations between AI agents with different personas and perspectives. Features both political debates and epic rap battles with streaming responses and comprehensive model support.
- Political Debates: Progressive vs Conservative perspectives
- Rap Battles: Legendary rappers (Tupac, Biggie, Eminem, Jay-Z, Nas, Drake, Kendrick)
- Real-time Streaming: Live responses with beautiful terminal UI
- Judge System: AI judges evaluate performances with detailed scoring
- Political Debate - Structured arguments with opposing viewpoints
- Political Discussion - General exchange of ideas
- Policy Analysis - Deep analysis of policy implications
- Rap Battle - Epic battles between legendary artists
- OpenAI: GPT-5, GPT-4o, GPT-4.5, o3, GPT-4o-Mini
- Anthropic: Claude Sonnet 4, Claude Opus 4.1, Claude Haiku 3.5
- Google: Gemini 2.5 Flash, Gemini 2.5 Pro
- DeepSeek: DeepSeek R1, DeepSeek V3
- Meta: Llama 4 Scout, Llama 4 Maverick
- Groq: High-speed inference
- Ollama: Local models (Qwen 3, Gemma 3, Mistral Small)
- OpenRouter: GLM-4.5, Qwen 3 Thinking
- GigaChat: Russian language models
- Web Search Tools: DuckDuckGo integration for factual information
- Rich Terminal UI: Beautiful panels, tables, progress bars
- Markdown Export: Professional documentation with judge scores
- Session Tracking: Multiple debates with summary export
- Custom Personas: User-defined perspectives and viewpoints
- Real-time Scoring: 8-criteria judge evaluation system
- Python 3.13+
- UV package manager
-
Clone the repository
git clone https://github.com/amjadjibon/agentic.git cd agentic -
Install dependencies
uv sync
-
Set up API keys (add to
.envfile)export OPENAI_API_KEY=your_openai_key export GOOGLE_API_KEY=your_google_key export export ANTHROPIC_API_KEY=your_anthropic_key export DEEPSEEK_API_KEY=your_deepseek_key export GROQ_API_KEY=your_groq_key export OPENROUTER_API_KEY=your_openrouter_key
-
Run the application
uv run python src/main.py
# Start the interactive terminal
uv run python src/main.py
# Select debate type (1-4)
# Choose models for each side
# Enter your debate topic
# Watch the real-time streaming debate!# Select "Rap Battle" option
# Choose legendary rappers (Tupac vs Biggie)
# Pick models and battle rounds
# Enjoy the epic lyrical showdown!# Run tests
uv run pytest
# Run linting
uv run ruff check
# Format code
uv run ruff format- Add model configuration to
src/agentic/llm/models.py - Implement provider support in
get_model()function - Update model availability checking
- Inherit from
BaseStreamingAgentorBaseRapperAgent - Implement required methods (
stream_response, etc.) - Add to agent registry
The AI judge evaluates performances using 8 criteria (0-10 scale):
- Logic & Reasoning - Argument coherence and logical flow
- Evidence & Sources - Use of facts, statistics, examples
- Source Quality - Credibility and relevance of sources
- Argument Structure - Organization and presentation
- Rebuttals - Addressing opponent's points effectively
- Clarity & Communication - Clear, engaging delivery
- Accuracy - Factual correctness
- Originality - Creative and novel perspectives
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- LangChain for the excellent LLM framework
- LangGraph for ai agents orchestrations
- Rich for the beautiful terminal UI
- UV for fast Python package management
- All the amazing AI model providers