在健康意识高涨,追求均衡生活方式成为普遍追求的时代,营养问题无疑是核心支柱。然而,饮食计划的复杂性和大量的营养数据往往成为我们实现这种平衡的障碍。例如糖尿病患者,他们需要持续和准确的营养指导来有效管理血糖水平。如果能借助AI技术来进行辅导,可以帮助糖尿病患者更好的进行饮食管理。
FitBot 是一种人工智能驱动的聊天机器人,它使用 OpenAI 的 GPT-4 等大型语言模型,与 API Ninjas 的营养端点无缝集成,可提供准确的营养数据和个性化的健康建议。
特征
1、营养信息检索:利用 API Ninjas 的营养端点获取任何给定食品的准确营养数据。
2、健康计算:计算基础代谢率 (BMR)、每日总能量消耗 (TDEE)、理想体重 (IBW) 等。
3、交互体验友好:具有类似聊天的界面,易于使用和交互。
4、持续学习和改进:随着底层模型 (GPT-4) 不断学习和改进,FitBot 也是如此。
设置和安装
1、克隆存储库
git clone https://github.com/[YourUsername]/FitBot.git
cd FitBot
2、设置虚拟环境(可选)
建议创建一个虚拟环境来单独保留该项目所需的依赖项。
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
3、安装依赖项
使用 pip 安装所需的包:
pip install -r requirements.txt
4、运行项目
使用以下命令运行项目:
python run_chatbot.py
示例
聊天机器人启动并运行后就可以开始提问,例如计算一个人的每日总能量消耗(TDEE):
# 定义一个问题
user_input = "30岁男性,身高180厘米,体重80公斤,每周锻炼3次,TDEE是多少?"
# 获取原始聊天响应
response =fitness_agent.ask(user_input)
# 打印最终响应
print (response[ 'choices' ][ 0 ][ 'message' ][ 'content' ])
输出
一名身高 180 厘米、体重 80 公斤的 30 岁男性,每周锻炼 3 次,根据 Harris-Benedict 方程,每日总能量消耗 (TDEE) 约为 2574 卡路里天。这是一个粗略的估计,个人结果可能会因新陈代谢速度、具体身体活动等多种因素而有所不同。
以下是该过程的简单分解:
1. 计算基础代谢率 (BMR) - 这是一个人在不进行任何活动的情况下燃烧的卡路里数。
对于男性,计算 BMR 的 Harris-Benedict 方程为
BMR = 88.362 + (13.397 * 体重 (kg)) + (4.799 * 身高 (cm)) - (5.677 * 年龄 (岁))
对于给定值,BMR 约为 1783卡路里。
2. 调整活动 - 因此,可以使用以下乘数根据体力活动水平调整 BMR:
- 久坐(很少或没有运动):BMR * 1.2
- 轻度活动(轻度运动/运动 1-3 天/周):BMR * 1.375
- 中等活跃(每周 3-5 天的中等运动/运动):BMR * 1.55
- 非常活跃(每周 6-7 天的剧烈运动/运动):BMR * 1.725
- 超级活跃(非常剧烈的运动/体力工作) & 锻炼 2 次/天):BMR * 1.9
对于每周锻炼 3 次的人,我们可以将乘数设为 1.55(适度活跃)。
因此,TDEE = BMR * 活动乘数 = 1783 * 1.55 = 大约 2764 卡路里。
注意:实际总热量需求可能略高或略低,因为此计算未考虑肌肉与脂肪的比例、特定类型的活动等。