pub struct ScriptedModel { /* private fields */ }Expand description
Returns pre-scripted responses in order and records every request.
Implementations§
Source§impl ScriptedModel
impl ScriptedModel
pub fn new(responses: Vec<ModelResponse>) -> Self
pub fn requests(&self) -> Vec<ModelRequest>
Trait Implementations§
Source§impl Model for ScriptedModel
impl Model for ScriptedModel
Source§fn pricing(&self) -> Option<Pricing>
fn pricing(&self) -> Option<Pricing>
$1 per million tokens of every kind, so tests can exercise USD budgets.
fn complete<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ModelRequest,
) -> Pin<Box<dyn Future<Output = Result<ModelResponse, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Source§fn stream<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ModelRequest,
) -> Pin<Box<dyn Future<Output = Result<ModelStream, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn stream<'life0, 'life1, 'async_trait>(
&'life0 self,
request: &'life1 ModelRequest,
) -> Pin<Box<dyn Future<Output = Result<ModelStream, ModelError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Stream the response as it is generated. The stream always ends with
StreamEvent::Completed carrying the full response. The default
implementation calls Model::complete and replays it as deltas.Source§fn cost_usd(&self, response: &ModelResponse) -> Option<f64>
fn cost_usd(&self, response: &ModelResponse) -> Option<f64>
Cost of a response in USD, if pricing is configured.
Source§fn max_call_cost(&self, input_tokens: u64, output_tokens: u64) -> Option<f64>
fn max_call_cost(&self, input_tokens: u64, output_tokens: u64) -> Option<f64>
Upper bound in USD for one call with this many input and output
tokens, counting every attempt a composite model might make. Input is
priced at the higher of the input and cache-write rates.
Source§fn unpriced_models(&self) -> Vec<String>
fn unpriced_models(&self) -> Vec<String>
Ids of models (including any inside a composite) that have no
pricing. A USD budget cannot be enforced while this is non-empty.
Auto Trait Implementations§
impl !Freeze for ScriptedModel
impl RefUnwindSafe for ScriptedModel
impl Send for ScriptedModel
impl Sync for ScriptedModel
impl Unpin for ScriptedModel
impl UnsafeUnpin for ScriptedModel
impl UnwindSafe for ScriptedModel
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