FitBot-一款先進(jìn)的以健康為中心的聊天機(jī)器人
在健康意識(shí)高漲,追求均衡生活方式成為普遍追求的時(shí)代,營(yíng)養(yǎng)問題無疑是核心支柱。然而,飲食計(jì)劃的復(fù)雜性和大量的營(yíng)養(yǎng)數(shù)據(jù)往往成為我們實(shí)現(xiàn)這種平衡的障礙。例如糖尿病患者,他們需要持續(xù)和準(zhǔn)確的營(yíng)養(yǎng)指導(dǎo)來有效管理血糖水平。如果能借助AI技術(shù)來進(jìn)行輔導(dǎo),可以幫助糖尿病患者更好的進(jìn)行飲食管理。
FitBot 是一種人工智能驅(qū)動(dòng)的聊天機(jī)器人,它使用 OpenAI 的 GPT-4 等大型語(yǔ)言模型,與 API Ninjas 的營(yíng)養(yǎng)端點(diǎn)無縫集成,可提供準(zhǔn)確的營(yíng)養(yǎng)數(shù)據(jù)和個(gè)性化的健康建議。
特征
1、營(yíng)養(yǎng)信息檢索:利用 API Ninjas 的營(yíng)養(yǎng)端點(diǎn)獲取任何給定食品的準(zhǔn)確營(yíng)養(yǎng)數(shù)據(jù)。
2、健康計(jì)算:計(jì)算基礎(chǔ)代謝率 (BMR)、每日總能量消耗 (TDEE)、理想體重 (IBW) 等。
3、交互體驗(yàn)友好:具有類似聊天的界面,易于使用和交互。
4、持續(xù)學(xué)習(xí)和改進(jìn):隨著底層模型 (GPT-4) 不斷學(xué)習(xí)和改進(jìn),F(xiàn)itBot 也是如此。
設(shè)置和安裝
1、克隆存儲(chǔ)庫(kù)
git clone https://github.com/[YourUsername]/FitBot.git
cd FitBot
2、設(shè)置虛擬環(huán)境(可選)
建議創(chuàng)建一個(gè)虛擬環(huán)境來單獨(dú)保留該項(xiàng)目所需的依賴項(xiàng)。
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
3、安裝依賴項(xiàng)
使用 pip 安裝所需的包:
pip install -r requirements.txt
4、運(yùn)行項(xiàng)目
使用以下命令運(yùn)行項(xiàng)目:
python run_chatbot.py
示例
聊天機(jī)器人啟動(dòng)并運(yùn)行后就可以開始提問,例如計(jì)算一個(gè)人的每日總能量消耗(TDEE):
# 定義一個(gè)問題
user_input = "30歲男性,身高180厘米,體重80公斤,每周鍛煉3次,TDEE是多少?"
# 獲取原始聊天響應(yīng)
response =fitness_agent.ask(user_input)
# 打印最終響應(yīng)
print (response[ 'choices' ][ 0 ][ 'message' ][ 'content' ])
輸出
一名身高 180 厘米、體重 80 公斤的 30 歲男性,每周鍛煉 3 次,根據(jù) Harris-Benedict 方程,每日總能量消耗 (TDEE) 約為 2574 卡路里天。這是一個(gè)粗略的估計(jì),個(gè)人結(jié)果可能會(huì)因新陳代謝速度、具體身體活動(dòng)等多種因素而有所不同。
以下是該過程的簡(jiǎn)單分解:
1. 計(jì)算基礎(chǔ)代謝率 (BMR) - 這是一個(gè)人在不進(jìn)行任何活動(dòng)的情況下燃燒的卡路里數(shù)。
對(duì)于男性,計(jì)算 BMR 的 Harris-Benedict 方程為
BMR = 88.362 + (13.397 * 體重 (kg)) + (4.799 * 身高 (cm)) - (5.677 * 年齡 (歲))
對(duì)于給定值,BMR 約為 1783卡路里。
2. 調(diào)整活動(dòng) - 因此,可以使用以下乘數(shù)根據(jù)體力活動(dòng)水平調(diào)整 BMR:
- 久坐(很少或沒有運(yùn)動(dòng)):BMR * 1.2
- 輕度活動(dòng)(輕度運(yùn)動(dòng)/運(yùn)動(dòng) 1-3 天/周):BMR * 1.375
- 中等活躍(每周 3-5 天的中等運(yùn)動(dòng)/運(yùn)動(dòng)):BMR * 1.55
- 非?;钴S(每周 6-7 天的劇烈運(yùn)動(dòng)/運(yùn)動(dòng)):BMR * 1.725
- 超級(jí)活躍(非常劇烈的運(yùn)動(dòng)/體力工作) & 鍛煉 2 次/天):BMR * 1.9
對(duì)于每周鍛煉 3 次的人,我們可以將乘數(shù)設(shè)為 1.55(適度活躍)。
因此,TDEE = BMR * 活動(dòng)乘數(shù) = 1783 * 1.55 = 大約 2764 卡路里。
注意:實(shí)際總熱量需求可能略高或略低,因?yàn)榇擞?jì)算未考慮肌肉與脂肪的比例、特定類型的活動(dòng)等。