Spaces:
Sleeping
Sleeping
File size: 1,416 Bytes
5bb23c3 98ee05e 5bb23c3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | """Startup seed loader.
Loads a few pre-scored examples into golden + memory on first boot so a fresh
deployment isn't cold (zeroed stats, no retrieval). No-op if golden is non-empty.
"""
import json
import os
from datetime import datetime, timezone
from agent.memory import Memory
from db.store import Store
SEED_PATH = os.path.join(os.path.dirname(__file__), "golden_seed.json")
def load_seed_if_empty(store: Store, memory: Memory) -> int:
"""Load seed examples into golden + memory iff golden is currently empty.
Returns the number of entries seeded (0 if it was already populated).
"""
if store.count_golden() > 0:
return 0
with open(SEED_PATH, "r", encoding="utf-8") as f:
entries = json.load(f)
now = datetime.now(timezone.utc).isoformat()
seeded = 0
for entry in entries:
brief = entry["brief"]
variant_type = entry["variant_type"]
output = entry["output"]
scores = entry["scores"]
prompt_version = entry.get("prompt_version", "GENERATION_PROMPT_V1")
store.add_golden(brief, variant_type, output, scores, prompt_version)
memory.add(
brief=brief,
variant_type=variant_type,
output=output,
score=float(scores["weighted_average"]),
prompt_version=prompt_version,
timestamp=now,
)
seeded += 1
return seeded
|