pub struct AgentRequirements {
pub max_cost_class: CostClass,
pub max_latency_ms: u32,
pub requires_reasoning: bool,
pub requires_web_search: bool,
pub min_quality: f64,
pub data_sovereignty: DataSovereignty,
pub compliance: ComplianceLevel,
pub requires_multilingual: bool,
}Expand description
Requirements for an agent’s LLM usage.
Agents specify their requirements, and the model selector finds the best matching model.
Fields§
§max_cost_class: CostClassMaximum acceptable cost class.
max_latency_ms: u32Maximum acceptable latency in milliseconds.
requires_reasoning: boolWhether the agent requires advanced reasoning capabilities.
requires_web_search: boolWhether the agent requires web search capabilities.
min_quality: f64Minimum quality threshold (0.0-1.0). Higher values prefer more capable models.
data_sovereignty: DataSovereigntyData sovereignty requirements.
compliance: ComplianceLevelCompliance and explainability requirements.
requires_multilingual: boolWhether the agent requires multi-language support.
Implementations§
Source§impl AgentRequirements
impl AgentRequirements
Sourcepub fn fast_cheap() -> Self
pub fn fast_cheap() -> Self
Creates requirements for a fast, cheap agent (many instances).
Use case: High-volume agents that need quick, cost-effective responses.
Sourcepub fn deep_research() -> Self
pub fn deep_research() -> Self
Creates requirements for a deep research agent.
Use case: Agents that need thorough analysis and reasoning.
Sourcepub fn balanced() -> Self
pub fn balanced() -> Self
Creates requirements for a balanced agent.
Use case: General-purpose agents with moderate requirements.
Sourcepub fn new(
max_cost_class: CostClass,
max_latency_ms: u32,
requires_reasoning: bool,
) -> Self
pub fn new( max_cost_class: CostClass, max_latency_ms: u32, requires_reasoning: bool, ) -> Self
Creates custom requirements.
Sourcepub fn with_web_search(self, requires: bool) -> Self
pub fn with_web_search(self, requires: bool) -> Self
Sets web search requirement.
Sourcepub fn with_min_quality(self, quality: f64) -> Self
pub fn with_min_quality(self, quality: f64) -> Self
Sets minimum quality threshold.
Sourcepub fn with_data_sovereignty(self, sovereignty: DataSovereignty) -> Self
pub fn with_data_sovereignty(self, sovereignty: DataSovereignty) -> Self
Sets data sovereignty requirement.
Sourcepub fn with_compliance(self, compliance: ComplianceLevel) -> Self
pub fn with_compliance(self, compliance: ComplianceLevel) -> Self
Sets compliance requirement.
Sourcepub fn with_multilingual(self, requires: bool) -> Self
pub fn with_multilingual(self, requires: bool) -> Self
Sets multilingual requirement.
Trait Implementations§
Source§impl Clone for AgentRequirements
impl Clone for AgentRequirements
Source§fn clone(&self) -> AgentRequirements
fn clone(&self) -> AgentRequirements
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AgentRequirements
impl Debug for AgentRequirements
Source§impl PartialEq for AgentRequirements
impl PartialEq for AgentRequirements
impl StructuralPartialEq for AgentRequirements
Auto Trait Implementations§
impl Freeze for AgentRequirements
impl RefUnwindSafe for AgentRequirements
impl Send for AgentRequirements
impl Sync for AgentRequirements
impl Unpin for AgentRequirements
impl UnwindSafe for AgentRequirements
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more