一个基于 Dify Advanced Chat 构建的多模态健康生活助手,覆盖食物图片识别、热量估算、烹饪建议、外卖建议、健身规划和体检文档信息提取。
本仓库提供经过脱敏和去环境绑定处理的单文件兼容版本。导入后只需在 Dify 中配置通义模型凭据即可运行,不依赖原项目的私有知识库、子工作流、RAGFlow 或第三方 API 密钥。
健康与热量相关结果仅作一般参考,不能替代医生、营养师或其他专业人员的诊断与建议。
- 使用问题分类器将用户请求路由到美食、热量分析和健身规划链路。
- 使用视觉模型识别图片中的食物,并生成烹饪或营养建议。
- 使用迭代节点逐项处理食材,通过人工确认修正实际摄入比例。
- 支持从体检文档中提取结构化健康信息,并生成训练与饮食建议。
- 对健康场景增加风险提示和安全边界。
- 移除硬编码密钥、私有地址、外部知识库和子工作流强绑定。
flowchart LR
A["用户输入 / 图片 / 文档"] --> B["问题分类器"]
B --> C["美食与外卖"]
B --> D["热量分析"]
B --> E["健身规划"]
C --> F["视觉识别与推荐生成"]
D --> G["食材拆分与迭代估算"]
G --> H["用户确认摄入比例"]
E --> I["文档提取与健康信息结构化"]
F --> J["安全提示与最终回答"]
H --> J
I --> J
更完整的设计说明见 docs/architecture.md。
- 部署 Dify,并在模型供应商中配置通义模型凭据。
- 在 Dify 工作区中选择“导入 DSL 文件”。
- 导入
dify/智能健康生活助手_兼容直导版.yml。 - 检查文本模型和视觉模型是否可用,然后发布 WebApp。
- 可选:将发布后的 WebApp 地址写入
demo/index.html中的window.DIFY_APP_URL。
python -m pip install -r requirements.txt
python scripts/validate_dify_yaml.py验证脚本会检查 DSL 基本结构、节点连接、环境绑定和常见敏感信息。
.
├── dify/ # 可直接导入的脱敏 Dify DSL
├── demo/ # 可配置 Dify WebApp 地址的展示页面
├── docs/ # 架构与面试介绍
├── scripts/ # DSL 发布前检查脚本
└── .github/workflows/ # GitHub Actions 自动验证
原始项目包含多个子工作流和外部服务绑定。为提高安全性与可移植性,公开版本完成了以下处理:
- 移除真实 API 密钥、内网地址和工作区专属资源 ID。
- 将外部数据查询改为本地参考估算,并明确估算性质。
- 将多工作流版本整理为单文件直导版本。
- 使用安全 JSON 解析替代不安全的动态表达式解析。
- 增加医疗健康场景的安全提示。
- Dify Advanced Chat
- 通义千问文本与视觉模型
- YAML DSL
- Python
- Docker / WSL2