Spaces:
Runtime error
Runtime error
from openai import OpenAI | |
client = None | |
Meal2Json = """ | |
對於每道菜的描述,請提取關鍵資訊並轉化為JSON格式。請確保輸出包含菜品名稱、主要成分、估計的卡路里含量,以及可能的飲食限制。飲食限制請基於成分進行推斷,如海鮮過敏、紅肉限制、乳糖不耐症、麩質過敏等。如果沒有特別的飲食限制,請標注為"無"。在評估卡路里時,請考慮到菜品的主要成分和準備方式,提供一個合理的估計值。 | |
例如,給定菜品描述: | |
"櫻花漂浮壽司 - 描述:精選當季最新鮮的生魚片,搭配上以櫻花葉醃製的特製醋飯,壽司表面點綴以食用櫻花花瓣,呈現春天的氣息與美麗。" | |
根據以上描述,請生成以下JSON輸出: | |
```Json | |
{ | |
"name": "櫻花漂浮壽司", | |
"ingredients": ["生魚片", "醋飯", "櫻花葉", "食用櫻花花瓣"], | |
"calories": 200, | |
"dietary_restrictions": ["海鮮過敏"] | |
} | |
``` | |
請直接輸出 Json 本體 不需要多餘的內容,並且請確保輸出的Json格式是正確的。請注意,輸出的Json格式必須與上述範例一致,並且 | |
請依此格式處理以下菜品描述: | |
""" | |
AnylizeJson = """ | |
給定一位使用者的個人信息、飲食偏好、健康目標和餐飲計畫,請計算推薦的每日卡路里攝入量。然後根據使用者的飲食偏好和餐飲計畫,推薦一個合適的餐點。請確保推薦的餐點遵守使用者的飲食限制並考慮其偏好。最後,請提供營養上的注意事項和建議,幫助使用者達成其健康目標。 | |
請使用以下格式輸出結果: | |
```json | |
{ | |
"recommended_daily_calories": "XXXX kcal", | |
"meal_recommendation": "推薦的配餐", | |
"nutrition_notes": "根據使用者的目標和限制,這裡是一些營養上的注意事項和建議。" | |
} | |
``` | |
請注意,輸出的Json格式必須與上述範例一致,並且請確保輸出的Json格式是正確的。不要包含多餘的內容。尤其是,meal_recommendation 必須是具體的菜品名稱。並且請確保輸出僅有Json。根據這些使用者資訊和菜品資料,請首先計算出適合該使用者的每日推薦卡路里攝入量。接著,從菜品資料中選擇符合使用者需求的單一餐點,並提出具體推薦。最後,提出一些營養上的注意事項和建議,幫助使用者達成其健康目標。 | |
""" | |
def ai_function(Mode, Description): | |
system_message = { | |
"role": "system", | |
"content": ( | |
"You are an AI that assists the user in generating meal recommendations." | |
) | |
} | |
user_message = { | |
"role": "user", | |
"content": ( | |
f"{Mode == 'Meal2Json' and Meal2Json or AnylizeJson} {Description}" | |
) | |
} | |
messages = [system_message, user_message] | |
response = client.chat.completions.create(model="gpt-4", | |
messages=messages, | |
temperature=0.2, | |
max_tokens=2000) | |
return response.choices[0].message.content |