pub struct Agent { /* private fields */ }Expand description
Agent that can use tools to accomplish tasks
Implementations§
Source§impl Agent
impl Agent
pub fn new(config: AgentConfig) -> Self
Sourcepub fn get_tool_descriptions(&self) -> String
pub fn get_tool_descriptions(&self) -> String
Get tool descriptions for the system prompt
Sourcepub async fn process_tool_calls(
&mut self,
response: &str,
) -> Result<Vec<(String, String)>>
pub async fn process_tool_calls( &mut self, response: &str, ) -> Result<Vec<(String, String)>>
Process a response and execute any tool calls
Sourcepub fn get_system_prompt(&self) -> String
pub fn get_system_prompt(&self) -> String
Get enhanced system prompt with tool descriptions
Auto Trait Implementations§
impl Freeze for Agent
impl !RefUnwindSafe for Agent
impl Send for Agent
impl Sync for Agent
impl Unpin for Agent
impl !UnwindSafe for Agent
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> 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