File size: 3,018 Bytes
6734e67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5d73533
6734e67
 
 
 
 
5d73533
6734e67
 
 
5d73533
6734e67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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