Backend
Overview

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