需构建整合医疗常识问答与预分诊逻辑的工作流:先建知识库并上传脱敏的ICD-10症状术语、科室划分表及误诊警示条目;再设age、gender、location三个用户可编辑会话变量;最后搭建三层路由判断链,强制JSON输出症状结构,并通过高德API或本地映射表匹配科室,所有响应须含免责声明。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让患者在挂号前就获得靠谱的科室推荐和基础健康解释,避免因描述不清跑错诊室或误解症状,必须把医疗常识问答和预分诊逻辑整合进一个可执行、可验证、能拦截错误建议的工作流里。
准备权威知识库与会话变量
登录Dify控制台→进入「知识库」→点击「新建知识库」→命名为“医疗常识与分诊规则”,选择「分段策略」为“按标题分割”,启用「自动嵌入」;上传已整理好的Markdown文件,内容需包含ICD-10标准症状术语、三甲医院科室划分表、常见误诊警示条目(如“中青年突发胸痛≠心绞痛,需先排除胃食管反流”);【上传前务必删除所有含个人隐私或未脱敏的临床病例原文】。
返回工作流画布→点击右上角「变量」→新增三个会话变量:age(数字)、gender(文本)、location(文本),全部勾选「用户可编辑」;这三项是后续判断是否需转急诊、是否匹配儿科/妇科等科室的硬性依据。
搭建三层路由判断链
第一步:拖入一个「LLM节点」→设置系统提示词为:“你是一个持证上岗的预分诊AI助手。只回答与症状、科室、检查、用药相关的医疗常识问题。不诊断、不开方、不替代医生。若问题超出范围,直接回复‘我无法回答该问题,请咨询专业医师’。”→连接至「条件判断节点」。
第二步:在「条件判断节点」中配置三条分支:
• 分支1:`{{input}} contains "怎么治" or "吃什么药"` → 走「知识库检索节点」+「LLM精炼节点」;
• 分支2:`{{input}} contains "挂什么科" or "看哪个医生"` → 走「症状提取LLM节点」→「科室匹配规则节点」;
• 分支3:其余情况 → 直接走「常识问答LLM节点」。
第三步:重点配置「症状提取LLM节点」——输入提示词必须强制要求模型输出JSON格式,字段限定为{“symptom_list”: [“头痛”, “发热”], “duration”: “2天”, “severity”: “中度”};【若输出非JSON或缺失关键字段,整个流程将中断并返回默认提示,不可跳过校验】。
接入真实地理与科室数据
方法一:高德地图API直连
在「工具节点」中选择「HTTP请求」→URL填入高德POI搜索接口(https://restapi.amap.com/v3/config/district?keywords={{location}}&subdistrict=1)→设置Header为key=你的高德密钥→将返回的“district”字段存入变量city_code。
方法二:本地科室映射表
新建一个「文本处理节点」→粘贴结构化科室对照表(如:{"呼吸内科": ["咳嗽", "气喘", "胸闷"], "神经内科": ["头晕", "手麻", "视物模糊"]})→用Jinja模板语法遍历匹配:{% for dept, syms in dept_map.items() %}{% if symptom_list | intersect(syms) %}{{dept}}{% endif %}{% endfor %}。
两种方法结果都必须接入「最终响应节点」,且响应模板中强制插入免责声明:“以上建议仅供参考,不能替代面诊。如有急症请立即拨打120。”


















