Skip to content

API Reference: optillm-core

Complete API documentation for the optillm-core library.

Traits

Optimizer

Main trait for optimization implementations.

Rust
#[async_trait]
pub trait Optimizer: Send + Sync {
    async fn optimize(
        &self,
        query: &str,
        client: &dyn ModelClient,
    ) -> Result<Solution>;

    fn name(&self) -> &str;
    fn description(&self) -> &str;
}

ModelClient

Abstract interface for LLM providers.

Rust
pub trait ModelClient: Send + Sync {
    fn stream(
        &self,
        prompt: &Prompt,
    ) -> Pin<Box<dyn Stream<Item = Result<ResponseEvent>> + Send>>;
}

Types

Solution

Rust
pub struct Solution {
    pub agent_id: String,
    pub reasoning: String,
    pub answer: String,
    pub temperature: f32,
    pub token_count: usize,
    pub is_verified: bool,
    pub verification_score: f32,
    pub phase: GenerationPhase,
}

Prompt

Rust
pub struct Prompt {
    pub input: Vec<ResponseItem>,
    pub base_instructions_override: Option<String>,
    pub log_tag: Option<String>,
}

ResponseEvent

Rust
pub enum ResponseEvent {
    OutputTextDelta { delta: String },
    Completed { token_usage: Option<TokenUsage> },
}

TokenUsage

Rust
pub struct TokenUsage {
    pub input_tokens: usize,
    pub output_tokens: usize,
}

Error Types

OptillmError

Rust
pub enum OptillmError {
    InvalidConfiguration(String),
    ClientError(String),
    ParsingError(String),
    Timeout(String),
}

Result

Rust
pub type Result<T> = std::result::Result<T, OptillmError>;

Complete API

For complete API documentation with all methods and fields, run:

Bash
cargo doc -p optillm-core --open

See Core Library for usage guides.