Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| from datetime import datetime | |
| from sqlalchemy import ( | |
| Boolean, | |
| Column, | |
| DateTime, | |
| Float, | |
| ForeignKey, | |
| Index, | |
| Integer, | |
| String, | |
| Text, | |
| ) | |
| from src.personalization_module.preference_acquisition.preference_memory.db import Base | |
| class DecisionEvent(Base): | |
| __tablename__ = "decision_events" | |
| id = Column(Integer, primary_key=True) | |
| request_id = Column(String, unique=True, nullable=False) | |
| user_node_id = Column(Integer, ForeignKey("nodes.id"), nullable=False, index=True) | |
| task_id = Column(String, nullable=True) | |
| action_input_json = Column(Text, nullable=False, default="{}") | |
| context_input_json = Column(Text, nullable=False, default="{}") | |
| preference_snapshot_json = Column(Text, nullable=False, default="[]") | |
| predicted_decision = Column(String, nullable=False) | |
| class_scores_json = Column(Text, nullable=False, default="{}") | |
| confidence = Column(Float, nullable=True) | |
| runner_up_json = Column(Text, nullable=False, default="{}") | |
| model_name = Column(String, nullable=True) | |
| model_version = Column(String, nullable=True) | |
| feature_schema_version = Column(String, nullable=True) | |
| timestamp_utc = Column(DateTime, nullable=False, default=datetime.utcnow, index=True) | |
| created_at = Column(DateTime, nullable=False, default=datetime.utcnow) | |
| Index( | |
| "ix_decision_events_user_created_at", | |
| DecisionEvent.user_node_id, | |
| DecisionEvent.created_at, | |
| ) | |
| class FeedbackEvent(Base): | |
| __tablename__ = "feedback_events" | |
| id = Column(Integer, primary_key=True) | |
| request_id = Column(String, nullable=True, index=True) | |
| user_node_id = Column(Integer, ForeignKey("nodes.id"), nullable=False, index=True) | |
| feedback_id = Column(String, nullable=True, unique=True) | |
| predicted_decision = Column(String, nullable=True) | |
| feedback_type = Column(String, nullable=False) | |
| correct_decision = Column(String, nullable=True) | |
| free_text = Column(Text, nullable=True) | |
| preference_updates_json = Column(Text, nullable=False, default="[]") | |
| graph_update_summary_json = Column(Text, nullable=False, default="{}") | |
| timestamp_utc = Column(DateTime, nullable=False, default=datetime.utcnow, index=True) | |
| applied_to_graph = Column(Boolean, nullable=False, default=False) | |
| created_at = Column(DateTime, nullable=False, default=datetime.utcnow) | |
| Index( | |
| "ix_feedback_events_user_created_at", | |
| FeedbackEvent.user_node_id, | |
| FeedbackEvent.created_at, | |
| ) | |
| class TrainingSample(Base): | |
| __tablename__ = "training_samples" | |
| id = Column(Integer, primary_key=True) | |
| decision_event_id = Column( | |
| Integer, | |
| ForeignKey("decision_events.id"), | |
| nullable=False, | |
| index=True, | |
| ) | |
| feedback_event_id = Column( | |
| Integer, | |
| ForeignKey("feedback_events.id"), | |
| nullable=True, | |
| index=True, | |
| ) | |
| user_node_id = Column(Integer, ForeignKey("nodes.id"), nullable=False, index=True) | |
| label_action = Column(String, nullable=False) | |
| sample_payload_json = Column(Text, nullable=False, default="{}") | |
| feature_vector_json = Column(Text, nullable=False, default="{}") | |
| split = Column(String, nullable=True) | |
| sample_source = Column(String, nullable=False, default="feedback_builder_v1") | |
| created_at = Column(DateTime, nullable=False, default=datetime.utcnow) | |
| Index( | |
| "ix_training_samples_user_created_at", | |
| TrainingSample.user_node_id, | |
| TrainingSample.created_at, | |
| ) | |