🩸 血糖知识图谱 · 项目设计文档
项目概述
构建血糖相关知识数据库(食物 GI、热量、营养成分、食用建议),并自动生成可用于 AI 图像生成工具的 Prompt 提示词,用于制作血糖知识卡片、信息图等视觉内容。
项目结构
血糖知识图谱/
├── AGENTS.md # 项目规范
├── data/ # 数据层
│ ├── foods/
│ │ ├── schema.json # 食物数据模型定义
│ │ └── common-foods.json # 常见食物 GI/营养数据(28 种)
│ └── knowledge/
│ └── topics.json # 血糖知识主题体系(12 个主题)
├── src/ # 源码
│ ├── templates/
│ │ └── prompts.json # Prompt 模板库(8 套模板)
│ └── generate_prompts.py # Prompt 生成器(核心脚本)
├── docs/
│ └── 项目设计.md # 本文档
└── out/
└── prompts/ # 生成的 Prompt 输出数据流
食物数据 (JSON) ────┐
├──→ Prompt 生成器 ──→ 填充模板 ──→ 输出 Prompt (JSON/MD)
知识主题 (JSON) ────┘
│
模板库 (JSON) ──────┘
核心模块
1. 食物数据模型 (data/foods/schema.json)
每条食物记录包含:
| 字段 | 说明 |
|---|---|
gi | 血糖生成指数(0-120,参考葡萄糖=100) |
gi_level | GI 等级(低≤55 / 中56-69 / 高≥70) |
gl_per_serving | 血糖负荷(按标准份量计算) |
gl_level | GL 等级(低≤10 / 中11-19 / 高≥20) |
calories_per_100g | 每 100g 热量 |
nutrition_per_100g | 营养细分(碳水/蛋白质/脂肪/纤维/糖) |
blood_sugar_impact | 综合升糖评估(极低→极高) |
tips | 食用建议列表 |
combinations | 推荐搭配(降低整体升糖) |
meal_timing | 最佳食用时段 |
2. 知识主题体系 (data/knowledge/topics.json)
覆盖 4 个维度、12 个主题:
- 基础概念:GI 定义、GL 定义、GI vs GL 对比、血糖正常范围
- 病理机制:胰岛素抵抗
- 疾病分型:1型 vs 2型糖尿病
- 饮食管理:低GI饮食原则、用餐顺序法、加餐选择、影响GI的因素
- 生活方式:运动对血糖的影响
- 监测与管理:血糖监测指南
3. Prompt 模板库 (src/templates/prompts.json)
8 套模板,覆盖不同视觉类型:
| 模板 ID | 类型 | 说明 | 适用平台 |
|---|---|---|---|
tpl-food-card | 食物卡片 | 单食物 GI/热量信息卡 | MJ / DALL·E |
tpl-food-comparison | 对比图 | 高GI vs 低GI 食物对比 | MJ / DALL·E |
tpl-meal-plate | 餐盘图 | 理想控糖餐盘比例 | DALL·E / SD |
tpl-knowledge-info | 信息图 | 知识概念可视化 | MJ / DALL·E |
tpl-gi-gl-quadrant | 象限图 | GI-GL 四象限分析 | DALL·E |
tpl-blood-sugar-curve | 曲线图 | 血糖反应曲线对比 | DALL·E |
tpl-food-ranking | 排行榜 | 食物 GI 排行榜 | MJ / DALL·E |
tpl-daily-tips | 每日贴士 | 控糖行动建议卡片 | DALL·E |
4. Prompt 生成器 (src/generate_prompts.py)
功能:读取数据 → 匹配模板 → 变量填充 → 输出 Prompt
使用方法:
# 生成全部 prompt(食物 + 知识)
python src/generate_prompts.py
# 仅生成食物卡片
python src/generate_prompts.py --type food
# 仅生成知识卡片
python src/generate_prompts.py --type knowledge
# 仅生成某个食物的 prompt
python src/generate_prompts.py --food-id food-009
# 指定平台格式
python src/generate_prompts.py --format dalle # DALL·E 3
python src/generate_prompts.py --format mj # Midjourney
# 指定输出格式
python src/generate_prompts.py --output json # JSON
python src/generate_prompts.py --output md # Markdown使用流程
- 查看/编辑数据:在
data/foods/和data/knowledge/中增删改内容 - 调整模板:在
src/templates/prompts.json中优化 prompt 模板 - 生成 Prompt:运行生成器
- 使用 Prompt:将生成的 prompt 输入 Midjourney、DALL·E、Stable Diffusion 等工具
- 迭代优化:根据出图效果调整模板和数据
数据来源说明
食物 GI 值和营养数据基于以下公开权威资料整理:
- 悉尼大学 GI 数据库 (www.glycemicindex.com)
- Foster-Powell et al. (2002) International table of glycemic index
- 中国食物成分表
- 美国农业部 USDA FoodData Central
免责声明:本项目提供的血糖相关数据和科普知识仅供健康教育和参考,不构成医疗建议。糖尿病等疾病的诊断和治疗请咨询专业医生。
生态位与扩展方向
当前版本是 MVP,后续可扩展:
- 更多食物数据(目标 100+)
- 支持生成 Stable Diffusion 专用 prompt(带 Lora/模型推荐)
- 批量生成 + 自动命名 + 归档
- Web UI 界面,可视化选食物→预览 prompt→一键复制
- 接入飞书/微信,推送每日控糖知识卡片
- 支持图片参考(image-to-image)prompt 组合
- 多语言 prompt 输出(英文/日文/韩文)