Skip to main content

ScriptedProviderBuilder

Struct ScriptedProviderBuilder 

Source
pub struct ScriptedProviderBuilder { /* private fields */ }
Expand description

Collects steps and capabilities for a ScriptedProvider.

Implementations§

Source§

impl ScriptedProviderBuilder

Source

pub fn capabilities(self, capabilities: ProviderCapabilities) -> Self

Declares capabilities, replacing the defaults.

They may be dishonest on purpose: a test of the no-silent-downgrade rule needs a profile that claims more than it delivers.

Source

pub fn streaming(self) -> Self

Declares streaming support, which ModelProvider::stream refuses without.

Source

pub fn structured_output(self, capability: StructuredOutputCapability) -> Self

Declares a structured-output transport.

Source

pub fn region(self, region: impl Into<String>) -> Self

Declares a region, so residency routing can be exercised.

Source

pub fn cost(self, input: MicroCents, output: MicroCents) -> Self

Declares per-million prices, so cost ceilings can be exercised.

Source

pub fn usage(self, usage: TokenUsage) -> Self

Reports this usage on every successful answer.

Source

pub fn latency(self, latency: Duration) -> Self

Reports this latency on every successful answer.

Source

pub fn step(self, step: ScriptStep) -> Self

Appends one step.

Source

pub fn reply(self, reply: ScriptedReply) -> Self

Appends a reply that accepts any purpose.

Source

pub fn reply_to(self, purpose: ModelPurpose, reply: ScriptedReply) -> Self

Appends a reply that only accepts calls made for purpose.

Source

pub fn text(self, text: impl Into<String>) -> Self

Appends prose.

Source

pub fn acknowledging(self, text: impl Into<String>) -> Self

Appends the acknowledgement a turn writes, text, and the review that passes it.

Source

pub fn answering(self, text: impl Into<String>) -> Self

Appends one answer, text.

Source

pub fn malformed_json(self, body: impl Into<String>) -> Self

Appends a body that is not JSON.

Source

pub fn refusing(self, text: impl Into<String>) -> Self

Appends a refusal.

Source

pub fn timing_out(self) -> Self

Appends a timeout.

Source

pub fn rate_limited(self, retry_after: Option<Duration>) -> Self

Appends a rate limit.

Source

pub fn failing(self, error: ProviderError) -> Self

Appends a normalized failure.

Source

pub fn streaming_chunks<I, S>(self, chunks: I) -> Self
where I: IntoIterator<Item = S>, S: Into<String>,

Appends a stream delivered in these chunks.

Source

pub fn build(self) -> ScriptedProvider

Builds the provider.

Source

pub fn build_shared(self) -> Arc<ScriptedProvider> ⓘ

Builds the provider behind an Arc, the shape routing and fallback take.

Trait Implementations§

Source§

impl Debug for ScriptedProviderBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more