pub struct DefaultContext { /* private fields */ }
Implementations§
Source§impl DefaultContext
impl DefaultContext
Sourcepub fn from_executor<T: Into<Arc<dyn ToolExecutor>>>(
executor: T,
) -> DefaultContext
pub fn from_executor<T: Into<Arc<dyn ToolExecutor>>>( executor: T, ) -> DefaultContext
Create a new context with a custom executor
Sourcepub fn with_stop_on_assistant(&mut self, stop: bool) -> &mut Self
pub fn with_stop_on_assistant(&mut self, stop: bool) -> &mut Self
If set to true, the agent will stop if the last message is from the assistant (i.e. no new tool calls, summaries or user messages)
Trait Implementations§
Source§impl AgentContext for DefaultContext
impl AgentContext for DefaultContext
Source§fn next_completion<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<Vec<ChatMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn next_completion<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Option<Vec<ChatMessage>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieve messages for the next completion
Source§fn current_new_messages<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Vec<ChatMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn current_new_messages<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Vec<ChatMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns the messages the agent is currently completing on
Source§fn history<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Vec<ChatMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn history<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Vec<ChatMessage>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieve all messages in the conversation history
Source§fn add_messages<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ChatMessage>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_messages<'life0, 'async_trait>(
&'life0 self,
messages: Vec<ChatMessage>,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add multiple messages to the conversation history
Source§fn add_message<'life0, 'async_trait>(
&'life0 self,
item: ChatMessage,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn add_message<'life0, 'async_trait>(
&'life0 self,
item: ChatMessage,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Add a single message to the conversation history
Source§fn exec_cmd<'life0, 'life1, 'async_trait>(
&'life0 self,
cmd: &'life1 Command,
) -> Pin<Box<dyn Future<Output = Result<CommandOutput, CommandError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn exec_cmd<'life0, 'life1, 'async_trait>(
&'life0 self,
cmd: &'life1 Command,
) -> Pin<Box<dyn Future<Output = Result<CommandOutput, CommandError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute a command in the tool executor
Source§fn redrive<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn redrive<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Pops the last messages up until the previous completion
LLMs failing completion for various reasons is unfortunately a common occurrence This gives a way to redrive the last completion in a generic way
Source§impl Clone for DefaultContext
impl Clone for DefaultContext
Source§fn clone(&self) -> DefaultContext
fn clone(&self) -> DefaultContext
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for DefaultContext
impl Debug for DefaultContext
Auto Trait Implementations§
impl Freeze for DefaultContext
impl !RefUnwindSafe for DefaultContext
impl Send for DefaultContext
impl Sync for DefaultContext
impl Unpin for DefaultContext
impl !UnwindSafe for DefaultContext
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more