pub struct SimpleExecutor { /* private fields */ }Expand description
A simple executor that processes user prompts and handles tool calls
Implementations§
Trait Implementations§
Source§impl AgentExecutor for SimpleExecutor
impl AgentExecutor for SimpleExecutor
type Output = Value
type Error = SimpleError
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
llm: Arc<dyn LLMProvider>,
task: Task,
state: Arc<Mutex<AgentState>>,
) -> Pin<Box<dyn Future<Output = Result<Self::Output, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
llm: Arc<dyn LLMProvider>,
task: Task,
state: Arc<Mutex<AgentState>>,
) -> Pin<Box<dyn Future<Output = Result<Self::Output, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Execute the agent with the given session
Source§fn process_turn<'life0, 'life1, 'async_trait>(
&'life0 self,
llm: Arc<dyn LLMProvider>,
messages: &'life1 mut Vec<ChatMessage>,
state: Arc<Mutex<AgentState>>,
) -> Pin<Box<dyn Future<Output = Result<TurnResult<Self::Output>, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn process_turn<'life0, 'life1, 'async_trait>(
&'life0 self,
llm: Arc<dyn LLMProvider>,
messages: &'life1 mut Vec<ChatMessage>,
state: Arc<Mutex<AgentState>>,
) -> Pin<Box<dyn Future<Output = Result<TurnResult<Self::Output>, Self::Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Process a single turn of conversation
Source§impl Clone for SimpleExecutor
impl Clone for SimpleExecutor
Source§fn clone(&self) -> SimpleExecutor
fn clone(&self) -> SimpleExecutor
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SimpleExecutor
impl !RefUnwindSafe for SimpleExecutor
impl Send for SimpleExecutor
impl Sync for SimpleExecutor
impl Unpin for SimpleExecutor
impl !UnwindSafe for SimpleExecutor
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