pub struct GoalEvaluator { /* private fields */ }Expand description
Calls the LLM provider to decide whether a goal condition is met.
Implementations§
Source§impl GoalEvaluator
impl GoalEvaluator
Sourcepub fn new(provider: Arc<dyn LlmProvider>) -> Self
pub fn new(provider: Arc<dyn LlmProvider>) -> Self
Create an evaluator backed by provider.
Sourcepub async fn evaluate(
&self,
condition: &str,
transcript: &[Message],
) -> Result<GoalVerdict>
pub async fn evaluate( &self, condition: &str, transcript: &[Message], ) -> Result<GoalVerdict>
Evaluate condition against the last N messages of transcript.
Calls the provider with a minimal YES/NO prompt (max_tokens ≈ 256 via
a short system instruction). The first word of the response determines
the verdict; any remaining text is kept as reason.
Auto Trait Implementations§
impl !RefUnwindSafe for GoalEvaluator
impl !UnwindSafe for GoalEvaluator
impl Freeze for GoalEvaluator
impl Send for GoalEvaluator
impl Sync for GoalEvaluator
impl Unpin for GoalEvaluator
impl UnsafeUnpin for GoalEvaluator
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
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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