# Example custom models configuration for rumilo
# Copy relevant sections to your $XDG_CONFIG_HOME/rumilo/config.toml

[defaults]
model = "anthropic:claude-sonnet-4-20250514"
cleanup = true
# kagi_session_token = "your-kagi-token"
# tabstack_api_key = "your-tabstack-key"

[web]
model = "anthropic:claude-sonnet-4-20250514"
# system_prompt_path = "~/.config/rumilo/web-prompt.txt"

[repo]
model = "anthropic:claude-sonnet-4-20250514"
default_depth = 1
blob_limit = "5m"
# system_prompt_path = "~/.config/rumilo/repo-prompt.txt"

# Custom models allow you to use any OpenAI-compatible endpoint
# Reference them with: rumilo web "query" --model custom:ollama

[custom_models.ollama]
# Ollama running locally
provider = "ollama"
api = "openai-completions"
base_url = "http://localhost:11434/v1"
id = "ollama/llama3.2"
name = "Llama 3.2 (Ollama)"
reasoning = false
input = ["text"]
cost = { input = 0, output = 0 }
context_window = 128000
max_tokens = 4096

[custom_models.vllm]
# vLLM inference server
provider = "vllm"
api = "openai-completions"
base_url = "http://localhost:8000/v1"
id = "meta-llama/Llama-3.3-70B-Instruct"
name = "Llama 3.3 70B (vLLM)"
reasoning = false
input = ["text"]
cost = { input = 0, output = 0 }
context_window = 131072
max_tokens = 8192

[custom_models.groq]
# Groq (built-in to pi-ai, but shown here as example)
provider = "groq"
api = "openai-completions"
base_url = "https://api.groq.com/openai/v1"
id = "groq/llama-3.3-70b-versatile"
name = "Llama 3.3 70B Versatile (Groq)"
reasoning = false
input = ["text"]
cost = { input = 0.59, output = 0.79 }
context_window = 131072
max_tokens = 8192

[custom_models.openrouter]
# OpenRouter API (model aggregation)
provider = "openrouter"
api = "openai-completions"
base_url = "https://openrouter.ai/api/v1"
id = "openrouter/zai/glm-4.5v"
name = "GLM-4.5V (OpenRouter)"
reasoning = true
input = ["text", "image"]
cost = { input = 0.5, output = 1.5 }
context_window = 128000
max_tokens = 4096
