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