cascade_risk / src /llm /__init__.py
Lucasoppem's picture
Sync from GitHub main (part 2)
36f9d47 verified
Raw
History Blame Contribute Delete
860 Bytes
"""LLM client factory."""
from src.llm.client import LLMClient, load_config
def create_llm_client(config: dict | None = None) -> LLMClient:
"""Create the appropriate LLM client based on config."""
if config is None:
config = load_config()
backend = config["llm"]["backend"]
if backend == "claude":
from src.llm.claude_client import ClaudeClient
return ClaudeClient(config)
elif backend == "local":
from src.llm.local_client import LocalClient
return LocalClient(config)
elif backend == "claude-cli":
from src.llm.claude_cli_client import ClaudeCLIClient
return ClaudeCLIClient(config)
elif backend == "openai":
from src.llm.openai_client import OpenAIClient
return OpenAIClient(config)
else:
raise ValueError(f"Unknown LLM backend: {backend}")