add_user_special_scenario_topic_logs.sql 1.1 KB

123456789101112131415
  1. -- 情景对话模式:用户-特殊情景-话题对话记录表
  2. -- 用于记录用户在某个特殊场景下对某个话题已进行过对话,选场景时排除「3 个话题都聊完」的场景,选话题时仅在未完成话题中等概率选择。
  3. -- 参考:项目文档/情景对话模式设计与改造方案.md
  4. CREATE TABLE IF NOT EXISTS user_special_scenario_topic_logs (
  5. id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
  6. user_id VARCHAR(64) NOT NULL COMMENT '用户ID(关联 users.user_id)',
  7. scenario_key VARCHAR(32) NOT NULL COMMENT '场景: window|reading|eating',
  8. topic_key VARCHAR(32) NOT NULL COMMENT '话题键(如 weather|season|travel 等)',
  9. conversed_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '该场景该话题下首次对话时间',
  10. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
  11. UNIQUE KEY uk_user_scenario_topic (user_id, scenario_key, topic_key),
  12. INDEX idx_user_scenario (user_id, scenario_key)
  13. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
  14. COMMENT='用户情景话题对话记录(用于概率排除与不再触发)';