Skip to main content

Serverless Posttraining for Agents - Core AI functionality and tracing

Project description

Synth

Python PyPI License Coverage Tests

Serverless Posttraining APIs for Developers

Shows a bar chart comparing prompt optimization performance across Synth GEPA, Synth MIPRO, GEPA (lib), DSPy MIPRO, and DSPy GEPA with baseline vs optimized.

Average accuracy on LangProBe prompt optimization benchmarks.

Highlights

  • 🚀 Train across sft, RL, and prompt opt by standing up a single cloudflared Fastapi wrapper around your code. No production code churn.
  • ⚡️ Parallelize training and achieve 80% GPU util. via PipelineRL
  • 🗂️ Train prompts and models across multiple experiments
  • 🛠️ Spin up experiment queues and datastores locally for dev work
  • 🔩 Run serverless training via cli or programmatically
  • 🏢 Scales gpu-based model training to 64 H100s seemlessly
  • 💾 Use GEPA-calibrated judges for fast, accurate rubric scoring
  • 🖥️ Supports HTTP-based training across all programming languages
  • 🤖 CLI utilities tuned for use with Claude Code, Codex, Opencode

Getting Started

# Use with OpenAI Codex
uvx synth-ai codex
# Use with Opencode
uvx synth-ai opencode

Synth is maintained by devs behind the MIPROv2 prompt optimizer.

Documentation

Docs available at docs.usesynth.ai.

In-Process Runner (SDK)

Run GEPA/MIPRO/RL jobs against a tunneled task app without the CLI:

import asyncio
import os
from synth_ai.sdk.task import run_in_process_job

result = asyncio.run(
    run_in_process_job(
        job_type="prompt_learning",
        config_path="configs/style_matching_gepa.toml",
        task_app_path="task_apps/style_matching_task_app.py",
        overrides={"prompt_learning.gepa.rollout.budget": 4},
        backend_url=os.getenv("TARGET_BACKEND_BASE_URL"),  # resolves envs automatically
    )
)
print(result.job_id, result.status.get("status"))

Env priority for the backend URL: TARGET_BACKEND_BASE_URLBACKEND_OVERRIDESYNTH_BACKEND_URLBACKEND_BASE_URLNEXT_PUBLIC_API_URL → fallback to get_backend_from_env(). Required keys: SYNTH_API_KEY, ENVIRONMENT_API_KEY, plus any model keys used by your task app.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synth_ai-0.3.1.dev5.tar.gz (625.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synth_ai-0.3.1.dev5-py3-none-any.whl (761.6 kB view details)

Uploaded Python 3

File details

Details for the file synth_ai-0.3.1.dev5.tar.gz.

File metadata

  • Download URL: synth_ai-0.3.1.dev5.tar.gz
  • Upload date:
  • Size: 625.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for synth_ai-0.3.1.dev5.tar.gz
Algorithm Hash digest
SHA256 006f14bfb3f5bc4f68cecfbaa4ce702da08dcc5f78f502889b1b126fb245be59
MD5 b3fbd2fe8bd5324cdb32ec3ea95e333d
BLAKE2b-256 f5112f3e1318794b0f79b1631a11eff449afd2e1055117c54a83a79286db23aa

See more details on using hashes here.

File details

Details for the file synth_ai-0.3.1.dev5-py3-none-any.whl.

File metadata

  • Download URL: synth_ai-0.3.1.dev5-py3-none-any.whl
  • Upload date:
  • Size: 761.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for synth_ai-0.3.1.dev5-py3-none-any.whl
Algorithm Hash digest
SHA256 2e2ba1a95dfb84bf849eefa209b0926e003eaa45ebf6628b0e0f69efe3d88ee3
MD5 246ef1671c7aa0cc9dfc0978d74f4ac5
BLAKE2b-256 e3e641d68b0f3415ae1a6a825d7018bb63bc0dda7e46968d25096ca4b9d767d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page