Rolls back the claudification backend preference: PREFER_CLOUD_BACKEND now defaults to false, resolve_backend() picks Ollama first and uses Claude when explicitly preferred or when the new Ollama startup health check fails. The Steward retries mid-request failures on the other backend in both directions. Also hardens the fallback itself: Anthropic SDK imports are lazy so a broken anthropic package degrades to Ollama-only instead of crashing at import time (root cause of the production outage since April), anthropic is pinned to a pydantic-ai-1.27-compatible range, ANTHROPIC_MODEL defaults to claude-sonnet-5 (sonnet-4-20250514 retired 2026-06-15), sampling parameters are stripped from Claude calls (Sonnet 5 rejects them), and the Steward timeout is configurable (STEWARD_TIMEOUT, default 60s) since gemma4 needs ~35s warm for analysis. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
27 lines
543 B
Python
27 lines
543 B
Python
"""
|
|
Anthropic/Claude integration module.
|
|
|
|
Provides model selection with Ollama as primary backend and Claude
|
|
as the cloud fallback.
|
|
"""
|
|
|
|
from src.anthropic.model_selector import (
|
|
check_claude_health,
|
|
check_ollama_health,
|
|
get_model,
|
|
get_tool_choice_settings,
|
|
is_claude_available,
|
|
is_ollama_available,
|
|
resolve_backend,
|
|
)
|
|
|
|
__all__ = [
|
|
"check_claude_health",
|
|
"check_ollama_health",
|
|
"get_model",
|
|
"get_tool_choice_settings",
|
|
"is_claude_available",
|
|
"is_ollama_available",
|
|
"resolve_backend",
|
|
]
|