synthesizer
synthesizer
¶
Backward-compat shim: moved to learning.optimize.
Classes¶
PersonalBenchmarkSample
dataclass
¶
PersonalBenchmarkSample(trace_id: str, query: str, reference_answer: str, agent: str = '', category: str = 'chat', feedback_score: float = 0.0, metadata: Dict[str, Any] = dict())
A single sample in a personal benchmark.
PersonalBenchmark
dataclass
¶
PersonalBenchmark(workflow_id: str, samples: List[PersonalBenchmarkSample] = list(), created_at: float = 0.0)
A synthesized benchmark from user interaction traces.
PersonalBenchmarkSynthesizer
¶
PersonalBenchmarkSynthesizer(trace_store: TraceStore)
Mines interaction traces into a reusable personal benchmark.
Source code in src/openjarvis/learning/optimize/personal/synthesizer.py
Functions¶
synthesize
¶
synthesize(workflow_id: str = 'default', min_feedback: float = 0.7, max_samples: int = 100) -> PersonalBenchmark
Build a personal benchmark from high-quality traces.
- Query traces that have feedback >= min_feedback.
- Group by query class (agent + first 50 chars of query).
- For each class, pick the trace with the highest feedback as reference.
- Return a :class:
PersonalBenchmarkcapped at max_samples.