Eldric Agent Worker

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
GUI Client macOS/Qt CLI Client Terminal OpenWebUI Web Interface Agent Worker eldric-agentd Port 8893 Multi-tenant Agentic RAG Controller Port 8880 License & Orchestration Router Port 8881 Agent Worker Internals ReAct Engine Reasoning Loop RAG Retriever Knowledge Search Tool Orchestrator Tool Execution Session Mgr Multi-tenant Tenant Mgr Isolation Orchestrator Coordination Agent Dashboard Monitoring & Analytics Worker Ollama 8890 Worker vLLM 8890 Data Worker Vector DB, PostgreSQL, RAG Storage Port 8892 KB: Docs 1.2M vectors KB: Code 800K vectors Legend Agent Worker (8893) AI Worker (8890) Data Worker (8892) Controller (8880) Router (8881) Client Connection

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.

1 Query metrics DB
2 Search runbooks
3 Execute fix
4 Verify resolution

Quick Start

1. Install from Package

# RHEL 9 / Fedora sudo dnf install eldric-agent-4.0.0-1.el9.x86_64.rpm # Ubuntu / Debian sudo dpkg -i eldric-agent_4.0.0-1_ubuntu2404_amd64.deb # Start the service sudo systemctl enable --now eldric-agent

2. Start Standalone

# 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"

Port Reference

Component Port Protocol Description
Agent Worker 8893 HTTP/REST Multi-tenant agentic RAG orchestration
Controller 8880 HTTP/REST Cluster management & licensing
Router 8881 HTTP/REST Request routing & load balancing
AI Worker 8890 HTTP/REST LLM inference (Ollama/vLLM/TGI)
Data Worker 8892 HTTP/REST Database, storage, RAG vectors

Licensing

Feature Free Standard Enterprise
Agent Sessions 1 concurrent 10 concurrent Unlimited
ReAct Iterations 3 max 10 max Configurable
Multi-tenancy - - Yes
Knowledge Bases 1 5 Unlimited
Dashboard Basic Full Full + Analytics