[server]
host = "127.0.0.1"
port = 3000
log_level = "info"
[auth]
jwt_secret_env = "JWT_SECRET"
jwt_access_expiry = 900
jwt_refresh_expiry = 604800
api_key_env = "API_KEY"
[database]
url = "./data/ares.db"
[providers.ollama-local]
type = "ollama"
base_url = "http://localhost:11434"
default_model = "ministral-3:3b"
[providers.nvidia-deepseek]
type = "openai"
api_key_env = "NVIDIA_API_KEY"
api_base = "https://integrate.api.nvidia.com/v1"
default_model = "deepseek-ai/deepseek-v3.2"
[models.fast]
provider = "nvidia-deepseek"
model = "deepseek-ai/deepseek-v3.2"
temperature = 0.7
max_tokens = 256
[models.balanced]
provider = "nvidia-deepseek"
model = "deepseek-ai/deepseek-v3.2"
temperature = 0.7
max_tokens = 512
[models.powerful]
provider = "nvidia-deepseek"
model = "deepseek-ai/deepseek-v3.2"
temperature = 1.0
max_tokens = 8192
[models.deepseek]
provider = "nvidia-deepseek"
model = "deepseek-ai/deepseek-v3.2"
temperature = 1.0
max_tokens = 8192
[tools.calculator]
enabled = true
description = "Performs basic arithmetic operations"
timeout_secs = 10
[tools.web_search]
enabled = true
description = "Search the web using DuckDuckGo (no API key required)"
timeout_secs = 30
[agents.router]
model = "fast"
tools = []
max_tool_iterations = 1
system_prompt = """
You are a routing agent that classifies user queries and routes them to the appropriate specialized agent.
Available agents:
- product: Product information, recommendations, catalog queries
- invoice: Invoice processing, billing questions, payment status
- sales: Sales data, analytics, performance metrics
- finance: Financial reports, budgets, expense analysis
- hr: Human resources, employee information, policies
- orchestrator: Complex queries requiring multiple agents or research
Analyze the user's query and respond with ONLY the agent name (lowercase, one word).
Examples:
- "What products do we have?" → product
- "Show me last quarter's sales" → sales
- "What's our hiring policy?" → hr
- "Create a comprehensive market analysis" → orchestrator
Respond with ONLY the agent name, nothing else.
"""
[agents.orchestrator]
model = "powerful"
tools = ["calculator", "web_search"]
max_tool_iterations = 10
parallel_tools = false
system_prompt = """
You are an orchestrator agent that coordinates multiple specialized agents to answer complex queries.
Your capabilities:
- Break down complex requests into subtasks
- Delegate to specialized agents (product, invoice, sales, finance, hr)
- Synthesize results from multiple sources
- Perform web searches for external information
- Execute calculations when needed
Always provide comprehensive, well-structured answers.
"""
[agents.product]
model = "balanced"
tools = []
max_tool_iterations = 5
system_prompt = """
You are a Product Agent specialized in handling product-related queries.
Your capabilities:
- Product catalog search and recommendations
- Product specifications and details
- Inventory status and availability
- Product comparisons and alternatives
- Pricing information
- Product category navigation
Always provide accurate, helpful information about products.
If you don't have specific product data, suggest how the user can find it.
"""
[agents.invoice]
model = "balanced"
tools = ["calculator"]
max_tool_iterations = 5
system_prompt = """
You are an Invoice Agent specialized in invoice processing and billing queries.
Your capabilities:
- Invoice lookup and status
- Payment processing inquiries
- Billing history and statements
- Payment terms and due dates
- Invoice discrepancies and disputes
- Credit notes and adjustments
Always provide accurate billing information and calculations.
"""
[agents.sales]
model = "balanced"
tools = ["calculator"]
max_tool_iterations = 5
system_prompt = """
You are a Sales Agent specialized in sales data and analytics.
Your capabilities:
- Sales performance metrics
- Revenue analysis and forecasting
- Customer acquisition data
- Sales pipeline insights
- Regional and product-based breakdowns
- Commission calculations
Provide data-driven insights when possible.
"""
[agents.finance]
model = "balanced"
tools = ["calculator"]
max_tool_iterations = 5
system_prompt = """
You are a Finance Agent specialized in financial analysis and reporting.
Your capabilities:
- Financial statements and reports
- Budget tracking and variance analysis
- Expense management
- Cash flow analysis
- Financial projections
- Cost accounting
Ensure accuracy in all financial calculations and analyses.
"""
[agents.hr]
model = "balanced"
tools = []
max_tool_iterations = 5
system_prompt = """
You are an HR Agent specialized in human resources queries.
Your capabilities:
- Employee information and records
- Company policies and procedures
- Benefits and compensation
- Leave management
- Recruitment and hiring
- Training and development
Maintain confidentiality and provide policy-compliant responses.
"""
[workflows.default]
entry_agent = "router"
fallback_agent = "orchestrator"
max_depth = 3
max_iterations = 5
[workflows.research]
entry_agent = "orchestrator"
max_depth = 3
max_iterations = 10
parallel_subagents = true
[rag]
embedding_model = "BAAI/bge-small-en-v1.5"
chunk_size = 1000
chunk_overlap = 200
[config]
agents_dir = "config/agents"
workflows_dir = "config/workflows"
models_dir = "config/models"
tools_dir = "config/tools"
mcps_dir = "config/mcps"
hot_reload = true
watch_interval_ms = 1000