pub struct Executor { /* private fields */ }
Expand description
Executor is responsible for running the LLM and managing its context.
Trait Implementations§
Source§impl Executor for Executor
impl Executor for Executor
type StepTokenizer<'a> = MockTokenizer
Source§fn new_with_options(options: Options) -> Result<Self, ExecutorCreationError>
fn new_with_options(options: Options) -> Result<Self, ExecutorCreationError>
Create a new executor with the given options. If you don’t need to set any options, you can use the
new
method instead. Read morefn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
options: &'life1 Options,
prompt: &'life2 Prompt,
) -> Pin<Box<dyn Future<Output = Result<Output, ExecutorError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Source§fn tokens_used(
&self,
options: &Options,
prompt: &Prompt,
) -> Result<TokenCount, PromptTokensError>
fn tokens_used( &self, options: &Options, prompt: &Prompt, ) -> Result<TokenCount, PromptTokensError>
Calculates the number of tokens used by the step given a set of parameters. Read more
Source§fn max_tokens_allowed(&self, _: &Options) -> i32
fn max_tokens_allowed(&self, _: &Options) -> i32
Returns the maximum number of input tokens allowed by the model used. Read more
Source§fn answer_prefix(&self, _prompt: &Prompt) -> Option<String>
fn answer_prefix(&self, _prompt: &Prompt) -> Option<String>
Returns a possible answer prefix inserted by the model, during a certain prompt mode Read more
Source§fn get_tokenizer(
&self,
_: &Options,
) -> Result<Self::StepTokenizer<'_>, TokenizerError>
fn get_tokenizer( &self, _: &Options, ) -> Result<Self::StepTokenizer<'_>, TokenizerError>
Creates a tokenizer, depending on the model used by
step
. Read morefn new() -> Result<Self, ExecutorCreationError>
Auto Trait Implementations§
impl Freeze for Executor
impl RefUnwindSafe for Executor
impl Send for Executor
impl Sync for Executor
impl Unpin for Executor
impl UnwindSafe for Executor
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<E> ExecutorTokenCountExt for Ewhere
E: Executor,
impl<E> ExecutorTokenCountExt for Ewhere
E: Executor,
Source§fn split_to_fit(
&self,
step: &Step,
doc: &Parameters,
base_parameters: &Parameters,
chunk_overlap: Option<usize>,
) -> Result<Vec<Parameters>, PromptTokensError>
fn split_to_fit( &self, step: &Step, doc: &Parameters, base_parameters: &Parameters, chunk_overlap: Option<usize>, ) -> Result<Vec<Parameters>, PromptTokensError>
Splits a
Parameters
object into multiple smaller Parameters
objects that fit within
the context window size supported by the given model. Read more