(Credits to Claude 3.5 Sonnet for this README haha)
A open source AI Agent that conducts research and generates both research reports and engaging podcast conversations between two virtual hosts (Alex and Sarah).
While tech giants are working on "deep" research capabilities, we're keeping it light and breezy with:
- Quick Google searches via SERP API
- Conversational AI using Groq's "llama-3.3-70b-versatile"
- Text-to-speech magic with Kokoro
- Real-time updates to keep you entertained while we do our "research" 😉
Create a requirements.txt
file with the following dependencies:
fastapi
uvicorn
openai
redis-py
soundfile
numpy
pydantic
python-multipart
httpx
kokoro-onnx
pip install -r requirements.txt
Download the required Kokoro model files and place them in your project directory:
Replace the following API keys in app.py
:
serp_api_key = 'your_serp_api_key'
groq_api_key = 'your_groq_api_key'
Start a Redis instance on port 6379. If you have Docker installed, you can run:
docker run -d --name redis -p 6379:6379 redis:latest
Start the FastAPI backend server:
python3 app.py
The server will run on http://localhost:8001
Open index.html
in a web browser to access the frontend interface.
- Real-time LLM thought process visibility:
- See the AI's research strategy development
- Watch it evaluate information and decide next steps
- Observe how it determines research completeness
- Follow its thought process for converting research to dialogue
- Generates comprehensive research reports with:
- Academic-style citations using [n] notation
- Full bibliography with numbered sources
- Access dates and URLs for each citation
- Proper markdown formatting for readability
- Intelligent conversion of cited research into natural podcast dialogue
- High-quality voice synthesis using Kokoro
- Real-time progress updates via WebSocket (because waiting is boring)
- Redis-based task status tracking
- Downloadable podcast audio and scripts
- Python 3.8+
- Redis server
- Modern web browser
- Internet connection for API access
- A sense of humor 😄