Skip to main content

Module api

Module api 

Source
Expand description

Synth API client.

This module provides a client for interacting with the Synth AI API.

§Example

use synth_ai_core::api::{SynthClient, GepaJobRequest, PolicyConfig};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = SynthClient::from_env()?;

    // Submit a GEPA job
    let job_id = client.jobs().submit_gepa(GepaJobRequest {
        task_app_url: "http://localhost:8000".into(),
        env_name: "default".into(),
        policy: PolicyConfig::default(),
        ..Default::default()
    }).await?;

    // Poll until complete
    let result = client.jobs().poll_until_complete(&job_id, 3600.0, 15.0).await?;
    println!("Best score: {:?}", result.best_score);

    Ok(())
}

Re-exports§

pub use client::SynthClient;
pub use types::PolicyJobStatus;
pub use types::EvalJobStatus;
pub use types::PolicyConfig;
pub use types::GepaConfig;
pub use types::MiproConfig;
pub use types::GepaJobRequest;
pub use types::MiproJobRequest;
pub use types::EvalJobRequest;
pub use types::JobSubmitResponse;
pub use types::PromptLearningResult;
pub use types::EvalResult;
pub use types::GraphCompletionRequest;
pub use types::GraphCompletionResponse;
pub use types::VerifierOptions;
pub use types::VerifierResponse;
pub use types::RlmOptions;
pub use types::Usage;
pub use jobs::JobsClient;
pub use eval::EvalClient;
pub use graphs::GraphsClient;

Modules§

client
Main Synth API client.
eval
Eval API client.
graphs
Graphs API client.
jobs
Jobs API client.
types
API request and response types.