Skip to main content

Crate jevapi

Crate jevapi 

Source
Expand description

An asynchronous Rust client for TypeSafe AI.

Uses a Tokio runtime. Cloned clients share their HTTP connection pool.

use jevapi::{Client, EvaluationRequest, Question, Answer};

let client = Client::from_env()?;
let request = EvaluationRequest::new("The deployment failed; please help.")
    .question("urgent", Question::noul("Does the message express urgency?"));
let response = client.evaluate(&request).await?;
if let Some(Answer::Noul { noul }) = response.answers.get("urgent") {
    println!("Urgency probability: {noul}");
}

Re-exports§

pub use error::ApiError;
pub use error::Error;
pub use error::ValidationError;
pub use types::Answer;
pub use types::Content;
pub use types::EvaluationRequest;
pub use types::EvaluationResponse;
pub use types::NoulCriteria;
pub use types::Question;
pub use types::Usage;

Modules§

error
Errors from configuration, request validation, transport, and the service.
types
Typed representations of the evaluation API’s JSON schema.

Structs§

Client
An asynchronous client backed by a shared HTTP connection pool.
ClientBuilder
Configuration builder. API keys are omitted from debug output.
RetryPolicy
Bounded exponential backoff with jitter for HTTP 429 and 529 responses.

Constants§

DEFAULT_BASE_URL
The API base URL, including the version prefix.
DEFAULT_MODEL
The default model alias. Explicit version strings are also accepted.