-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathgpt_test3.js
173 lines (167 loc) · 8.17 KB
/
gpt_test3.js
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
const {Configuration, OpenAIApi} = require('openai');
const secret = require("./config/secret");
const configuration = new Configuration({
organization: secret.openaiOrganization,
apiKey: secret.openaiSecret,
});
const openai = new OpenAIApi(configuration);
const temp = async function() {
const completion = await openai.createChatCompletion({
model: "gpt-3.5-turbo",
messages: [
{role: "system", content: "You're a fitness trainer who recommends exercise routines."},
{role: "system", content: `
exerciseId-exerciseName-note(rep of unit),
1-Bench Press, 2-Incline Dumbbell Press, 3-Chest Press Machine, 4-Leg Extension, 5-Lat Pull down, 6-Barbell Row, 7-Deadlift, 8-Dumbbell Row,9-Dumbbell Fly, 10-Shoulder Press, 11-Side Lateral Raise, 12-Front Dumbbell Raise,13-Bent Over Lateral Raise, 14-Seated Row, 15-Leg Curl, 16-Leg Press, 17-Hip Thrust, 18-Hip Raise, 19-Chest Dips, 20-Pull Up, 21-Push Up, 22-Front Plank-(1sec), 23-Side Plank-(1sec), 24-Running-(100m), 25-Cycling-(100m)
Create a routine with these exercises
`
},
{role: "user", content: `
I am a male born in 2001, I am 174cm tall and weigh 62kg.
I think I can lift up to 60kg when I do bench press to the maximum.
I will do chest, back, shoulder, arm, core, lower body exercises at gym.
I'm going to exercise for a total of 7 days on Sunday and Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.
`},
{role: "user", content:
`Say only JSON Object format like
{
'Title': thisRoutineTitle
'dayOfWeek'(day of week name): {
'target': targetArea,
'content': [
{
'exerciseId': exerciseId,
'exerciseName': exerciseName,
'sets': numsOfSet(Only Int),
'reps': numsOfRep(Only Int),
'weights'(If exerciseId is between 19 and 25, that is, bare body exercise, get rid of this.): numsOfWeight(Only List(Integer as many as numsOfSet))
}
]
}
}(This object must include all requested days of the weeks. If the request is Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Then should be seven 'dayOfWeek's).
In the case of planks, if 1 rep performs 1 second, that is, 10 seconds, using note(rep of unit), rep should be 10.
In the case of Running and Cycling, if 1 rep performs 100m, that is, 500m, using note(rep of unit), rep should be 5.
example 1.
{
"Title": "Physical Fitness Exercises",
"Monday": {
"target": "Back",
"content": [
{"exerciseId": 20, "exerciseName": "Pull Up", "sets": 3, "reps": 5},
{"exerciseId": 14, "exerciseName": "Seated Row", "sets": 5, "reps": 7, "weights": [30, 30, 30]},
{"exerciseId": 5, "exerciseName": "Lat Pulldown", "sets": 5, "reps": 10, "weights": [40, 35, 30]}
]
},
"Tuesday": {
"target": "Shoulder",
"content": [
{"exerciseId": 10, "exerciseName": "Shoulder Press", "sets": 3, "reps": 20, "weights": [15, 15, 10]},
{"exerciseId": 12, "exerciseName": "Front Dumbbell Raise", "sets": 5, "reps": 10, "weights": [5, 5, 5]},
]
},
"Wednesday": {
"target": "Chest and Arms",
"content": [
{"exerciseId": 3, "exerciseName": "Chest Press Machine", "sets": 3, "reps": 15, "weights": [20, 20, 20]},
{"exerciseId": 19, "exerciseName": "Chest Dips", "sets": 3, "reps": 12},
{"exerciseId": 21, "exerciseName": "Push Up", "sets": 5, "reps": 15}
]
},
"Thursday": {
"target": "Cardio adn Core",
"content": [
{"exerciseId": 22, "exerciseName": "Front Plank", "sets": 2, "reps": 10},
{"exerciseId": 23, "exerciseName": "Side Plank", "sets": 1, "reps": 10},
{"exerciseId": 25, "exerciseName": "Cycling", "sets": 1, "reps": 70}
]
},
"Friday": {
"target": "Chest and Arms",
"content": [
{"exerciseId": 21, "exerciseName": "Push Up", "sets": 4, "reps": 30},
{"exerciseId": 9, "exerciseName": "Dumbbell Fly", "sets": 5, "reps": 8, "weights": [20, 20, 20]},
{"exerciseId": 19, "exerciseName": "Chest Dips", "sets": 3, "reps": 12},
{"exerciseId": 1, "exerciseName": "Bench Press", "sets": 4, "reps": 5, "weights": [40, 40, 40]}
]
},
"Saturday": {
"target": "Lower Body",
"content": [
{"exerciseId": 15, "exerciseName": "Leg Curl", "sets": 5, "reps": 10, "weights": [20, 20, 20]},
{"exerciseId": 19, "exerciseName": "Leg Press", "sets": 2, "reps": 8, "weights": [80, 70, 60]}
]
},
"Sunday": {
"target": "Cardio adn Core",
"content": [
{"exerciseId": 22, "exerciseName": "Front Plank", "sets": 2, "reps": 10},
{"exerciseId": 23, "exerciseName": "Side Plank", "sets": 1, "reps": 10},
{"exerciseId": 24, "exerciseName": "Running", "sets": 3, "reps": 10}
]
}
}
example 2.
{
"Title": "Full Body Workout",
"Monday": {
"target": "Arms",
"content": [
{"exerciseId": 2, "exerciseName": "Incline Dumbbell Press", "sets": 5, "reps": 8, "weights": [15, 10, 10]},
{"exerciseId": 19, "exerciseName": "Chest Dips", "sets": 3, "reps": 12}
]
},
"Tuesday": {
"target": "Back",
"content": [
{"exerciseId": 20, "exerciseName": "Pull Up", "sets": 4, "reps": 5},
{"exerciseId": 5, "exerciseName": "Lat Pulldown", "sets": 3, "reps": 12, "weights": [50, 45, 40]},
{"exerciseId": 8, "exerciseName": "Dumbbell Row", "sets": 3, "reps": 12, "weights": [10, 10, 10]},
{"exerciseId": 6, "exerciseName": "Barbell Row", "sets": 2, "reps": 8, "weights": [20, 20, 20]},
]
},
"Wednesday": {
"target": "Shoulder",
"content": [
{"exerciseId": 10, "exerciseName": "Shoulder Press", "sets": 3, "reps": 10, "weights": [20, 20, 20]},
{"exerciseId": 11, "exerciseName": "Side Lateral Raise", "sets": 3, "reps": 12, "weights": [5, 5, 5]},
{"exerciseId": 13, "exerciseName": "Bent Over Lateral Raise", "sets": 4, "reps": 12, "weights": [5, 5, 5]}
]
},
"Thursday": {
"target": "Lower Body",
"content": [
{"exerciseId": 4, "exerciseName": "Leg Extension", "sets": 3, "reps": 10, "weights": [40, 40, 40]},
{"exerciseId": 19, "exerciseName": "Leg Press", "sets": 2, "reps": 8, "weights": [80, 70, 60]}
]
},
"Friday": {
"target": "Chest",
"content": [
{"exerciseId": 19, "exerciseName": "Chest Dips", "sets": 3, "reps": 12},
{"exerciseId": 21, "exerciseName": "Push Up", "sets": 4, "reps": 30},
{"exerciseId": 1, "exerciseName": "Bench Press", "sets": 4, "reps": 5, "weights": [40, 40, 40]}
]
},
"Saturday": {
"target": "Cardio",
"content": [
{"exerciseId": 24, "exerciseName": "Running", "sets": 1, "reps": 30}
]
},
"Sunday": {
"target": "Core",
"content": [
{"exerciseId": 22, "exerciseName": "Front Plank", "sets": 3, "reps": 10},
{"exerciseId": 23, "exerciseName": "Side Plank", "sets": 3, "reps": 10},
{"exerciseId": 21, "exerciseName": "Push Up", "sets": 5, "reps": 20}
]
}
}
Examples are just examples, recommend various combinations regardless of the order.
Never Explain.
`}
],
});
console.log(JSON.parse(completion.data.choices[0].message.content));
};
temp();