位置:backend/src/main/java/com/medical/demo/service/ConversationResponseService.java
职责:
{ "action": "ASK_FOLLOWUP" | "PROCEED_RECOMMEND", "content": "回复内容" }Prompt 设计要点:
流程变化:
原流程:用户「我头疼」 → 直接生成诊断分析 → 推荐科室卡片
新流程:用户「我头疼」 → 对话服务生成回复 →
- ASK_FOLLOWUP:仅发送追问文本,等待下一轮
- PROCEED_RECOMMEND:发送回复 + 科室推荐卡片
上下文管理:
sessionData 中存储 conversationHistory:[{role, content}, ...]DepartmentRecommendationService| 轮次 | 用户 | 系统回复 |
|---|---|---|
| 1 | 我头疼 | 了解了,您提到头疼。能再多描述一下疼痛的位置或感觉吗?比如是胀痛、刺痛还是其他?这样我可以帮您更准确地判断,并建议合适的科室。 |
| 2 | 头顶胀痛,两天了,有点恶心 | 了解了,您有头顶胀痛、伴恶心,持续两天,这种情况需要及时就诊。根据您的描述,为您推荐以下科室,请选择:[科室卡片] |
可在 ConversationResponseService.buildSystemPrompt() 中:
conversationHistory,避免影响后续新咨询sessionData对话服务复用百炼配置:
bailian.api-keybailian.api-urlbailian.model(默认 qwen-turbo)如需单独配置对话模型,可在 ConversationResponseService 中增加 @Value 注入。