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