Configuration
YAAAF is configured through a JSON file that defines the LLM client, available agents, data sources, and external tools.
Configuration File
Set the YAAAF_CONFIG environment variable to point to your configuration:
export YAAAF_CONFIG=/path/to/config.json
python -m yaaaf backend
Basic Structure
{
"client": {
"model": "qwen2.5:32b",
"temperature": 0.7,
"max_tokens": 1024,
"host": "http://localhost:11434"
},
"agents": [
"sql",
"visualization",
"answerer",
"websearch"
],
"sources": [],
"tools": []
}
Client Configuration
The client section configures the default LLM settings:
{
"client": {
"model": "qwen2.5:32b",
"temperature": 0.7,
"max_tokens": 1024,
"host": "http://localhost:11434",
"disable_thinking": false
}
}
Field |
Description |
Default |
|---|---|---|
|
Ollama model name |
qwen2.5:32b |
|
Creativity (0.0-2.0) |
0.7 |
|
Maximum response length |
1024 |
|
Ollama server URL |
|
|
Disable extended thinking |
false |
Agent Configuration
The agents array lists which agents are available. Agents can be specified as strings (using defaults) or objects (with custom settings).
Simple Format
{
"agents": ["sql", "visualization", "answerer", "websearch"]
}
Per-Agent Settings
Override model settings for specific agents:
{
"agents": [
"sql",
{
"name": "visualization",
"model": "qwen2.5-coder:32b",
"temperature": 0.1
},
{
"name": "answerer",
"model": "qwen2.5:32b",
"temperature": 0.7,
"max_tokens": 4096
},
{
"name": "document_retriever",
"host": "http://remote-ollama:11434"
}
]
}
Available agent names:
sql- Database queriesvisualization- Charts and graphsanswerer- Synthesize answersreviewer- Analyze artifactswebsearch- DuckDuckGo searchbrave_search- Brave Search APIdocument_retriever- Document searchurl- URL content extractionurl_reviewer- URL content synthesisbash- Filesystem operationstool- MCP tool integrationmle- Machine learningnumerical_sequences- Data structuringuser_input- Interactive input
Data Sources
The sources array configures data sources for agents.
SQLite Sources
For SqlAgent:
{
"sources": [
{
"name": "sales_database",
"type": "sqlite",
"path": "./data/sales.db"
}
]
}
Text Sources
For DocumentRetrieverAgent:
{
"sources": [
{
"name": "documentation",
"type": "text",
"path": "./docs/",
"description": "Product documentation"
}
]
}
Supported text formats: .txt, .md, .html, .htm, .pdf
RAG Sources
For persistent RAG storage:
{
"sources": [
{
"name": "knowledge_base",
"type": "rag",
"path": "./data/rag_index.pkl",
"description": "Persistent knowledge base"
}
]
}
MCP Tools Configuration
The tools array configures external tools via Model Context Protocol (MCP).
SSE Tools
HTTP-based MCP servers:
{
"tools": [
{
"name": "calculator",
"type": "sse",
"description": "Mathematical calculations",
"url": "http://localhost:8080/sse"
}
]
}
Stdio Tools
Command-line MCP servers:
{
"tools": [
{
"name": "file_tools",
"type": "stdio",
"description": "File manipulation",
"command": "python",
"args": ["-m", "my_mcp_server"]
}
]
}
API Keys
Some agents require API keys:
{
"api_keys": {
"brave_search_api_key": "YOUR_API_KEY"
}
}
Get a Brave Search API key at https://api.search.brave.com/
Safety Filter
Configure content filtering:
{
"safety_filter": {
"enabled": true,
"blocked_keywords": ["harmful", "dangerous"],
"blocked_patterns": ["pattern.*regex"],
"custom_message": "I cannot process that request."
}
}
Complete Example
{
"client": {
"model": "qwen2.5:32b",
"temperature": 0.7,
"max_tokens": 2048,
"host": "http://localhost:11434"
},
"agents": [
"sql",
{
"name": "visualization",
"model": "qwen2.5-coder:32b",
"temperature": 0.1
},
"answerer",
"reviewer",
"websearch",
"document_retriever",
"tool"
],
"sources": [
{
"name": "main_database",
"type": "sqlite",
"path": "./data/main.db"
},
{
"name": "documentation",
"type": "text",
"path": "./docs/",
"description": "Product documentation"
}
],
"tools": [
{
"name": "calculator",
"type": "sse",
"url": "http://localhost:8080/sse",
"description": "Math operations"
}
],
"api_keys": {
"brave_search_api_key": "YOUR_KEY_HERE"
}
}
Configuration Generator
Use the interactive configuration generator:
python -m yaaaf config
This guides you through:
LLM model selection
Agent configuration
Source setup
Tool configuration
Environment Variables
Variable |
Description |
|---|---|
|
Path to configuration JSON file |
|
Enable debug logging (true/false) |
|
Brave Search API key (alternative to config) |
Troubleshooting
Agent not available: Ensure the agent is listed in the agents array.
Source not found: Check that the path exists and is accessible.
Tool connection failed: Verify the MCP server is running and accessible.
Model not available: Pull the model with ollama pull model_name.