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.
- Client
Builder - Configuration builder. API keys are omitted from debug output.
- Retry
Policy - 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.