其他
在回答饮食相关问题时,如何用持久化偏好数据库提供个性化营养建…
当用户提出任何与食物相关的问题(如餐食建议、营养咨询、食谱推荐、饮食规划)时,先收集并存储其偏好,再据此个性化回答。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 47/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 50/100 ×0.15
适用场景
在回答饮食相关问题时,如何用持久化偏好数通用
解决思路
- 在提供任何饮食建议前,先运行 `python3 scripts/preferences_manager.py has` 检查是否已有用户偏好;若输出为 "false" 则进入初始设置,若为 "true" 则加载偏好。
- 首次使用时,通过 AskUserQuestion 工具或对话式提问收集必填信息:饮食目标、过敏原、饮食限制或理念、厌恶的食物、喜爱的食物或菜系。
- 同时收集可选信息:健康状况、菜系偏好、用餐时间安排、烹饪技能水平、预算限制及其他备注。
- 用友好、对话式的方式提问,例如先说明目的是为了提供个性化建议,再依次询问目标、过敏、饮食限制、厌恶食物、喜爱食物。
- 将收集到的偏好整理为 JSON(包含 goals、allergies、dietary_restrictions、dislikes、food_preferences、health_conditions、cuisine_preferences、meal_timing、cooking_skill、budget、notes 字段),通过 `python3 scripts/preferences_manager.py set` 传入 JSON 保存,或导入 `preferences_manager` 模块调用 `set_preferences` 保存。
- 保存后向用户确认偏好已存储,并说明之后所有饮食建议都会基于这些偏好,且可随时更新。
- 后续所有饮食相关查询,先运行 `python3 scripts/preferences_manager.py get` 或 `display` 加载偏好。
- 应用偏好时:绝对尊重过敏原,绝不推荐含过敏原的食物;严格符合饮食限制;围绕用户目标调整建议;避免推荐厌恶食物(除非用户明确要求);优先纳入喜爱的食物和菜系;参考健康状况调整推荐。
- 当用户想更新偏好时,先 `get` 当前偏好,询问要修改的内容,再保存更新后的版本;如需完全重置,运行 `python3 scripts/preferences_manager.py reset` 后重新执行初始设置。
- 最佳实践:始终先检查偏好;主动核查配料表中的隐藏过敏原;偶尔解释个性化推荐的原因;尽量提供多个备选方案;若对话中出现新偏好,主动提出更新档案;尊重宗教与文化饮食限制;基于科学证据给出营养建议;结合烹饪技能和时间限制给出实用建议。
适用边界 · 注意事项
- 用户只是闲聊食物话题、并不需要个性化营养建议时,不必强制走完整偏好收集流程。
- 用户明确表示不想保存个人饮食信息时,不应写入持久化数据库。