必须先在Dify知识库上传CSV格式「用户档案」并完成处理,再配置TDEE Calculator API工具与严格匹配字段的提示词逻辑,否则健身计划将脱离真实体征或卡路里计算失真。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要为用户生成个性化的健身计划并实时核算每日卡路里消耗与摄入,Dify平台支持通过可视化编排+LLM调用+外部工具集成实现该目标,但必须正确配置数据流向、工具权限和提示词逻辑,否则计划会脱离用户体测数据或卡路里计算结果失真。
准备基础用户数据输入源
在Dify知识库中新建一个「用户档案」数据集,上传CSV格式的模板文件,字段必须包含:姓名、年龄、性别、身高(cm)、体重(kg)、体脂率(%)、日常活动等级(久坐/中等/活跃)、健身目标(减脂/增肌/维持)、每周可训练天数、有无伤病史。
上传后点击「处理」→ 等待状态变为「已完成」,此时该数据集才可在工作流中被检索调用。若跳过此步直接引用未处理的数据集,后续所有计划生成将无法获取真实体征参数。
这一步不能用PDF或Excel直接替代,Dify仅对CSV结构化字段做向量化索引,其他格式会导致关键字段(如体脂率)无法被Agent识别提取。
配置卡路里核算专用工具节点
进入「工具」→ 「添加工具」→ 选择「HTTP API」类型。
填写API名称为「TDEE_Calculator」,URL填入你已部署的卡路里计算服务地址(例如:https://api.yourdomain.com/calculate-tdee),请求方法选POST,请求体使用JSON模板:
{"age": "{{user.age}}", "gender": "{{user.gender}}", "height": {{user.height}}, "weight": {{user.weight}}, "body_fat": {{user.body_fat}}, "activity_level": "{{user.activity_level}}", "goal": "{{user.goal}}"}注意:所有双花括号变量必须严格对应CSV字段名,大小写与下划线不可出错;【body_fat字段若为空或非数字,API将返回默认值而非报错,导致核算偏差】
构建智能计划生成工作流
第一步:从「用户档案」知识库中检索当前会话用户的完整记录,设置检索条件为「姓名 == {{input.name}}」。
第二步:将检索结果传入「TDEE_Calculator」工具节点,触发卡路里总消耗值(TDEE)与目标净热量(如减脂需-300kcal)计算。
第三步:把TDEE结果、用户目标、可训练天数、伤病史作为上下文,输入到LLM节点。提示词开头必须强制声明:“你是一名ACE认证私人教练,所有建议必须基于NSCA运动生理学原则。不推荐任何超出用户伤病史描述范围的动作,若伤病史含‘腰椎间盘突出’,禁用负重深蹲与硬拉。”
第四步:LLM输出内容经「内容过滤器」节点校验,自动剔除含「每天跑10公里」「空腹有氧2小时」等违反运动医学共识的表述——该过滤器规则已在后台预置正则表达式匹配。
连接前端表单与Agent响应
在Dify应用界面中,编辑「对话开场白」为:“请提供您的姓名,我将为您生成专属健身计划与卡路里方案。”
打开「高级设置」→ 勾选「启用变量注入」→ 在「用户输入映射」中将表单字段「name」绑定至工作流变量{{input.name}}。
发布应用后,用户只需在前端输入姓名,系统自动完成数据拉取→卡路里核算→计划生成→安全过滤全流程,无需二次确认或手动切换Tab页。


















