Skip to main content

Core Functions

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)

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

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}")
)