Backend
Acuario - RAG

Acuario - RAG (Retrieval Augmented Generation) Agent

Overview

Acuario is the agent responsible for implementing RAG (Retrieval Augmented Generation) capabilities in the TKM AI Agency Platform. It performs semantic search across document and image embeddings to provide context-aware responses.

Directory Structure

Backend/CRM/Acuario/
├── acuario.py         # Main agent implementation
├── acuario_tools.py   # RAG utilities and search functions
└── acuario_schema.py  # Data models and schemas

Main Components

AcuarioAgent Class

The main class that handles RAG operations:

  • Embedding-based search
  • Context retrieval
  • Response generation
  • Integration with other agents

Search Pipeline

  1. Query embedding retrieval
  2. Multi-modal content search
  3. Context aggregation
  4. Response generation

Key Features

Semantic Search

  • Vector similarity search
  • Multi-modal content support
  • Configurable similarity threshold
  • Performance optimization

Content Types

  • Document embeddings
  • Image embeddings
  • Combined search results
  • Metadata preservation

Integration Features

  • Database session management
  • Performance monitoring
  • Error handling
  • Metadata tracking

API Operations

RAG Request

# Request Format
{
    "embedding": List[float],
    "original_query": str
}
 
# Response Format
{
    "success": bool,
    "response": str,
    "context": List[dict],
    "metadata": {
        "processed_at": str,
        "sources_used": {
            "document_sources": int,
            "image_sources": int
        }
    }
}

Integration

Database Integration

  • SingleStore vector operations
  • Embedding tables:
    • bala_text_embeddings
    • bala_document_embeddings
    • bala_image_embeddings

Search Configuration

  • Similarity threshold: > 0.7
  • Default limit: 5 results
  • Combined ranking
  • Source type tracking

Performance Features

Search Optimization

  • Efficient vector operations
  • Result limiting
  • Execution time tracking
  • Performance logging

Result Management

  • Combined result sorting
  • Similarity scoring
  • Source type tracking
  • Metadata preservation

Data Models

Search Result

{
    "content": str,
    "metadata": dict,
    "similarity": float,
    "source_type": str
}

Sources Used

{
    "document_sources": int,
    "image_sources": int
}

Error Handling

  • Query validation
  • Database connection errors
  • Search operation failures
  • Response generation errors
  • Comprehensive error logging

Future Enhancements

  • LLM response generation implementation
  • Additional content type support
  • Advanced context processing
  • Response quality metrics