ParthKulshreshtha's picture
Deploy personalized ad environment
526cf2e verified
Raw
History Blame Contribute Delete
850 Bytes
"""Image-model selection + promotion policy (logic; the data lives in config.py)."""
import os
from .config import PINNED_IMAGE_MODEL, PROMOTABLE_MODELS
def resolve_image_model(explicit: str | None = None) -> str:
"""Model slug to generate with: explicit arg > AD_IMAGE_MODEL env > pinned default.
Called at env construction. AD_IMAGE_MODEL is a MODEL SLUG override (not an API
key); the key is passed separately to the provider.
"""
return explicit or os.environ.get("AD_IMAGE_MODEL") or PINNED_IMAGE_MODEL
def is_promotable(slug: str) -> bool:
"""True if the slug is a pinned immutable target eligible for eval promotion.
Passed to Cache.promote() as the eligibility guard so only allowlisted
dated/immutable models can be frozen into the reproducible eval tier.
"""
return slug in PROMOTABLE_MODELS