pub struct SearchIntent {
pub intent_type: SearchIntentType,
pub confidence: f32,
pub keywords: Vec<String>,
pub topics: Vec<String>,
pub source: DetectionSource,
}Expand description
Result of search intent detection.
Contains the detected intent type, confidence score, matched keywords, extracted topics, and detection source.
Fields§
§intent_type: SearchIntentTypeThe type of search intent detected.
confidence: f32Confidence score (0.0 to 1.0).
keywords: Vec<String>Keywords that triggered the detection.
topics: Vec<String>Extracted topics from the prompt.
source: DetectionSourceHow the intent was detected.
Implementations§
Source§impl SearchIntent
impl SearchIntent
Sourcepub fn new(intent_type: SearchIntentType) -> Self
pub fn new(intent_type: SearchIntentType) -> Self
Creates a new SearchIntent with the given type.
Sourcepub const fn with_confidence(self, confidence: f32) -> Self
pub const fn with_confidence(self, confidence: f32) -> Self
Sets the confidence score.
Sourcepub fn with_keywords(self, keywords: Vec<String>) -> Self
pub fn with_keywords(self, keywords: Vec<String>) -> Self
Sets the matched keywords.
Sourcepub fn with_topics(self, topics: Vec<String>) -> Self
pub fn with_topics(self, topics: Vec<String>) -> Self
Sets the extracted topics.
Sourcepub const fn with_source(self, source: DetectionSource) -> Self
pub const fn with_source(self, source: DetectionSource) -> Self
Sets the detection source.
Sourcepub fn is_high_confidence(&self) -> bool
pub fn is_high_confidence(&self) -> bool
Returns whether this is a high-confidence detection (≥ 0.8).
Sourcepub fn is_medium_confidence(&self) -> bool
pub fn is_medium_confidence(&self) -> bool
Returns whether this is a medium-confidence detection (≥ 0.5).
Sourcepub const fn recommended_memory_count(&self) -> usize
pub const fn recommended_memory_count(&self) -> usize
Returns the recommended memory count based on confidence.
- High confidence (≥ 0.8): 15 memories
- Medium confidence (≥ 0.5): 10 memories
- Low confidence (< 0.5): 5 memories
Trait Implementations§
Source§impl Clone for SearchIntent
impl Clone for SearchIntent
Source§fn clone(&self) -> SearchIntent
fn clone(&self) -> SearchIntent
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SearchIntent
impl Debug for SearchIntent
Source§impl Default for SearchIntent
impl Default for SearchIntent
Source§impl<'de> Deserialize<'de> for SearchIntent
impl<'de> Deserialize<'de> for SearchIntent
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SearchIntent
impl RefUnwindSafe for SearchIntent
impl Send for SearchIntent
impl Sync for SearchIntent
impl Unpin for SearchIntent
impl UnwindSafe for SearchIntent
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Applies the layer to a service and wraps it in [
Layered].