pub struct RlmExecutor { /* private fields */ }Expand description
LLM-powered RLM executor
This is the main entry point for RLM processing. It:
- Loads context into a REPL environment
- Lets the LLM write analysis code
- Executes the code and provides llm_query() for semantic sub-calls
- Iterates until the LLM returns a FINAL answer
Implementations§
Source§impl RlmExecutor
impl RlmExecutor
Sourcepub fn new(context: String, provider: Arc<dyn Provider>, model: String) -> Self
pub fn new(context: String, provider: Arc<dyn Provider>, model: String) -> Self
Create a new RLM executor
Sourcepub fn with_max_iterations(self, max: usize) -> Self
pub fn with_max_iterations(self, max: usize) -> Self
Set maximum iterations
Sourcepub fn with_verbose(self, verbose: bool) -> Self
pub fn with_verbose(self, verbose: bool) -> Self
Enable or disable verbose mode
When verbose is true, the context summary will be displayed at the start of analysis to help users understand what’s being analyzed.
Sourcepub async fn analyze(&mut self, query: &str) -> Result<RlmAnalysisResult>
pub async fn analyze(&mut self, query: &str) -> Result<RlmAnalysisResult>
Execute RLM analysis with the given query
Auto Trait Implementations§
impl Freeze for RlmExecutor
impl !RefUnwindSafe for RlmExecutor
impl Send for RlmExecutor
impl Sync for RlmExecutor
impl Unpin for RlmExecutor
impl !UnwindSafe for RlmExecutor
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