pub struct InferenceRunner<'a, S, E> { /* private fields */ }Implementations§
Source§impl<'a, S: MaybeSync, E: InferenceEffect> InferenceRunner<'a, S, E>
impl<'a, S: MaybeSync, E: InferenceEffect> InferenceRunner<'a, S, E>
pub fn new(provider: Arc<dyn Provider>, model_config: ModelConfig) -> Self
pub fn with_request_preparer( self, request_preparer: Arc<dyn InferenceRequestPreparer<S> + 'a>, ) -> Self
Trait Implementations§
Source§impl<S: MachineSession, E: InferenceEffect> Inference<S, E> for InferenceRunner<'_, S, E>
impl<S: MachineSession, E: InferenceEffect> Inference<S, E> for InferenceRunner<'_, S, E>
Source§fn applies(&self, conversation: &Conversation) -> bool
fn applies(&self, conversation: &Conversation) -> bool
Whether the next step would reach the provider. The machine asks before
firing the hooks that mark the start of a turn.
fn prepare_session<'life0, 'life1, 'async_trait>(
&'life0 self,
session: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<Option<S>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn infer<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
session: &'life1 S,
conversation: &'life2 Conversation,
input: InferenceInput,
emit: &'life3 Emitter,
) -> Pin<Box<dyn Future<Output = Result<OperationResult<E>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§impl<S: MaybeSync, E: InferenceEffect> Operation<S, E> for InferenceRunner<'_, S, E>
impl<S: MaybeSync, E: InferenceEffect> Operation<S, E> for InferenceRunner<'_, S, E>
fn name(&self) -> &'static str
fn finalize_cancellation<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_session: &'life1 S,
_conversation: &'life2 Conversation,
_emit: &'life3 Emitter,
) -> Pin<Box<dyn Future<Output = Vec<E>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Source§fn set_message_meta(&self, message: &mut Message, key: &str, value: Value)
fn set_message_meta(&self, message: &mut Message, key: &str, value: Value)
Note on a message something this operation did, so that a pipeline rebuilt
from the persisted conversation reaches the same conclusion. Notes record
past actions only — anything an operation would have to compute again does
not belong here.
fn message_meta<'a>(&self, message: &'a Message, key: &str) -> Option<&'a Value>
fn run_command<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 self,
_command: &'life1 SlashCommand<'life2>,
_session: &'life3 S,
_conversation: &'life4 Conversation,
_emit: &'life5 Emitter,
) -> Pin<Box<dyn Future<Output = Result<OperationResult<E>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn inference_tools<'life0, 'life1, 'async_trait>(
&'life0 self,
_session: &'life1 S,
) -> Pin<Box<dyn Future<Output = Result<Vec<Tool>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn prompt_parts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_session: &'life1 S,
_conversation: &'life2 Conversation,
) -> Pin<Box<dyn Future<Output = Result<Vec<(String, String)>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn moim_parts<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_session: &'life1 S,
_conversation: &'life2 Conversation,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn run<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
_session: &'life1 S,
_conversation: &'life2 Conversation,
_emit: &'life3 Emitter,
) -> Pin<Box<dyn Future<Output = Result<OperationResult<E>>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Auto Trait Implementations§
impl<'a, S, E> !Freeze for InferenceRunner<'a, S, E>
impl<'a, S, E> !RefUnwindSafe for InferenceRunner<'a, S, E>
impl<'a, S, E> !UnwindSafe for InferenceRunner<'a, S, E>
impl<'a, S, E> Send for InferenceRunner<'a, S, E>
impl<'a, S, E> Sync for InferenceRunner<'a, S, E>
impl<'a, S, E> Unpin for InferenceRunner<'a, S, E>
impl<'a, S, E> UnsafeUnpin for InferenceRunner<'a, S, E>
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
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> 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> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Converts this value into a three-state builder argument.
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Converts this value into an optional builder argument.