fix(planner-agent): rename OLLAMA_HOST → OLLAMA_API_BASE (litellm convention)

LiteLLM reads OLLAMA_API_BASE, not OLLAMA_HOST.
- llm_router.py: DEFAULT_OLLAMA_HOST → DEFAULT_OLLAMA_API_BASE, param ollama_host → ollama_api_base
- planner.py: env var os.getenv("OLLAMA_HOST") → os.getenv("OLLAMA_API_BASE"), param renamed accordingly
- /opt/homelab/config/planner-agent/.env on SOLARIA updated in-place (not in git)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Oskar Kapala 2026-05-28 11:34:08 +02:00
parent e52b2e2259
commit dcacac6965
2 changed files with 18 additions and 16 deletions

View file

@ -158,8 +158,10 @@ class LLMRouter:
redis_url:
Redis connection URL for metrics publishing.
Set to None to disable Redis (useful in tests / local dev).
ollama_host:
Base URL of the Ollama API. Defaults to piha's Tailscale address.
ollama_api_base:
Base URL of the Ollama API. Maps to the ``OLLAMA_API_BASE``
environment variable (the name LiteLLM recognises).
Defaults to SATURN's Tailscale address.
ollama_model:
Model tag as known to Ollama (e.g. "qwen2.5:7b").
chain:
@ -167,14 +169,14 @@ class LLMRouter:
Qwen haiku sonnet chain is used.
"""
DEFAULT_OLLAMA_HOST = "http://100.108.208.3:11434"
DEFAULT_OLLAMA_API_BASE = "http://100.108.208.3:11434"
DEFAULT_OLLAMA_MODEL = "qwen2.5:7b"
DEFAULT_REDIS_URL = "redis://100.108.208.3:6379"
def __init__(
self,
redis_url: Optional[str] = DEFAULT_REDIS_URL,
ollama_host: str = DEFAULT_OLLAMA_HOST,
ollama_api_base: str = DEFAULT_OLLAMA_API_BASE,
ollama_model: str = DEFAULT_OLLAMA_MODEL,
chain: Optional[list[ModelConfig]] = None,
) -> None:
@ -185,7 +187,7 @@ class LLMRouter:
ModelConfig(
name=f"ollama/{ollama_model}",
timeout=8.0,
api_base=ollama_host,
api_base=ollama_api_base,
),
ModelConfig(
name="claude-haiku-4-5-20251001",

View file

@ -66,7 +66,7 @@ HEARTBEAT = STATE_DIR / "planner-agent.heartbeat"
# Configuration (from env)
# ---------------------------------------------------------------------------
REDIS_URL = os.getenv("REDIS_URL", "redis://100.108.208.3:6379")
OLLAMA_HOST = os.getenv("OLLAMA_HOST", "http://100.108.208.3:11434")
OLLAMA_API_BASE = os.getenv("OLLAMA_API_BASE", "http://100.108.208.3:11434")
OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "qwen2.5:7b")
NODE_NAME = os.getenv("NODE_NAME", "solaria")
COOLDOWN_SECONDS = int(os.getenv("COOLDOWN_SECONDS", "300")) # 5 min
@ -422,7 +422,7 @@ class PlannerAgent:
def __init__(
self,
redis_url: str = REDIS_URL,
ollama_host: str = OLLAMA_HOST,
ollama_api_base: str = OLLAMA_API_BASE,
ollama_model: str = OLLAMA_MODEL,
router: Optional[LLMRouter] = None,
cooldown: Optional[CooldownTracker] = None,
@ -434,7 +434,7 @@ class PlannerAgent:
self.router = router or LLMRouter(
redis_url = redis_url,
ollama_host = ollama_host,
ollama_api_base = ollama_api_base,
ollama_model = ollama_model,
)
self.cooldown = cooldown or CooldownTracker()