This is the backend for CoCo, a multi-agent data consultant system. It powers the core functionality of the accompanying voice agent by exposing FastAPI endpoints for various agents, research agent, presentation generation model, and live presentation edit model. The backend integrates advanced AI tools to collect voice input, conduct deep research, generate presentations, and enable real-time edits.
- API Endpoints: Exposes endpoints for voice processing, research, presentation generation, and live editing.
- Multi-Agent System: Manages a team of agents for data collection, research, and content creation.
- Presentation Generation: Creates Reveal.js-based presentations with factual content and resources.
- Real-Time Editing: Allows dynamic edits to presentations via API calls.
- FastAPI: High-performance Python framework for building APIs.
- smolagents: Multi-agent framework including
CodeAgents
,DuckDuckGoSearchTool
, andToolCallingAgent
. - GPT-4o-mini: Lightweight, powerful AI model for natural language processing.
- Ngrok: Secure tunneling to expose local servers to the internet.
- Reveal.js: Framework for creating interactive presentations.
- ElevenLabs: Conversational AI powered by Gemini 1.5 Flash for realistic voice interactions.
The backend uses FastAPI to provide endpoints that:
- Research: Utilizes
smolagents
tools (e.g.,DuckDuckGoSearchTool
) andCodeAgents
to perform deep research. - Generate Presentations: Leverages
GPT-4o-mini
and Reveal.js to create detailed, editable presentations. - Enable Live Edits: Supports real-time modifications to presentations via direct API calls.
-
Clone the Repository
git clone https://github.com/dotvignesh/researchAgentAPI cd researchAgentAPI
-
Install Requirements
- Set up a virtual environment and install dependencies:
python -m venv venv source venv/bin/activate pip install fastapi smolagents pydantic python-dotenv openai pyngrok uvicorn
- Set up a virtual environment and install dependencies:
-
Configure Environment
- Create a
.env
file in the root directory and add the following:OPENAI_API_KEY=your_openai_api_key NGROK_AUTH_TOKEN=your_ngrok_auth_token
- Create a
-
Run the Server
- Start the FastAPI server with ngrok:
python app.py
- Start the FastAPI server with ngrok:
Checkout the frontend repo and instrunctions here: https://github.com/rameshsam02/CoCo