pub struct TestModel { /* private fields */ }Expand description
Deterministic model that returns scripted responses.
Implementations§
Source§impl TestModel
impl TestModel
Sourcepub fn with_responses(responses: Vec<ModelResponse>) -> Self
pub fn with_responses(responses: Vec<ModelResponse>) -> Self
Create a test model with scripted responses in call order.
Sourcepub fn with_stream_events(events: Vec<Vec<ModelResponseStreamEvent>>) -> Self
pub fn with_stream_events(events: Vec<Vec<ModelResponseStreamEvent>>) -> Self
Create a test model with scripted stream event batches in call order.
Sourcepub fn with_model_name(self, model_name: impl Into<String>) -> Self
pub fn with_model_name(self, model_name: impl Into<String>) -> Self
Set model name.
Sourcepub fn with_profile(self, profile: ModelProfile) -> Self
pub fn with_profile(self, profile: ModelProfile) -> Self
Set model profile.
Sourcepub fn with_default_settings(self, settings: ModelSettings) -> Self
pub fn with_default_settings(self, settings: ModelSettings) -> Self
Set model default settings.
Sourcepub fn captured_messages(&self) -> Vec<Vec<ModelMessage>>
pub fn captured_messages(&self) -> Vec<Vec<ModelMessage>>
Return captured request histories.
Sourcepub fn captured_params(&self) -> Vec<ModelRequestParameters>
pub fn captured_params(&self) -> Vec<ModelRequestParameters>
Return captured request parameters.
Trait Implementations§
Source§impl ModelAdapter for TestModel
impl ModelAdapter for TestModel
Source§fn model_name(&self) -> &str
fn model_name(&self) -> &str
Provider model name.
Source§fn provider_name(&self) -> Option<&str>
fn provider_name(&self) -> Option<&str>
Provider name.
Source§fn profile(&self) -> &ModelProfile
fn profile(&self) -> &ModelProfile
Model capability profile.
Source§fn default_settings(&self) -> Option<&ModelSettings>
fn default_settings(&self) -> Option<&ModelSettings>
Default generation settings.
Source§fn request<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ModelMessage>,
_settings: Option<ModelSettings>,
params: ModelRequestParameters,
_context: ModelRequestContext,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn request<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ModelMessage>,
_settings: Option<ModelSettings>,
params: ModelRequestParameters,
_context: ModelRequestContext,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Perform a complete model request.
Source§fn request_stream<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ModelMessage>,
settings: Option<ModelSettings>,
params: ModelRequestParameters,
context: ModelRequestContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<ModelResponseStreamEvent>, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn request_stream<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ModelMessage>,
settings: Option<ModelSettings>,
params: ModelRequestParameters,
context: ModelRequestContext,
) -> Pin<Box<dyn Future<Output = Result<Vec<ModelResponseStreamEvent>, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stream a model request as canonical response part deltas.
Source§fn request_stream_incremental<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ModelMessage>,
_settings: Option<ModelSettings>,
params: ModelRequestParameters,
_context: ModelRequestContext,
) -> Pin<Box<dyn Future<Output = Result<ModelResponseEventStream, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn request_stream_incremental<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ModelMessage>,
_settings: Option<ModelSettings>,
params: ModelRequestParameters,
_context: ModelRequestContext,
) -> Pin<Box<dyn Future<Output = Result<ModelResponseEventStream, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stream a model request and yield canonical events as they arrive.
Source§fn start_run_session(&self) -> Box<dyn ModelRunSession + '_>
fn start_run_session(&self) -> Box<dyn ModelRunSession + '_>
Create a run-scoped session for agent loops that may issue multiple model requests.
Source§fn request_stream_final<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ModelMessage>,
settings: Option<ModelSettings>,
params: ModelRequestParameters,
context: ModelRequestContext,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn request_stream_final<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ModelMessage>,
settings: Option<ModelSettings>,
params: ModelRequestParameters,
context: ModelRequestContext,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Stream a model request and return the assembled final response.
Source§fn count_tokens<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_messages: &'life1 [ModelMessage],
_settings: Option<&'life2 ModelSettings>,
_params: &'life3 ModelRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<Usage, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn count_tokens<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_messages: &'life1 [ModelMessage],
_settings: Option<&'life2 ModelSettings>,
_params: &'life3 ModelRequestParameters,
) -> Pin<Box<dyn Future<Output = Result<Usage, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Count tokens for a request where provider support exists.
Auto Trait Implementations§
impl Freeze for TestModel
impl RefUnwindSafe for TestModel
impl Send for TestModel
impl Sync for TestModel
impl Unpin for TestModel
impl UnsafeUnpin for TestModel
impl UnwindSafe for TestModel
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
Mutably borrows from an owned value. Read more