-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathopen.json
More file actions
46 lines (46 loc) · 1.56 KB
/
open.json
File metadata and controls
46 lines (46 loc) · 1.56 KB
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
{
"modules": [
{
"module": "log"
},
{
"module": "openai",
"with": {
"model": "gpt-5-mini",
"api_key": "{{ envs.OPENAI_API_KEY }}"
}
},
{
"module": "cache",
"with": {
"capacity": 1000
}
}
],
"steps": [
{
"id": "storage",
"payload": "{{ payload ?? main }}"
},
{
"use": "log",
"input": {
"level": "{{ when steps.storage.len % 2 == 0 then \"warn\" else \"error\" }}",
"message": "{{ steps.storage[-1].content }}"
}
},
{
"use": "openai",
"input": {
"action": "chat",
"messages": "{{ steps.storage }}"
}
},
{
"payload": "{{ let storage = [...steps.storage]; storage.push(payload.data.choices[0].message); let messages = []; for (msg, index) in storage { let role = if storage.len % 2 == 0 { if index % 2 == 0 { \"assistant\" } else { \"user\" } } else { if index % 2 == 0 { \"user\" } else { \"assistant\" } }; messages.push({ role: role, content: msg.content }); } messages }}"
},
{
"to": "storage"
}
]
}