Backend Overview
The TKM AI Agency Platform backend is a sophisticated FastAPI-based system that orchestrates multiple AI agents through an event-driven architecture. The system is organized into several key components:
Directory Structure
Backend/
├── AI_Agency/ # Main application directory
│ ├── Backoffice/ # Internal operations and API endpoints
│ ├── CRM/ # Customer interaction management
│ ├── Core_Components/ # System infrastructure
│ └── Configuration/ # System configuration
├── main.py # Application entry point
├── requirements.txt # Project dependencies
└── logs/ # System logs
Core Architecture
FastAPI Application
The system is built on FastAPI, providing:
- High-performance async/await support
- Automatic OpenAPI documentation
- Built-in CORS middleware
- Static file serving for media content
Agent System
Backoffice Agents
Handle internal operations and API endpoints:
- Input Processing
- Burchelli: Text processing and analysis
- Rufa: Audio processing and transcription
- Scalaris: Document management and processing
- Hova: Chat response management
- System Management
- Atta: Context and state management
- Bala: Embedding generation and processing
- Barbatus: Session management and authentication
- Bauri: System utilities and support
CRM Agents
Manage customer interactions and business logic:
-
Core Processing
- Prometheus: Main response generation
- Invicta: Request routing and orchestration
- Humile: Translation and language services
- Lyra: Permission and access management
-
Specialized Processing
- Carina: Specialized interactions
- Orfeo: Custom processing
- Orion: System monitoring
- Pegaso: Advanced features
Core Infrastructure
Event System
- Asynchronous event bus for inter-agent communication
- Event-driven architecture for decoupled operations
- Centralized event handling and distribution
Mediator Service
- Agent registration and management
- Message routing between agents
- State coordination and synchronization
Configuration Management
- Centralized configuration system
- Environment-specific settings
- Agent-specific configurations
- LLM provider settings
API Structure
Public Endpoints
/api/
├── burchelli/ # Text processing
├── rufa/ # Audio processing
├── hova/ # Chat management
├── scalaris/ # Document management
├── barbatus/ # Session management
├── humile/ # Translation services
└── orfeo/ # Custom processing
System Features
- Health monitoring (
/health
) - Static file serving for media content
- Comprehensive error handling and logging
- Request validation and sanitization
Data Management
- Structured logging with rotation
- File storage for documents and media
- In-memory caching for performance
- Persistent storage for critical data
Security Features
- CORS protection
- Session management
- Permission-based access control
- Environment variable management