oxirs_embed/contextual/
interactive_refinement.rs

1//! Interactive refinement for contextual embeddings
2
3use chrono::{DateTime, Utc};
4use uuid::Uuid;
5
6/// Interactive context from user feedback
7#[derive(Debug, Clone)]
8pub struct InteractiveContext {
9    pub session_id: String,
10    pub feedback_history: Vec<UserFeedback>,
11    pub adaptation_score: f32,
12    pub confidence_level: f32,
13}
14
15/// User feedback for interactive refinement
16#[derive(Debug, Clone)]
17pub struct UserFeedback {
18    pub feedback_id: Uuid,
19    pub timestamp: DateTime<Utc>,
20    pub feedback_type: FeedbackType,
21    pub score: f32,
22    pub text_feedback: Option<String>,
23}
24
25/// Types of user feedback
26#[derive(Debug, Clone)]
27pub enum FeedbackType {
28    Relevance,
29    Quality,
30    Preference,
31    Correction,
32    Satisfaction,
33}