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.