pub struct EngagementMetrics {
pub total_turns: usize,
pub avg_response_length: f64,
pub question_answer_ratio: f64,
pub topic_coherence: f64,
pub avg_sentiment: f64,
pub dominant_topics: Vec<String>,
pub user_engagement_score: f64,
}Expand description
Aggregate engagement metrics for a whole conversation.
Fields§
§total_turns: usizeTotal number of turns.
avg_response_length: f64Average word count per turn.
question_answer_ratio: f64Ratio of questions to total turns.
topic_coherence: f64Average Jaccard similarity between consecutive turns’ keywords.
avg_sentiment: f64Mean sentiment score across all turns.
dominant_topics: Vec<String>Most frequent keywords across the conversation.
user_engagement_score: f64Composite user engagement score in [0.0, 1.0].
Trait Implementations§
Source§impl Clone for EngagementMetrics
impl Clone for EngagementMetrics
Source§fn clone(&self) -> EngagementMetrics
fn clone(&self) -> EngagementMetrics
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for EngagementMetrics
impl RefUnwindSafe for EngagementMetrics
impl Send for EngagementMetrics
impl Sync for EngagementMetrics
impl Unpin for EngagementMetrics
impl UnsafeUnpin for EngagementMetrics
impl UnwindSafe for EngagementMetrics
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request