Conversation
Add a comprehensive agent hook system for the RAG search pipeline with: **Database Layer:** - AgentConfig model for storing agent configurations - CollectionAgent model for collection-agent associations with overrides - JSONB columns for flexible default_config and config_override **Agent Execution Service:** - CircuitBreaker pattern for failure isolation (closed/open/half_open states) - Sequential execution for pre-search and post-search stages - Parallel execution for response stage agents - Dynamic handler loading via importlib - Timeout and retry support per agent **Pipeline Integration:** - PreSearchAgentStage: Query expansion, language detection, intent classification - PostSearchAgentStage: Re-ranking, deduplication, PII redaction - ResponseAgentStage: PDF, PowerPoint, chart generation - Integrated into SearchService pipeline at stages 3, 6, and 9 **API Endpoints:** - CRUD operations for agent configurations - Collection-agent association management - Batch priority updates - Filtering by stage, status, and agent type **Schemas:** - AgentStage, AgentConfigStatus, AgentExecutionStatus enums - Input/Output/Update schemas for configuration - AgentContext, AgentResult, AgentArtifact execution schemas - PipelineMetadata with agent execution summary **Tests:** - Unit tests for CircuitBreaker with state transitions - Unit tests for AgentExecutorService - Schema validation tests for all Pydantic models Closes #697
🚀 Development Environment OptionsThis repository supports Dev Containers for a consistent development environment. Option 1: GitHub Codespaces (Recommended)Create a cloud-based development environment:
Option 2: VS Code Dev Containers (Local)Use Dev Containers on your local machine:
Option 3: Traditional Local SetupSet up the development environment manually: # Clone the repository
git clone https://github.com/manavgup/rag_modulo.git
cd rag_modulo
git checkout claude/implement-issue-697-01NYz1XuVcfwZKHY7F6Hfjyz
# Initialize development environment
make dev-init
make dev-build
make dev-up
make dev-validateAvailable CommandsOnce in your development environment: make help # Show all available commands
make dev-validate # Validate environment setup
make test-atomic # Run atomic tests
make test-unit # Run unit tests
make lint # Run lintingServices AvailableWhen running
This automated message helps reviewers quickly set up the development environment. |
Code Review - PR #702: Implement RAG Modulo Agent Hook System (Issue #697)SummaryThis PR introduces a comprehensive agent hook system for the RAG search pipeline with support for 3 execution stages (pre-search, post-search, and response). The implementation is well-structured with proper separation of concerns and follows the repository's patterns. ✅ Strengths1. Architecture & Design
2. Database Layer
3. Code Quality
4. Testing
|
Add a comprehensive agent hook system for the RAG search pipeline with:
Database Layer:
Agent Execution Service:
Pipeline Integration:
API Endpoints:
Schemas:
Tests:
Closes #697