File size: 834 Bytes
526cf2e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | """Importable core for the smoke-generate script (kept in the package so it is testable)."""
from __future__ import annotations
from .models import is_promotable, resolve_image_model
from .renderer.backgrounds import background_cache_key, generate_background
def run(labels, *, cache, provider, api_key, model=None) -> list[str]:
"""Fill dev for each label (real provider call) then promote to eval.
Returns the list of promoted cache keys. Network happens inside `provider`.
"""
model = resolve_image_model(model)
promoted = []
for label in labels:
generate_background(label, cache=cache, provider=provider, model=model, api_key=api_key)
key = background_cache_key(label, model=model)
cache.promote(key, is_eligible=is_promotable)
promoted.append(key)
return promoted
|