Skip to main content

Core Functions

Session

Persistent sessions with HITL methods

generate()

Generate training datasets from policy

generate_scenarios()

Generate eval scenarios without responses

grade()

Grade a response against policy

simulate()

Run scenarios against a live agent

create_pipeline()

Create a customized pipeline

Quick Reference

import synkro
from synkro import create_pipeline, DatasetType
from synkro.models import OpenAI, Anthropic, Google, Local
from synkro.core.policy import Policy
from synkro.examples import EXPENSE_POLICY

# Simple generation
dataset = synkro.generate(EXPENSE_POLICY, traces=50)

# With pipeline
pipeline = create_pipeline(
    model=Google.GEMINI_25_FLASH,
    dataset_type=DatasetType.CONVERSATION,
)
dataset = pipeline.generate(policy, traces=100)

# Eval scenarios
result = synkro.generate_scenarios(policy, count=100)

# Grade responses
grade = synkro.grade(response, scenario, policy)

# Agent simulation
results = synkro.simulate(agent=my_agent, policy=policy, scenarios=10)

Types

TypeDescription
DatasetTypeCONVERSATION, INSTRUCTION, EVALUATION, TOOL_CALL
DatasetGenerated dataset with save/filter methods
PolicyPolicy document wrapper
GenerationResultResult with dataset + logic_map + coverage
GradeResultGrading result with passed/feedback
SimulationResultsSimulation results with pass_rate/save/dataset

Reporters

from synkro import SilentReporter, RichReporter, CallbackReporter

# Silent (no output)
pipeline = create_pipeline(reporter=SilentReporter())

# Rich (default CLI output)
pipeline = create_pipeline(reporter=RichReporter())

# Callbacks (programmatic)
reporter = CallbackReporter(
    on_progress=lambda event, data: print(f"{event}: {data}")
)