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

View file

@ -66,7 +66,7 @@ HEARTBEAT = STATE_DIR / "planner-agent.heartbeat"
# Configuration (from env) # Configuration (from env)
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
REDIS_URL = os.getenv("REDIS_URL", "redis://100.108.208.3:6379") 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") OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "qwen2.5:7b")
NODE_NAME = os.getenv("NODE_NAME", "solaria") NODE_NAME = os.getenv("NODE_NAME", "solaria")
COOLDOWN_SECONDS = int(os.getenv("COOLDOWN_SECONDS", "300")) # 5 min COOLDOWN_SECONDS = int(os.getenv("COOLDOWN_SECONDS", "300")) # 5 min
@ -421,11 +421,11 @@ class PlannerAgent:
def __init__( def __init__(
self, self,
redis_url: str = REDIS_URL, redis_url: str = REDIS_URL,
ollama_host: str = OLLAMA_HOST, ollama_api_base: str = OLLAMA_API_BASE,
ollama_model: str = OLLAMA_MODEL, ollama_model: str = OLLAMA_MODEL,
router: Optional[LLMRouter] = None, router: Optional[LLMRouter] = None,
cooldown: Optional[CooldownTracker] = None, cooldown: Optional[CooldownTracker] = None,
) -> None: ) -> None:
self._redis_url = redis_url self._redis_url = redis_url
self._redis: Optional[aioredis.Redis] = None self._redis: Optional[aioredis.Redis] = None
@ -433,9 +433,9 @@ class PlannerAgent:
self._running = False self._running = False
self.router = router or LLMRouter( self.router = router or LLMRouter(
redis_url = redis_url, redis_url = redis_url,
ollama_host = ollama_host, ollama_api_base = ollama_api_base,
ollama_model = ollama_model, ollama_model = ollama_model,
) )
self.cooldown = cooldown or CooldownTracker() self.cooldown = cooldown or CooldownTracker()