pub enum PromptError {
CompletionError(CompletionError),
ToolError(ToolSetError),
ToolServerError(Box<ToolServerError>),
MaxTurnsError {
max_turns: usize,
chat_history: Box<Vec<Message>>,
prompt: Box<Message>,
},
PromptCancelled {
chat_history: Vec<Message>,
reason: String,
},
UnknownToolCall {
tool_name: String,
available_tools: Vec<String>,
allowed_tools: Vec<String>,
chat_history: Box<Vec<Message>>,
},
}Expand description
Prompt errors
Variants§
CompletionError(CompletionError)
Something went wrong with the completion
ToolError(ToolSetError)
There was an error while using a tool
ToolServerError(Box<ToolServerError>)
There was an issue while executing a tool on a tool server
MaxTurnsError
The LLM tried to call too many tools during a multi-turn conversation.
To fix this, you may either need to lower the amount of tools your model has access to (and then create other agents to share the tool load)
or increase the amount of turns given in .multi_turn().
PromptCancelled
A prompting loop was cancelled.
UnknownToolCall
The model emitted a structured tool call for a tool Rig did not allow for the current turn.
Trait Implementations§
Source§impl Debug for PromptError
impl Debug for PromptError
Source§impl Display for PromptError
impl Display for PromptError
Source§impl Error for PromptError
impl Error for PromptError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<Box<ToolServerError>> for PromptError
impl From<Box<ToolServerError>> for PromptError
Source§fn from(source: Box<ToolServerError>) -> Self
fn from(source: Box<ToolServerError>) -> Self
Source§impl From<CompletionError> for PromptError
impl From<CompletionError> for PromptError
Source§fn from(source: CompletionError) -> Self
fn from(source: CompletionError) -> Self
Source§impl From<MemoryError> for PromptError
Surface crate::memory::ConversationMemory failures through the existing
CompletionError::RequestError variant so adding memory support does not
require a new top-level PromptError arm in downstream exhaustive matchers.
impl From<MemoryError> for PromptError
Surface crate::memory::ConversationMemory failures through the existing
CompletionError::RequestError variant so adding memory support does not
require a new top-level PromptError arm in downstream exhaustive matchers.
Source§fn from(err: MemoryError) -> Self
fn from(err: MemoryError) -> Self
Source§impl From<ToolSetError> for PromptError
impl From<ToolSetError> for PromptError
Source§fn from(source: ToolSetError) -> Self
fn from(source: ToolSetError) -> Self
Auto Trait Implementations§
impl !Freeze for PromptError
impl !RefUnwindSafe for PromptError
impl Send for PromptError
impl Sync for PromptError
impl Unpin for PromptError
impl UnsafeUnpin for PromptError
impl !UnwindSafe for PromptError
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
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> 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>
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>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.