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
- Query embedding retrieval
- Multi-modal content search
- Context aggregation
- 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