pub struct AgentStep {
pub step_number: usize,
pub thought: String,
pub follow_up_question: Option<String>,
pub search_results: Option<Vec<SearchResultRef>>,
pub is_final: bool,
pub final_answer: Option<String>,
}Expand description
A step in the agent’s reasoning process (self-ask-with-search pattern)
Fields§
§step_number: usizeStep number
thought: StringThe agent’s current thought
follow_up_question: Option<String>Optional follow-up question
search_results: Option<Vec<SearchResultRef>>Search results for this step
is_final: boolWhether this is the final answer step
final_answer: Option<String>Final answer (if is_final = true)
Implementations§
Source§impl AgentStep
impl AgentStep
Sourcepub fn follow_up(
step_number: usize,
thought: impl Into<String>,
question: impl Into<String>,
) -> Self
pub fn follow_up( step_number: usize, thought: impl Into<String>, question: impl Into<String>, ) -> Self
Create a follow-up question step
Sourcepub fn final_answer(
step_number: usize,
thought: impl Into<String>,
answer: impl Into<String>,
) -> Self
pub fn final_answer( step_number: usize, thought: impl Into<String>, answer: impl Into<String>, ) -> Self
Create a final answer step
Sourcepub fn with_search_results(self, results: Vec<SearchResultRef>) -> Self
pub fn with_search_results(self, results: Vec<SearchResultRef>) -> Self
Add search results to this step
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AgentStep
impl<'de> Deserialize<'de> for AgentStep
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for AgentStep
impl RefUnwindSafe for AgentStep
impl Send for AgentStep
impl Sync for AgentStep
impl Unpin for AgentStep
impl UnwindSafe for AgentStep
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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> 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