🩸 血糖知识图谱 · 项目设计文档

项目概述

构建血糖相关知识数据库(食物 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_levelGI 等级(低≤55 / 中56-69 / 高≥70)
gl_per_serving血糖负荷(按标准份量计算)
gl_levelGL 等级(低≤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

使用流程

  1. 查看/编辑数据:在 data/foods/data/knowledge/ 中增删改内容
  2. 调整模板:在 src/templates/prompts.json 中优化 prompt 模板
  3. 生成 Prompt:运行生成器
  4. 使用 Prompt:将生成的 prompt 输入 Midjourney、DALL·E、Stable Diffusion 等工具
  5. 迭代优化:根据出图效果调整模板和数据

数据来源说明

食物 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 输出(英文/日文/韩文)