from synth_ai.sdk.training import PromptLearningJob, RLJob, GraphGenJob
from synth_ai.sdk.task.in_process import InProcessTaskApp
# Prompt optimization
job = PromptLearningJob.from_config("config.toml")
job.submit()
result = job.poll_until_complete()
# RL training with in-process task app
async with InProcessTaskApp(task_app_path="my_task_app.py", port=8114) as task_app:
rl_job = RLJob.from_config("rl_config.toml", task_app_url=task_app.url)
rl_job.submit()
rl_result = rl_job.poll_until_complete()
# GraphGen workflow optimization (no task app needed)
graphgen_job = GraphGenJob.from_dataset("my_tasks.json", rollout_budget=100)
graphgen_job.submit()
result = graphgen_job.stream_until_complete()