Evo AI Agent Processor is the core microservice of the Evo AI platform, responsible for orchestrating intelligent workflows between multiple agents, processing sessions, storing and searching knowledge in vector databases, and integrating with modern AI services. It provides:
- Workflow orchestration between agents using LangGraph
- Execution of ADK agents (Google ADK) and integration with Google GenAI
- Session, event, and artifact processing
- Knowledge search and storage in vector databases (Pinecone, Qdrant, OpenSearch)
- JWT authentication for protected endpoints
- Redis caching for performance
- OpenAI integration for embeddings (optional)
- RESTful API with FastAPI
- FastAPI: Web framework for building the API
- SQLAlchemy: ORM for database interaction
- PostgreSQL: Main database
- Pydantic: Data validation
- Uvicorn: ASGI server
- Redis: Cache and queues
- JWT (python-jose, pyjwt): Authentication and authorization
- Pinecone / Qdrant / OpenSearch: Vector databases for semantic search
- OpenAI: Embeddings and LLMs (optional)
- Google ADK: Execution and management of Google agents
- LangGraph: Workflow orchestration between agents
- MinIO: Artifact storage
- Opentelemetry: Observability and tracing
- a2a-sdk, mcp: Integrations and extensions for agents
- Alembic: Database schema migration tool for SQLAlchemy
- Python: 3.10 or higher
- PostgreSQL: 13.0 or higher
- Redis: 6.0 or higher
- Git: For version control
- Make: For running Makefile commands
- Clone the repository:
git clone https://github.com/EvolutionAPI/evo-ai-agent-processor.git
cd evo-ai-agent-processor- Create a virtual environment and install dependencies:
make venv
source venv/bin/activate # Linux/Mac
make install-dev # For development dependencies- Set up environment variables:
cp .env.example .env
# Edit the .env file with your settingsmake run # Development
make run-prod # ProductionThe API will be available at http://localhost:8000
# Code verification
make lint # Verify code with flake8
make format # Format code with black
# Cache management
make clear-cache # Clean basic cache files
make clear-python-cache # Clean Python cache files (.pyc, __pycache__)
make clear-uv-cache # Clean UV package manager cache
make clear-all-cache # Clean all caches (comprehensive)
# Environment management
make reset-venv # Reset virtual environment
make refresh-env # Reset environment and reinstall dependenciesWhen you encounter issues with cached environment variables or Python imports, use these commands:
make clear-python-cache: Removes Python bytecode files and__pycache__directoriesmake clear-uv-cache: Cleans UV package manager cachemake clear-all-cache: Comprehensive cache cleanup including system cachemake reset-venv: Recreates the virtual environmentmake refresh-env: Complete environment refresh (recommended for persistent issues)
- Configure the
.envfile - Start the services:
make docker-build
make docker-up
make docker-seedWe welcome contributions from the community! Please read our Contributing Guidelines for more details.
This project is licensed under the Apache License 2.0.