Skip to main content

Crate synth_ai

Crate synth_ai 

Source
Expand description

§Synth AI SDK

Ergonomic Rust SDK for Synth AI - serverless post-training APIs.

§Quick Start

use synth_ai::Synth;

#[tokio::main]
async fn main() -> Result<(), synth_ai::Error> {
    // Create client from SYNTH_API_KEY env var
    let synth = Synth::from_env()?;

    // Submit a prompt optimization job
    let result = synth
        .optimize()
        .task_app("https://my-task-app.com")
        .model("gpt-4o")
        .run()
        .await?;

    println!("Best prompt: {:?}", result.best_prompt);
    Ok(())
}

Re-exports§

pub use synth_ai_core as core;
pub use synth_ai_core_types as types;

Structs§

Artifact
An artifact produced during a rollout or evaluation.
CandidateInfo
Information about a single candidate.
ContextOverride
A context override containing file artifacts, env vars, and scripts.
CoreClient
Synth API client.
Criterion
A single evaluation criterion.
EvalBuilder
Builder for evaluation jobs.
EvalJobRequest
Request to submit an evaluation job.
GEPAProgress
Overall GEPA progress state.
GepaJobRequest
Request to submit a GEPA optimization job.
GraphCompletionRequest
Request for a graph completion.
GraphCompletionResponse
Response from a graph completion.
JobStreamer
Job streamer that polls endpoints and dispatches to handlers.
MiproJobRequest
Request to submit a MIPRO optimization job.
ObjectiveSpec
Specification for an optimization objective.
OptimizeBuilder
Builder for prompt optimization jobs.
OptimizeResult
Result of a prompt optimization job.
ProgressTracker
Progress tracker that aggregates events into state.
PromptLearningJob
High-level prompt learning job orchestration.
PromptLearningResult
Result of a policy optimization job (GEPA/MIPRO).
PromptResults
Extracted prompt results.
RankedPrompt
Ranked prompt from results.
Rubric
A rubric containing multiple evaluation criteria.
SessionTracer
Session tracer for recording traces.
StreamConfig
Configuration for stream filtering and behavior.
StreamEndpoints
Endpoint configuration for streaming from a job.
StreamMessage
A message from a job stream.
Synth
Main Synth AI client.
TunnelHandle
VerifierOptions
Options for verifier inference.
VerifierResponse
Response from verifier inference.

Enums§

CoreError
Unified error enum for all Synth core errors.
Error
SDK error type.
EvalJobStatus
Status for evaluation jobs.
JobType
Type of optimization/training job.
PolicyJobStatus
Status for policy optimization jobs (GEPA, MIPRO).
StreamType
Type of stream data.
TracingEvent
Unified event type using tagged enum.
TunnelBackend
TunnelError

Constants§

API_KEY_ENV
Environment variable for API key.
DEFAULT_BASE_URL
Default Synth API base URL.
VERSION
SDK version.

Traits§

StreamHandler
Trait for handling stream messages.

Functions§

eval
Create a client from environment and run a quick evaluation.
open_tunnel
optimize
Create a client from environment and run a quick optimization.

Type Aliases§

Result
Result type alias.