Skip to content

glitch-gemini-hackathon/agentic-monorepo-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Agentic Monorepo Backend

This is a Python monorepo for an AI agentic backend workflow. The backend provides a basic scaffolding built with FastAPI, mimicking an agent-based architecture with routing capabilities based on generated model decisions.

Architecture Structure

agentic-monorepo/
├── backend/
│   ├── server/          # FastAPI server code (main.py)
│   ├── agent/           # Gemini agent logic (gemini_agent.py)
│   ├── router/          # Model router (model_router.py)
│   ├── adapters/        # Model adapters (veo, nanobanana, lyria)
│   ├── schemas/         # Pydantic models (agent_output.py, prompt_request.py)
│   └── utils/           # Logging, helpers, config (logger.py, config.py)

✨ Features

  • Modular monorepo architecture
  • Agent-based decision making
  • Dynamic routing to multiple AI providers
  • Pluggable adapter design
  • Async FastAPI backend
  • Clean separation of concerns

Running the Application Locally

  1. Install dependencies:

    pip install -r requirements.txt
  2. Set up environment variables in .env:

    • GEMINI_API_KEY: Your Google Gemini API key
    • REDIS_URL: Your Redis Cloud connection URL (e.g., redis://username:password@host:port)
  3. Run the FastAPI application from the project root directory (agentic-monorepo):

    python -m backend.server.main

    Or use uvicorn:

    uvicorn backend.server.main:app --reload
  4. Test the POST /prompt endpoint:

    curl -X POST "http://localhost:8000/prompt" \
         -H "Content-Type: application/json" \
         -d '{"user_prompt": "I want to generate a video."}'
  5. Get conversation history:

    curl "http://localhost:8000/conversations/{session_id}"

About

From Prompt to Production: A Multi-Agent AI Backend for Scalable Video Generation

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages