mirror of
https://github.com/TauricResearch/TradingAgents.git
synced 2026-06-16 21:06:15 +03:00
Each is a one-row entry in the OpenAI-compatible provider registry (base_url, key env, CLI option); the model is user-specified since they serve many models.
35 lines
953 B
Python
35 lines
953 B
Python
"""Model name validators for each provider."""
|
|
|
|
from .model_catalog import get_known_models
|
|
|
|
|
|
# Providers whose model names are user-defined (local servers, relays, hosted
|
|
# OpenAI-compatible endpoints serving many models), so any model string is
|
|
# accepted without warning.
|
|
_ANY_MODEL_PROVIDERS = (
|
|
"ollama", "openrouter", "openai_compatible",
|
|
"mistral", "kimi", "groq", "nvidia",
|
|
)
|
|
|
|
VALID_MODELS = {
|
|
provider: models
|
|
for provider, models in get_known_models().items()
|
|
if provider not in _ANY_MODEL_PROVIDERS
|
|
}
|
|
|
|
|
|
def validate_model(provider: str, model: str) -> bool:
|
|
"""Check if model name is valid for the given provider.
|
|
|
|
For ollama, openrouter, and openai_compatible - any model is accepted.
|
|
"""
|
|
provider_lower = provider.lower()
|
|
|
|
if provider_lower in _ANY_MODEL_PROVIDERS:
|
|
return True
|
|
|
|
if provider_lower not in VALID_MODELS:
|
|
return True
|
|
|
|
return model in VALID_MODELS[provider_lower]
|