pub struct SemanticRecallParams<'a> {
pub query: &'a str,
pub token_budget: usize,
pub recall_limit: usize,
pub context_format: ContextFormat,
pub conversation_id: Option<ConversationId>,
pub tiered_classifier: Option<&'a Arc<AnyProvider>>,
pub tiered_validator: Option<&'a Arc<AnyProvider>>,
pub tiered_config: &'a TieredRetrievalConfig,
}Expand description
Configuration parameters for semantic recall injection.
Collects the 8 config-like arguments shared between the tiered and flat recall paths so
callers do not need to pass them positionally to ContextService::inject_semantic_recall_bare.
window and memory are kept as direct parameters on the method because they are
mutable/output args rather than configuration.
Fields§
§query: &'a strQuery string used for retrieval.
token_budget: usizeMaximum number of tokens the injected recall may consume.
recall_limit: usizeMaximum number of memories to retrieve (flat path only).
context_format: ContextFormatFormat applied when serialising recalled memories.
conversation_id: Option<ConversationId>Conversation scope used for tiered retrieval.
tiered_classifier: Option<&'a Arc<AnyProvider>>Optional LLM provider for intent classification (tiered path).
tiered_validator: Option<&'a Arc<AnyProvider>>Optional LLM provider for result validation (tiered path).
tiered_config: &'a TieredRetrievalConfigTiered retrieval configuration controlling whether the tiered path is active.
Auto Trait Implementations§
impl<'a> Freeze for SemanticRecallParams<'a>
impl<'a> !RefUnwindSafe for SemanticRecallParams<'a>
impl<'a> Send for SemanticRecallParams<'a>
impl<'a> Sync for SemanticRecallParams<'a>
impl<'a> Unpin for SemanticRecallParams<'a>
impl<'a> UnsafeUnpin for SemanticRecallParams<'a>
impl<'a> !UnwindSafe for SemanticRecallParams<'a>
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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request