Multi-tenant Agentic RAG with ReAct Reasoning - Orchestrate complex AI tasks with iterative knowledge retrieval, tool execution, and intelligent decision making
v4.0.0
Cluster Architecture
Eldric Distributed Cluster with Agent Workers
ReAct Reasoning Pattern
The Agent Worker implements the ReAct (Reasoning + Acting) pattern for iterative task solving with knowledge retrieval.
1. Reason
Analyze the task, formulate a thought about what action to take next
2. Act
Execute a tool or query the knowledge base based on reasoning
3. Observe
Process the results, update context, decide if task is complete
// ReAct Iteration Example
{
"iteration": 1,
"thought": "User wants to know about Kubernetes deployments. I should search the documentation.",
"action": "rag_search",
"action_input": "kubernetes deployment best practices",
"observation": "Found 12 relevant documents about K8s deployments..."
}
{
"iteration": 2,
"thought": "I have context about deployments. User also mentioned scaling, let me search for that.",
"action": "rag_search",
"action_input": "kubernetes horizontal pod autoscaling HPA",
"observation": "Found 8 documents about HPA configuration..."
}
{
"iteration": 3,
"thought": "I now have enough context to provide a comprehensive answer about K8s deployments and scaling.",
"action": "final_answer",
"answer": "Based on the documentation, here are the best practices for Kubernetes deployments..."
}
Core Capabilities
ReAct Reasoning
Standard+
Iterative reasoning with action-observation loops for complex task solving.
Multi-step reasoning chains
Configurable max iterations
Reasoning trace logging
Early termination on confidence
Agentic RAG
Standard+
Intelligent retrieval-augmented generation with adaptive querying.
Iterative retrieval refinement
Multi-knowledge base search
Relevance scoring
Citation tracking
Tool Orchestration
Standard+
Coordinate tool execution across the cluster for complex workflows.
12+ built-in agent types
Custom tool registration
Parallel tool execution
Result aggregation
Multi-Tenancy
Enterprise
Isolated agent sessions with per-tenant configuration and knowledge bases.
Tenant isolation
Per-tenant rate limits
Separate knowledge bases
Usage tracking & billing
Supported Agent Types
Agent Type
Description
Tools
general
General-purpose agent with all capabilities
All tools available
explorer
Codebase exploration and understanding
Glob, Grep, Read
coder
Code writing and modification
Read, Write, Edit, Glob
runner
Command execution specialist
Bash, Read
planner
Task planning and decomposition
Glob, Grep, Read (read-only)
searcher
Web search and information retrieval
WebSearch, WebFetch, Read
database
Database operations and queries
DBConnect, DBQuery, DBSchema
learner
Knowledge base and RAG operations
Learn, Remember, Forget, Read
network
Network diagnostics and operations
Ping, Traceroute, DNS, HTTP
spider
Web crawling and scraping
Crawl, Extract, Index
email
Email operations
Send, Read, Search emails
ansible
Ansible playbook execution
Playbook, Inventory, Ad-hoc
REST API
Method
Endpoint
Description
GET
/health
Health check with license, sessions, and agent count
GET
/dashboard
Web dashboard for monitoring
POST
/api/v1/agent/chat
Send a message to an agent session
POST
/api/v1/agent/sessions
Create a new agent session
GET
/api/v1/agent/sessions
List sessions for current user/tenant
DELETE
/api/v1/agent/sessions/:id
End an agent session
GET
/api/v1/knowledge-bases
List available knowledge bases
Chat Request Example
curl -X POST http://agent-worker:8893/api/v1/agent/chat \
-H 'Content-Type: application/json' \
-H 'X-API-Key: your-api-key' \
-d '{
"session_id": "sess-abc123",
"message": "How do I configure Kubernetes HPA for my deployment?",
"config": {
"agent_type": "general",
"model": "llama3.2:3b",
"max_iterations": 5,
"temperature": 0.7
},
"stream": true
}'
Response Format
{
"task_id": "task-xyz789",
"success": true,
"answer": "To configure Kubernetes HPA, you need to...",
"sources": [
{
"source": "docs/kubernetes/hpa.md",
"content_snippet": "HPA automatically scales the number of pods...",
"relevance": 0.94
}
],
"reasoning_trace": [
{
"step_number": 1,
"thought": "User wants to configure HPA...",
"action": "rag_search",
"observation": "Found 8 relevant documents..."
}
],
"confidence": 0.92,
"iterations_used": 2,
"duration_ms": 1847
}
Use Cases
1. Intelligent Documentation Assistant
Deploy an agent that understands your entire documentation and can answer complex questions with citations.
1 User asks question
→
2 ReAct reasoning
→
3 RAG search
→
4 Cited answer
2. Code Review Agent
Analyze code changes, understand context from the codebase, and provide intelligent review feedback.
1 Submit PR
→
2 Explorer agent
→
3 Code context
→
4 Review feedback
3. Multi-tenant SaaS Integration
Provide AI-powered features to your customers with isolated knowledge bases and usage tracking.
// Each tenant has isolated sessions and knowledge bases
POST /api/v1/agent/sessions
X-Tenant-ID: tenant-acme-corp
X-API-Key: sk-acme-key
{
"knowledge_base_id": "kb-acme-docs",
"title": "Support Chat Session",
"agent_config": {
"type": "general",
"model": "llama3.2:3b"
}
}
4. DevOps Automation Agent
Combine database queries, shell commands, and knowledge retrieval for intelligent infrastructure management.
# Run with defaults
./eldric-agentd --port 8893
# Register with controller
./eldric-agentd --controller http://controller:8880 --api-key YOUR_KEY
# Configure data worker for RAG
./eldric-agentd --data-worker http://data-worker:8892
3. Test the API
# Health check
curl http://localhost:8893/health
# Create a session
curl -X POST http://localhost:8893/api/v1/agent/sessions \
-H 'Content-Type: application/json' \
-d '{"title": "Test Session"}'
# Send a message
curl -X POST http://localhost:8893/api/v1/agent/chat \
-H 'Content-Type: application/json' \
-d '{"session_id": "YOUR_SESSION_ID", "message": "Hello, what can you help me with?"}'
4. Connect from GUI
// In Eldric GUI Settings > General:
1. Enable "Use Cluster Agents for Chat"
2. Set Agent Worker URL: http://localhost:8893
3. (Optional) Set API Key
4. Click "Test Connection"