honcho-api / src /llm /credentials.py
rrizwan98
Honcho self-hosted deployment for HF Spaces
66227af
Raw
History Blame Contribute Delete
870 Bytes
from __future__ import annotations
from src.config import ModelConfig, settings
from src.exceptions import ValidationException
def resolve_credentials(config: ModelConfig) -> dict[str, str | None]:
"""Resolve credentials for the effective model transport."""
default_api_key = default_transport_api_key(config.transport)
return {
"api_key": config.api_key or default_api_key,
"api_base": config.base_url,
}
def default_transport_api_key(transport: str) -> str | None:
"""Fall back to the global LLM API key for the matching transport."""
if transport == "anthropic":
return settings.LLM.ANTHROPIC_API_KEY
if transport == "openai":
return settings.LLM.OPENAI_API_KEY
if transport == "gemini":
return settings.LLM.GEMINI_API_KEY
raise ValidationException(f"Unknown transport: {transport}")