tinybird 0.0.1.dev14__py3-none-any.whl → 0.0.1.dev16__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of tinybird might be problematic. Click here for more details.
- tinybird/client.py +3 -1
- tinybird/feedback_manager.py +12 -1
- tinybird/{tb/modules/prompts.py → prompts.py} +26 -42
- tinybird/tb/cli.py +1 -0
- tinybird/tb/modules/build.py +17 -93
- tinybird/tb/modules/build_shell.py +133 -0
- tinybird/tb/modules/cli.py +14 -21
- tinybird/tb/modules/create.py +245 -10
- tinybird/tb/modules/datafile/build.py +29 -21
- tinybird/tb/modules/datafile/build_pipe.py +4 -0
- tinybird/tb/modules/datafile/common.py +989 -49
- tinybird/tb/modules/datafile/parse_datasource.py +1 -0
- tinybird/tb/modules/llm.py +57 -35
- tinybird/tb/modules/local.py +2 -47
- tinybird/tb/modules/local_common.py +54 -0
- tinybird/tb/modules/login.py +0 -1
- tinybird/tb/modules/mock.py +6 -5
- tinybird/tb/modules/test.py +104 -73
- {tinybird-0.0.1.dev14.dist-info → tinybird-0.0.1.dev16.dist-info}/METADATA +1 -1
- {tinybird-0.0.1.dev14.dist-info → tinybird-0.0.1.dev16.dist-info}/RECORD +23 -22
- tinybird/check_pypi.py +0 -25
- {tinybird-0.0.1.dev14.dist-info → tinybird-0.0.1.dev16.dist-info}/WHEEL +0 -0
- {tinybird-0.0.1.dev14.dist-info → tinybird-0.0.1.dev16.dist-info}/entry_points.txt +0 -0
- {tinybird-0.0.1.dev14.dist-info → tinybird-0.0.1.dev16.dist-info}/top_level.txt +0 -0
tinybird/tb/modules/create.py
CHANGED
|
@@ -16,10 +16,14 @@ from tinybird.tb.modules.config import CLIConfig
|
|
|
16
16
|
from tinybird.tb.modules.datafile.fixture import build_fixture_name, persist_fixture
|
|
17
17
|
from tinybird.tb.modules.exceptions import CLIException
|
|
18
18
|
from tinybird.tb.modules.llm import LLM
|
|
19
|
-
from tinybird.tb.modules.local import get_tinybird_local_client
|
|
20
19
|
|
|
21
20
|
|
|
22
21
|
@cli.command()
|
|
22
|
+
@click.option(
|
|
23
|
+
"--demo",
|
|
24
|
+
is_flag=True,
|
|
25
|
+
help="Demo data and files to get started",
|
|
26
|
+
)
|
|
23
27
|
@click.option(
|
|
24
28
|
"--data",
|
|
25
29
|
type=click.Path(exists=True),
|
|
@@ -43,6 +47,7 @@ from tinybird.tb.modules.local import get_tinybird_local_client
|
|
|
43
47
|
@coro
|
|
44
48
|
async def create(
|
|
45
49
|
ctx: Context,
|
|
50
|
+
demo: bool,
|
|
46
51
|
data: Optional[str],
|
|
47
52
|
prompt: Optional[str],
|
|
48
53
|
folder: Optional[str],
|
|
@@ -51,7 +56,8 @@ async def create(
|
|
|
51
56
|
"""Initialize a new project."""
|
|
52
57
|
folder = folder or getcwd()
|
|
53
58
|
try:
|
|
54
|
-
|
|
59
|
+
config = CLIConfig.get_project_config()
|
|
60
|
+
tb_client = config.get_client()
|
|
55
61
|
click.echo(FeedbackManager.gray(message="Creating new project structure..."))
|
|
56
62
|
await project_create(tb_client, data, prompt, folder)
|
|
57
63
|
click.echo(FeedbackManager.success(message="✓ Scaffolding completed!\n"))
|
|
@@ -63,7 +69,240 @@ async def create(
|
|
|
63
69
|
|
|
64
70
|
click.echo(FeedbackManager.gray(message="Building fixtures..."))
|
|
65
71
|
|
|
66
|
-
if
|
|
72
|
+
if demo:
|
|
73
|
+
# Users datasource
|
|
74
|
+
ds_name = "users"
|
|
75
|
+
datasource_path = Path(folder) / "datasources" / f"{ds_name}.datasource"
|
|
76
|
+
datasource_content = """SCHEMA >
|
|
77
|
+
`id` String `json:$.id`,
|
|
78
|
+
`organization_id` String `json:$.organization_id`,
|
|
79
|
+
`tier` String `json:$.tier`
|
|
80
|
+
|
|
81
|
+
ENGINE "MergeTree"
|
|
82
|
+
ENGINE_SORTING_KEY "id, organization_id"
|
|
83
|
+
"""
|
|
84
|
+
datasource_path.write_text(datasource_content)
|
|
85
|
+
click.echo(FeedbackManager.info(message=f"✓ /datasources/{ds_name}.datasource"))
|
|
86
|
+
|
|
87
|
+
# Events datasource
|
|
88
|
+
ds_name = "events"
|
|
89
|
+
datasource_path = Path(folder) / "datasources" / f"{ds_name}.datasource"
|
|
90
|
+
datasource_content = """SCHEMA >
|
|
91
|
+
`request_id` String `json:$.request_id`,
|
|
92
|
+
`timestamp` DateTime64(3) `json:$.timestamp`,
|
|
93
|
+
`user_id` String `json:$.user_id`,
|
|
94
|
+
`type` String `json:$.request.type`,
|
|
95
|
+
`endpoint` String `json:$.request.endpoint`,
|
|
96
|
+
`model` String `json:$.request.model`,
|
|
97
|
+
`request_options_temperature` String `json:$.request.options.temperature`,
|
|
98
|
+
`request_options_max_tokens` Int32 `json:$.request.options.max_tokens`,
|
|
99
|
+
`request_options_stream` Boolean `json:$.request.options.stream`,
|
|
100
|
+
`usage_prompt_tokens` Int32 `json:$.usage.prompt_tokens`,
|
|
101
|
+
`usage_completion_tokens` Int32 `json:$.usage.completion_tokens`,
|
|
102
|
+
`usage_total_tokens` Int32 `json:$.usage.total_tokens`
|
|
103
|
+
|
|
104
|
+
ENGINE "MergeTree"
|
|
105
|
+
ENGINE_SORTING_KEY "user_id, timestamp"
|
|
106
|
+
"""
|
|
107
|
+
datasource_path.write_text(datasource_content)
|
|
108
|
+
click.echo(FeedbackManager.info(message=f"✓ /datasources/{ds_name}.datasource"))
|
|
109
|
+
|
|
110
|
+
ds_name = "users"
|
|
111
|
+
ds_content = """
|
|
112
|
+
{"id":"usr_1","organization_id":"org_202","tier":"pro"}
|
|
113
|
+
{"id":"usr_2","organization_id":"org_49","tier":"enterprise"}
|
|
114
|
+
{"id":"usr_3","organization_id":"org_181","tier":"pro"}
|
|
115
|
+
{"id":"usr_4","organization_id":"org_194","tier":"pro"}
|
|
116
|
+
{"id":"usr_5","organization_id":"org_180","tier":"enterprise"}
|
|
117
|
+
{"id":"usr_6","organization_id":"org_112","tier":"enterprise"}
|
|
118
|
+
{"id":"usr_7","organization_id":"org_291","tier":"pro"}
|
|
119
|
+
{"id":"usr_8","organization_id":"org_150","tier":"free"}
|
|
120
|
+
{"id":"usr_9","organization_id":"org_127","tier":"enterprise"}
|
|
121
|
+
{"id":"usr_10","organization_id":"org_279","tier":"enterprise"}
|
|
122
|
+
{"id":"usr_11","organization_id":"org_58","tier":"pro"}
|
|
123
|
+
{"id":"usr_12","organization_id":"org_183","tier":"pro"}
|
|
124
|
+
{"id":"usr_13","organization_id":"org_2","tier":"pro"}
|
|
125
|
+
{"id":"usr_14","organization_id":"org_15","tier":"free"}
|
|
126
|
+
{"id":"usr_15","organization_id":"org_54","tier":"pro"}
|
|
127
|
+
{"id":"usr_16","organization_id":"org_24","tier":"pro"}
|
|
128
|
+
{"id":"usr_17","organization_id":"org_135","tier":"free"}
|
|
129
|
+
{"id":"usr_18","organization_id":"org_76","tier":"enterprise"}
|
|
130
|
+
{"id":"usr_19","organization_id":"org_166","tier":"enterprise"}
|
|
131
|
+
{"id":"usr_20","organization_id":"org_203","tier":"pro"}
|
|
132
|
+
{"id":"usr_21","organization_id":"org_103","tier":"pro"}
|
|
133
|
+
{"id":"usr_22","organization_id":"org_178","tier":"pro"}
|
|
134
|
+
{"id":"usr_23","organization_id":"org_41","tier":"pro"}
|
|
135
|
+
{"id":"usr_24","organization_id":"org_197","tier":"enterprise"}
|
|
136
|
+
{"id":"usr_25","organization_id":"org_21","tier":"pro"}
|
|
137
|
+
{"id":"usr_26","organization_id":"org_180","tier":"enterprise"}
|
|
138
|
+
{"id":"usr_27","organization_id":"org_216","tier":"enterprise"}
|
|
139
|
+
{"id":"usr_28","organization_id":"org_117","tier":"enterprise"}
|
|
140
|
+
{"id":"usr_29","organization_id":"org_73","tier":"pro"}
|
|
141
|
+
{"id":"usr_30","organization_id":"org_92","tier":"enterprise"}
|
|
142
|
+
{"id":"usr_31","organization_id":"org_272","tier":"enterprise"}
|
|
143
|
+
{"id":"usr_32","organization_id":"org_58","tier":"pro"}
|
|
144
|
+
{"id":"usr_33","organization_id":"org_158","tier":"pro"}
|
|
145
|
+
{"id":"usr_34","organization_id":"org_12","tier":"free"}
|
|
146
|
+
{"id":"usr_35","organization_id":"org_119","tier":"free"}
|
|
147
|
+
{"id":"usr_36","organization_id":"org_272","tier":"pro"}
|
|
148
|
+
{"id":"usr_37","organization_id":"org_1","tier":"enterprise"}
|
|
149
|
+
{"id":"usr_38","organization_id":"org_262","tier":"enterprise"}
|
|
150
|
+
{"id":"usr_39","organization_id":"org_189","tier":"pro"}
|
|
151
|
+
{"id":"usr_40","organization_id":"org_126","tier":"free"}
|
|
152
|
+
{"id":"usr_41","organization_id":"org_94","tier":"free"}
|
|
153
|
+
{"id":"usr_42","organization_id":"org_156","tier":"free"}
|
|
154
|
+
{"id":"usr_43","organization_id":"org_155","tier":"enterprise"}
|
|
155
|
+
{"id":"usr_44","organization_id":"org_151","tier":"pro"}
|
|
156
|
+
{"id":"usr_45","organization_id":"org_217","tier":"pro"}
|
|
157
|
+
{"id":"usr_46","organization_id":"org_111","tier":"enterprise"}
|
|
158
|
+
{"id":"usr_47","organization_id":"org_274","tier":"enterprise"}
|
|
159
|
+
{"id":"usr_48","organization_id":"org_117","tier":"enterprise"}
|
|
160
|
+
{"id":"usr_49","organization_id":"org_125","tier":"pro"}
|
|
161
|
+
{"id":"usr_50","organization_id":"org_42","tier":"pro"}
|
|
162
|
+
"""
|
|
163
|
+
persist_fixture(f"{ds_name}", ds_content)
|
|
164
|
+
click.echo(FeedbackManager.info(message=f"✓ /fixtures/{ds_name}"))
|
|
165
|
+
|
|
166
|
+
ds_name = "events"
|
|
167
|
+
ds_content = """
|
|
168
|
+
{"request_id":"req_1","timestamp":"2024-11-14T12:11:14.896Z","user_id":"usr_42","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-4","options":{"temperature":"0.8","max_tokens":1582,"stream":false}},"usage":{"prompt_tokens":499,"completion_tokens":123,"total_tokens":622}}
|
|
169
|
+
{"request_id":"req_2","timestamp":"2024-10-06T10:32:09.164Z","user_id":"usr_20","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"0.9","max_tokens":650,"stream":true}},"usage":{"prompt_tokens":384,"completion_tokens":103,"total_tokens":487}}
|
|
170
|
+
{"request_id":"req_3","timestamp":"2024-11-19T03:49:26.569Z","user_id":"usr_27","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-4","options":{"temperature":"0.3","max_tokens":764,"stream":true}},"usage":{"prompt_tokens":63,"completion_tokens":284,"total_tokens":347}}
|
|
171
|
+
{"request_id":"req_4","timestamp":"2024-11-09T09:13:05.359Z","user_id":"usr_8","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.8","max_tokens":1790,"stream":true}},"usage":{"prompt_tokens":405,"completion_tokens":231,"total_tokens":636}}
|
|
172
|
+
{"request_id":"req_5","timestamp":"2024-11-24T17:48:03.640Z","user_id":"usr_45","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-sonnet","options":{"temperature":"1.0","max_tokens":1701,"stream":false}},"usage":{"prompt_tokens":342,"completion_tokens":258,"total_tokens":600}}
|
|
173
|
+
{"request_id":"req_6","timestamp":"2024-11-10T02:07:53.241Z","user_id":"usr_49","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.4","max_tokens":1049,"stream":false}},"usage":{"prompt_tokens":120,"completion_tokens":165,"total_tokens":285}}
|
|
174
|
+
{"request_id":"req_7","timestamp":"2024-10-14T06:43:14.759Z","user_id":"usr_48","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-4","options":{"temperature":"0.9","max_tokens":1548,"stream":true}},"usage":{"prompt_tokens":61,"completion_tokens":104,"total_tokens":165}}
|
|
175
|
+
{"request_id":"req_8","timestamp":"2024-11-21T20:52:03.378Z","user_id":"usr_30","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.5","max_tokens":1742,"stream":true}},"usage":{"prompt_tokens":326,"completion_tokens":236,"total_tokens":562}}
|
|
176
|
+
{"request_id":"req_9","timestamp":"2024-10-24T22:23:11.463Z","user_id":"usr_34","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-4","options":{"temperature":"0.5","max_tokens":748,"stream":true}},"usage":{"prompt_tokens":488,"completion_tokens":148,"total_tokens":636}}
|
|
177
|
+
{"request_id":"req_10","timestamp":"2024-11-13T05:42:38.971Z","user_id":"usr_24","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.3","max_tokens":1729,"stream":true}},"usage":{"prompt_tokens":262,"completion_tokens":162,"total_tokens":424}}
|
|
178
|
+
{"request_id":"req_11","timestamp":"2024-10-21T07:20:51.693Z","user_id":"usr_1","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-opus","options":{"temperature":"0.3","max_tokens":1811,"stream":false}},"usage":{"prompt_tokens":342,"completion_tokens":274,"total_tokens":616}}
|
|
179
|
+
{"request_id":"req_12","timestamp":"2024-11-15T06:03:07.775Z","user_id":"usr_21","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-4","options":{"temperature":"0.3","max_tokens":1484,"stream":true}},"usage":{"prompt_tokens":273,"completion_tokens":266,"total_tokens":539}}
|
|
180
|
+
{"request_id":"req_13","timestamp":"2024-11-29T18:31:23.125Z","user_id":"usr_41","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-sonnet","options":{"temperature":"0.8","max_tokens":1812,"stream":true}},"usage":{"prompt_tokens":265,"completion_tokens":102,"total_tokens":367}}
|
|
181
|
+
{"request_id":"req_14","timestamp":"2024-11-13T23:50:03.888Z","user_id":"usr_13","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.9","max_tokens":1694,"stream":false}},"usage":{"prompt_tokens":76,"completion_tokens":290,"total_tokens":366}}
|
|
182
|
+
{"request_id":"req_15","timestamp":"2024-11-01T14:27:22.401Z","user_id":"usr_32","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-sonnet","options":{"temperature":"0.4","max_tokens":949,"stream":true}},"usage":{"prompt_tokens":105,"completion_tokens":197,"total_tokens":302}}
|
|
183
|
+
{"request_id":"req_16","timestamp":"2024-11-12T09:13:06.447Z","user_id":"usr_2","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-4","options":{"temperature":"0.1","max_tokens":651,"stream":false}},"usage":{"prompt_tokens":348,"completion_tokens":80,"total_tokens":428}}
|
|
184
|
+
{"request_id":"req_17","timestamp":"2024-11-09T21:09:51.044Z","user_id":"usr_24","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.4","max_tokens":692,"stream":false}},"usage":{"prompt_tokens":195,"completion_tokens":178,"total_tokens":373}}
|
|
185
|
+
{"request_id":"req_18","timestamp":"2024-11-06T13:38:08.873Z","user_id":"usr_49","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-opus","options":{"temperature":"0.4","max_tokens":1303,"stream":true}},"usage":{"prompt_tokens":304,"completion_tokens":73,"total_tokens":377}}
|
|
186
|
+
{"request_id":"req_19","timestamp":"2024-11-06T20:47:35.718Z","user_id":"usr_33","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-opus","options":{"temperature":"0.8","max_tokens":1359,"stream":true}},"usage":{"prompt_tokens":55,"completion_tokens":258,"total_tokens":313}}
|
|
187
|
+
{"request_id":"req_20","timestamp":"2024-11-15T09:59:27.956Z","user_id":"usr_9","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-opus","options":{"temperature":"0.6","max_tokens":1768,"stream":true}},"usage":{"prompt_tokens":310,"completion_tokens":62,"total_tokens":372}}
|
|
188
|
+
{"request_id":"req_21","timestamp":"2024-11-17T03:46:10.219Z","user_id":"usr_6","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-opus","options":{"temperature":"0.8","max_tokens":1967,"stream":true}},"usage":{"prompt_tokens":87,"completion_tokens":275,"total_tokens":362}}
|
|
189
|
+
{"request_id":"req_22","timestamp":"2024-10-03T06:52:21.902Z","user_id":"usr_13","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.8","max_tokens":1338,"stream":true}},"usage":{"prompt_tokens":332,"completion_tokens":137,"total_tokens":469}}
|
|
190
|
+
{"request_id":"req_23","timestamp":"2024-11-10T02:53:06.630Z","user_id":"usr_16","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-opus","options":{"temperature":"0.1","max_tokens":1958,"stream":true}},"usage":{"prompt_tokens":444,"completion_tokens":294,"total_tokens":738}}
|
|
191
|
+
{"request_id":"req_24","timestamp":"2024-10-10T04:11:45.410Z","user_id":"usr_44","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"1.0","max_tokens":1241,"stream":false}},"usage":{"prompt_tokens":414,"completion_tokens":227,"total_tokens":641}}
|
|
192
|
+
{"request_id":"req_25","timestamp":"2024-10-15T09:53:09.379Z","user_id":"usr_24","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-4","options":{"temperature":"0.4","max_tokens":1015,"stream":true}},"usage":{"prompt_tokens":433,"completion_tokens":119,"total_tokens":552}}
|
|
193
|
+
{"request_id":"req_26","timestamp":"2024-11-16T16:40:38.042Z","user_id":"usr_8","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"0.3","max_tokens":514,"stream":true}},"usage":{"prompt_tokens":86,"completion_tokens":241,"total_tokens":327}}
|
|
194
|
+
{"request_id":"req_27","timestamp":"2024-10-06T11:34:58.073Z","user_id":"usr_40","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.7","max_tokens":1752,"stream":true}},"usage":{"prompt_tokens":312,"completion_tokens":262,"total_tokens":574}}
|
|
195
|
+
{"request_id":"req_28","timestamp":"2024-10-21T05:35:11.046Z","user_id":"usr_22","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.5","max_tokens":1425,"stream":true}},"usage":{"prompt_tokens":50,"completion_tokens":182,"total_tokens":232}}
|
|
196
|
+
{"request_id":"req_29","timestamp":"2024-10-11T06:14:52.973Z","user_id":"usr_4","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-sonnet","options":{"temperature":"0.4","max_tokens":1660,"stream":true}},"usage":{"prompt_tokens":384,"completion_tokens":124,"total_tokens":508}}
|
|
197
|
+
{"request_id":"req_30","timestamp":"2024-11-13T10:48:53.729Z","user_id":"usr_22","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-4","options":{"temperature":"0.4","max_tokens":1425,"stream":true}},"usage":{"prompt_tokens":299,"completion_tokens":57,"total_tokens":356}}
|
|
198
|
+
{"request_id":"req_31","timestamp":"2024-10-01T03:26:07.133Z","user_id":"usr_41","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"0.8","max_tokens":1975,"stream":true}},"usage":{"prompt_tokens":471,"completion_tokens":245,"total_tokens":716}}
|
|
199
|
+
{"request_id":"req_32","timestamp":"2024-11-26T12:13:53.221Z","user_id":"usr_33","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-opus","options":{"temperature":"0.5","max_tokens":557,"stream":false}},"usage":{"prompt_tokens":75,"completion_tokens":92,"total_tokens":167}}
|
|
200
|
+
{"request_id":"req_33","timestamp":"2024-10-14T07:41:11.783Z","user_id":"usr_18","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-opus","options":{"temperature":"1.0","max_tokens":843,"stream":false}},"usage":{"prompt_tokens":321,"completion_tokens":258,"total_tokens":579}}
|
|
201
|
+
{"request_id":"req_34","timestamp":"2024-10-21T11:20:47.679Z","user_id":"usr_37","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.7","max_tokens":1148,"stream":false}},"usage":{"prompt_tokens":425,"completion_tokens":245,"total_tokens":670}}
|
|
202
|
+
{"request_id":"req_35","timestamp":"2024-11-18T12:02:12.268Z","user_id":"usr_38","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-opus","options":{"temperature":"0.2","max_tokens":1987,"stream":false}},"usage":{"prompt_tokens":50,"completion_tokens":223,"total_tokens":273}}
|
|
203
|
+
{"request_id":"req_36","timestamp":"2024-10-03T02:17:56.042Z","user_id":"usr_38","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.2","max_tokens":1339,"stream":false}},"usage":{"prompt_tokens":102,"completion_tokens":112,"total_tokens":214}}
|
|
204
|
+
{"request_id":"req_37","timestamp":"2024-11-02T19:52:17.904Z","user_id":"usr_34","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-sonnet","options":{"temperature":"0.3","max_tokens":1050,"stream":false}},"usage":{"prompt_tokens":485,"completion_tokens":189,"total_tokens":674}}
|
|
205
|
+
{"request_id":"req_38","timestamp":"2024-11-17T22:26:34.434Z","user_id":"usr_5","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-sonnet","options":{"temperature":"0.6","max_tokens":857,"stream":false}},"usage":{"prompt_tokens":442,"completion_tokens":224,"total_tokens":666}}
|
|
206
|
+
{"request_id":"req_39","timestamp":"2024-11-17T01:20:40.223Z","user_id":"usr_36","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.9","max_tokens":698,"stream":true}},"usage":{"prompt_tokens":430,"completion_tokens":185,"total_tokens":615}}
|
|
207
|
+
{"request_id":"req_40","timestamp":"2024-11-20T21:38:04.662Z","user_id":"usr_31","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.3","max_tokens":1226,"stream":true}},"usage":{"prompt_tokens":201,"completion_tokens":65,"total_tokens":266}}
|
|
208
|
+
{"request_id":"req_41","timestamp":"2024-11-07T11:20:55.217Z","user_id":"usr_34","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-sonnet","options":{"temperature":"0.1","max_tokens":1893,"stream":false}},"usage":{"prompt_tokens":307,"completion_tokens":224,"total_tokens":531}}
|
|
209
|
+
{"request_id":"req_42","timestamp":"2024-10-30T23:13:57.704Z","user_id":"usr_44","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-opus","options":{"temperature":"0.3","max_tokens":888,"stream":false}},"usage":{"prompt_tokens":212,"completion_tokens":53,"total_tokens":265}}
|
|
210
|
+
{"request_id":"req_43","timestamp":"2024-11-09T02:04:23.904Z","user_id":"usr_28","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-sonnet","options":{"temperature":"0.3","max_tokens":1574,"stream":true}},"usage":{"prompt_tokens":161,"completion_tokens":190,"total_tokens":351}}
|
|
211
|
+
{"request_id":"req_44","timestamp":"2024-11-20T21:28:23.931Z","user_id":"usr_22","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-opus","options":{"temperature":"0.4","max_tokens":578,"stream":true}},"usage":{"prompt_tokens":465,"completion_tokens":294,"total_tokens":759}}
|
|
212
|
+
{"request_id":"req_45","timestamp":"2024-11-15T14:02:11.552Z","user_id":"usr_2","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-opus","options":{"temperature":"0.4","max_tokens":502,"stream":true}},"usage":{"prompt_tokens":489,"completion_tokens":288,"total_tokens":777}}
|
|
213
|
+
{"request_id":"req_46","timestamp":"2024-10-22T23:05:29.902Z","user_id":"usr_15","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-4","options":{"temperature":"0.5","max_tokens":1280,"stream":true}},"usage":{"prompt_tokens":462,"completion_tokens":283,"total_tokens":745}}
|
|
214
|
+
{"request_id":"req_47","timestamp":"2024-10-28T01:16:36.936Z","user_id":"usr_28","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"0.4","max_tokens":1513,"stream":true}},"usage":{"prompt_tokens":421,"completion_tokens":204,"total_tokens":625}}
|
|
215
|
+
{"request_id":"req_48","timestamp":"2024-11-20T18:18:38.744Z","user_id":"usr_4","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.8","max_tokens":1194,"stream":true}},"usage":{"prompt_tokens":251,"completion_tokens":109,"total_tokens":360}}
|
|
216
|
+
{"request_id":"req_49","timestamp":"2024-10-12T17:21:20.482Z","user_id":"usr_11","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.3","max_tokens":621,"stream":false}},"usage":{"prompt_tokens":195,"completion_tokens":253,"total_tokens":448}}
|
|
217
|
+
{"request_id":"req_50","timestamp":"2024-11-27T14:14:23.737Z","user_id":"usr_8","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-4","options":{"temperature":"0.0","max_tokens":1468,"stream":true}},"usage":{"prompt_tokens":461,"completion_tokens":100,"total_tokens":561}}
|
|
218
|
+
{"request_id":"req_51","timestamp":"2024-10-15T14:58:09.623Z","user_id":"usr_48","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-opus","options":{"temperature":"1.0","max_tokens":1879,"stream":false}},"usage":{"prompt_tokens":51,"completion_tokens":215,"total_tokens":266}}
|
|
219
|
+
{"request_id":"req_52","timestamp":"2024-11-18T00:55:43.893Z","user_id":"usr_48","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-sonnet","options":{"temperature":"0.2","max_tokens":549,"stream":false}},"usage":{"prompt_tokens":481,"completion_tokens":142,"total_tokens":623}}
|
|
220
|
+
{"request_id":"req_53","timestamp":"2024-11-01T03:22:01.890Z","user_id":"usr_14","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.8","max_tokens":1771,"stream":false}},"usage":{"prompt_tokens":459,"completion_tokens":79,"total_tokens":538}}
|
|
221
|
+
{"request_id":"req_54","timestamp":"2024-10-26T08:57:25.867Z","user_id":"usr_17","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-opus","options":{"temperature":"0.4","max_tokens":1888,"stream":false}},"usage":{"prompt_tokens":219,"completion_tokens":226,"total_tokens":445}}
|
|
222
|
+
{"request_id":"req_55","timestamp":"2024-11-17T16:12:47.424Z","user_id":"usr_43","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-4","options":{"temperature":"0.0","max_tokens":1281,"stream":false}},"usage":{"prompt_tokens":426,"completion_tokens":244,"total_tokens":670}}
|
|
223
|
+
{"request_id":"req_56","timestamp":"2024-10-10T01:03:29.669Z","user_id":"usr_6","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.3","max_tokens":1004,"stream":false}},"usage":{"prompt_tokens":420,"completion_tokens":69,"total_tokens":489}}
|
|
224
|
+
{"request_id":"req_57","timestamp":"2024-10-10T19:18:37.937Z","user_id":"usr_30","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-4","options":{"temperature":"0.7","max_tokens":1209,"stream":true}},"usage":{"prompt_tokens":59,"completion_tokens":66,"total_tokens":125}}
|
|
225
|
+
{"request_id":"req_58","timestamp":"2024-10-07T19:20:21.754Z","user_id":"usr_4","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.5","max_tokens":1215,"stream":true}},"usage":{"prompt_tokens":197,"completion_tokens":201,"total_tokens":398}}
|
|
226
|
+
{"request_id":"req_59","timestamp":"2024-10-12T07:54:12.535Z","user_id":"usr_35","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-4","options":{"temperature":"0.1","max_tokens":1445,"stream":false}},"usage":{"prompt_tokens":318,"completion_tokens":111,"total_tokens":429}}
|
|
227
|
+
{"request_id":"req_60","timestamp":"2024-11-04T00:11:56.488Z","user_id":"usr_3","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"1.0","max_tokens":1127,"stream":true}},"usage":{"prompt_tokens":286,"completion_tokens":293,"total_tokens":579}}
|
|
228
|
+
{"request_id":"req_61","timestamp":"2024-10-15T10:29:51.122Z","user_id":"usr_36","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.9","max_tokens":1810,"stream":false}},"usage":{"prompt_tokens":308,"completion_tokens":238,"total_tokens":546}}
|
|
229
|
+
{"request_id":"req_62","timestamp":"2024-10-15T07:46:39.995Z","user_id":"usr_36","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.8","max_tokens":736,"stream":true}},"usage":{"prompt_tokens":102,"completion_tokens":194,"total_tokens":296}}
|
|
230
|
+
{"request_id":"req_63","timestamp":"2024-10-25T11:39:09.912Z","user_id":"usr_37","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.5","max_tokens":1112,"stream":true}},"usage":{"prompt_tokens":211,"completion_tokens":139,"total_tokens":350}}
|
|
231
|
+
{"request_id":"req_64","timestamp":"2024-10-20T16:35:00.170Z","user_id":"usr_32","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-4","options":{"temperature":"0.2","max_tokens":535,"stream":true}},"usage":{"prompt_tokens":355,"completion_tokens":116,"total_tokens":471}}
|
|
232
|
+
{"request_id":"req_65","timestamp":"2024-11-27T04:31:51.172Z","user_id":"usr_44","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"0.3","max_tokens":838,"stream":true}},"usage":{"prompt_tokens":468,"completion_tokens":298,"total_tokens":766}}
|
|
233
|
+
{"request_id":"req_66","timestamp":"2024-10-26T17:30:31.696Z","user_id":"usr_12","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-sonnet","options":{"temperature":"0.7","max_tokens":505,"stream":true}},"usage":{"prompt_tokens":190,"completion_tokens":207,"total_tokens":397}}
|
|
234
|
+
{"request_id":"req_67","timestamp":"2024-10-04T02:09:21.280Z","user_id":"usr_31","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-4","options":{"temperature":"1.0","max_tokens":886,"stream":false}},"usage":{"prompt_tokens":264,"completion_tokens":60,"total_tokens":324}}
|
|
235
|
+
{"request_id":"req_68","timestamp":"2024-11-14T09:34:25.291Z","user_id":"usr_17","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"0.5","max_tokens":1794,"stream":true}},"usage":{"prompt_tokens":166,"completion_tokens":133,"total_tokens":299}}
|
|
236
|
+
{"request_id":"req_69","timestamp":"2024-10-13T20:06:12.700Z","user_id":"usr_18","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.6","max_tokens":555,"stream":false}},"usage":{"prompt_tokens":247,"completion_tokens":149,"total_tokens":396}}
|
|
237
|
+
{"request_id":"req_70","timestamp":"2024-10-05T01:45:08.193Z","user_id":"usr_31","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.9","max_tokens":1428,"stream":true}},"usage":{"prompt_tokens":54,"completion_tokens":132,"total_tokens":186}}
|
|
238
|
+
{"request_id":"req_71","timestamp":"2024-11-15T22:14:55.479Z","user_id":"usr_18","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-opus","options":{"temperature":"0.5","max_tokens":650,"stream":false}},"usage":{"prompt_tokens":65,"completion_tokens":206,"total_tokens":271}}
|
|
239
|
+
{"request_id":"req_72","timestamp":"2024-11-09T06:44:07.284Z","user_id":"usr_43","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-sonnet","options":{"temperature":"0.2","max_tokens":1363,"stream":false}},"usage":{"prompt_tokens":443,"completion_tokens":284,"total_tokens":727}}
|
|
240
|
+
{"request_id":"req_73","timestamp":"2024-11-06T01:10:44.917Z","user_id":"usr_24","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-4","options":{"temperature":"0.4","max_tokens":1927,"stream":true}},"usage":{"prompt_tokens":495,"completion_tokens":216,"total_tokens":711}}
|
|
241
|
+
{"request_id":"req_74","timestamp":"2024-10-19T14:43:49.854Z","user_id":"usr_26","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.4","max_tokens":679,"stream":false}},"usage":{"prompt_tokens":221,"completion_tokens":286,"total_tokens":507}}
|
|
242
|
+
{"request_id":"req_75","timestamp":"2024-10-05T06:19:28.703Z","user_id":"usr_25","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-opus","options":{"temperature":"0.8","max_tokens":1614,"stream":false}},"usage":{"prompt_tokens":59,"completion_tokens":93,"total_tokens":152}}
|
|
243
|
+
{"request_id":"req_76","timestamp":"2024-11-04T22:29:57.675Z","user_id":"usr_33","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.9","max_tokens":1491,"stream":false}},"usage":{"prompt_tokens":90,"completion_tokens":120,"total_tokens":210}}
|
|
244
|
+
{"request_id":"req_77","timestamp":"2024-11-08T02:17:28.909Z","user_id":"usr_4","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"0.0","max_tokens":1324,"stream":true}},"usage":{"prompt_tokens":355,"completion_tokens":102,"total_tokens":457}}
|
|
245
|
+
{"request_id":"req_78","timestamp":"2024-10-24T15:25:14.046Z","user_id":"usr_39","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-opus","options":{"temperature":"0.8","max_tokens":1529,"stream":false}},"usage":{"prompt_tokens":208,"completion_tokens":141,"total_tokens":349}}
|
|
246
|
+
{"request_id":"req_79","timestamp":"2024-10-27T13:01:16.190Z","user_id":"usr_40","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-opus","options":{"temperature":"0.0","max_tokens":1638,"stream":false}},"usage":{"prompt_tokens":243,"completion_tokens":274,"total_tokens":517}}
|
|
247
|
+
{"request_id":"req_80","timestamp":"2024-11-22T13:07:16.699Z","user_id":"usr_24","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.4","max_tokens":1397,"stream":true}},"usage":{"prompt_tokens":263,"completion_tokens":185,"total_tokens":448}}
|
|
248
|
+
{"request_id":"req_81","timestamp":"2024-11-29T03:35:54.264Z","user_id":"usr_26","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-4","options":{"temperature":"0.1","max_tokens":1521,"stream":false}},"usage":{"prompt_tokens":273,"completion_tokens":199,"total_tokens":472}}
|
|
249
|
+
{"request_id":"req_82","timestamp":"2024-11-20T08:27:02.022Z","user_id":"usr_38","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-opus","options":{"temperature":"0.6","max_tokens":1463,"stream":true}},"usage":{"prompt_tokens":192,"completion_tokens":120,"total_tokens":312}}
|
|
250
|
+
{"request_id":"req_83","timestamp":"2024-11-09T10:38:51.640Z","user_id":"usr_24","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-3.5-turbo","options":{"temperature":"1.0","max_tokens":1574,"stream":false}},"usage":{"prompt_tokens":406,"completion_tokens":58,"total_tokens":464}}
|
|
251
|
+
{"request_id":"req_84","timestamp":"2024-10-29T18:37:34.187Z","user_id":"usr_16","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-opus","options":{"temperature":"0.1","max_tokens":1924,"stream":true}},"usage":{"prompt_tokens":237,"completion_tokens":284,"total_tokens":521}}
|
|
252
|
+
{"request_id":"req_85","timestamp":"2024-10-17T21:47:26.419Z","user_id":"usr_49","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-opus","options":{"temperature":"0.7","max_tokens":1714,"stream":false}},"usage":{"prompt_tokens":114,"completion_tokens":194,"total_tokens":308}}
|
|
253
|
+
{"request_id":"req_86","timestamp":"2024-10-13T16:59:19.264Z","user_id":"usr_40","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.8","max_tokens":520,"stream":true}},"usage":{"prompt_tokens":227,"completion_tokens":190,"total_tokens":417}}
|
|
254
|
+
{"request_id":"req_87","timestamp":"2024-10-25T06:47:20.855Z","user_id":"usr_48","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.3","max_tokens":1904,"stream":false}},"usage":{"prompt_tokens":476,"completion_tokens":96,"total_tokens":572}}
|
|
255
|
+
{"request_id":"req_88","timestamp":"2024-11-05T07:30:25.734Z","user_id":"usr_4","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.9","max_tokens":535,"stream":false}},"usage":{"prompt_tokens":399,"completion_tokens":217,"total_tokens":616}}
|
|
256
|
+
{"request_id":"req_89","timestamp":"2024-11-13T01:46:36.632Z","user_id":"usr_20","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-4","options":{"temperature":"0.4","max_tokens":1260,"stream":true}},"usage":{"prompt_tokens":189,"completion_tokens":159,"total_tokens":348}}
|
|
257
|
+
{"request_id":"req_90","timestamp":"2024-11-29T06:17:41.475Z","user_id":"usr_7","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"claude-3-sonnet","options":{"temperature":"0.5","max_tokens":1105,"stream":false}},"usage":{"prompt_tokens":164,"completion_tokens":223,"total_tokens":387}}
|
|
258
|
+
{"request_id":"req_91","timestamp":"2024-11-21T21:18:42.618Z","user_id":"usr_31","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.1","max_tokens":1899,"stream":false}},"usage":{"prompt_tokens":424,"completion_tokens":121,"total_tokens":545}}
|
|
259
|
+
{"request_id":"req_92","timestamp":"2024-10-13T04:50:06.616Z","user_id":"usr_20","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-4","options":{"temperature":"0.6","max_tokens":752,"stream":true}},"usage":{"prompt_tokens":400,"completion_tokens":160,"total_tokens":560}}
|
|
260
|
+
{"request_id":"req_93","timestamp":"2024-10-06T12:44:26.578Z","user_id":"usr_18","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-4","options":{"temperature":"0.4","max_tokens":1916,"stream":false}},"usage":{"prompt_tokens":193,"completion_tokens":299,"total_tokens":492}}
|
|
261
|
+
{"request_id":"req_94","timestamp":"2024-11-16T12:40:44.907Z","user_id":"usr_46","request":{"type":"chat","endpoint":"/v1/completions","model":"claude-3-sonnet","options":{"temperature":"0.9","max_tokens":1612,"stream":false}},"usage":{"prompt_tokens":149,"completion_tokens":181,"total_tokens":330}}
|
|
262
|
+
{"request_id":"req_95","timestamp":"2024-10-28T14:02:47.893Z","user_id":"usr_21","request":{"type":"chat","endpoint":"/v1/chat/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.6","max_tokens":1378,"stream":true}},"usage":{"prompt_tokens":363,"completion_tokens":292,"total_tokens":655}}
|
|
263
|
+
{"request_id":"req_96","timestamp":"2024-10-24T10:13:34.492Z","user_id":"usr_9","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-opus","options":{"temperature":"0.2","max_tokens":1055,"stream":true}},"usage":{"prompt_tokens":463,"completion_tokens":252,"total_tokens":715}}
|
|
264
|
+
{"request_id":"req_97","timestamp":"2024-10-25T05:35:39.972Z","user_id":"usr_32","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-3.5-turbo","options":{"temperature":"0.1","max_tokens":877,"stream":false}},"usage":{"prompt_tokens":451,"completion_tokens":211,"total_tokens":662}}
|
|
265
|
+
{"request_id":"req_98","timestamp":"2024-10-30T12:55:53.621Z","user_id":"usr_21","request":{"type":"chat","endpoint":"/v1/images/generations","model":"claude-3-sonnet","options":{"temperature":"0.8","max_tokens":1966,"stream":true}},"usage":{"prompt_tokens":497,"completion_tokens":93,"total_tokens":590}}
|
|
266
|
+
{"request_id":"req_99","timestamp":"2024-11-14T11:31:10.758Z","user_id":"usr_11","request":{"type":"chat","endpoint":"/v1/completions","model":"gpt-4","options":{"temperature":"0.4","max_tokens":564,"stream":true}},"usage":{"prompt_tokens":244,"completion_tokens":154,"total_tokens":398}}
|
|
267
|
+
{"request_id":"req_100","timestamp":"2024-11-22T13:43:33.802Z","user_id":"usr_25","request":{"type":"chat","endpoint":"/v1/images/generations","model":"gpt-4","options":{"temperature":"0.9","max_tokens":1096,"stream":true}},"usage":{"prompt_tokens":58,"completion_tokens":274,"total_tokens":332}}
|
|
268
|
+
"""
|
|
269
|
+
persist_fixture(f"{ds_name}", ds_content)
|
|
270
|
+
click.echo(FeedbackManager.info(message=f"✓ /fixtures/{ds_name}"))
|
|
271
|
+
|
|
272
|
+
# Create sample endpoint
|
|
273
|
+
pipe_name = "api_token_usage"
|
|
274
|
+
pipe_path = Path(folder) / "endpoints" / f"{pipe_name}.pipe"
|
|
275
|
+
pipe_content = """DESCRIPTION >
|
|
276
|
+
Pipe to generate a token usage timeline.
|
|
277
|
+
|
|
278
|
+
NODE api_token_usage_node_1
|
|
279
|
+
SQL >
|
|
280
|
+
%
|
|
281
|
+
SELECT
|
|
282
|
+
toDate(timestamp) as date,
|
|
283
|
+
user_id,
|
|
284
|
+
sum(usage_total_tokens) as total_tokens
|
|
285
|
+
FROM
|
|
286
|
+
events
|
|
287
|
+
WHERE
|
|
288
|
+
user_id IN (SELECT id FROM users WHERE organization_id = {{String(organization_id)}})
|
|
289
|
+
{%if defined(start_date) and defined(end_date)%}
|
|
290
|
+
AND timestamp BETWEEN {{DateTime(start_date)}} AND {{DateTime(end_date)}}
|
|
291
|
+
{%else%}
|
|
292
|
+
AND timestamp BETWEEN now() - interval 30 day AND now()
|
|
293
|
+
{%end%}
|
|
294
|
+
GROUP BY
|
|
295
|
+
date, user_id
|
|
296
|
+
ORDER BY
|
|
297
|
+
date
|
|
298
|
+
|
|
299
|
+
TYPE Endpoint
|
|
300
|
+
|
|
301
|
+
"""
|
|
302
|
+
pipe_path.write_text(pipe_content)
|
|
303
|
+
click.echo(FeedbackManager.info(message=f"✓ /endpoints/{pipe_name}.pipe"))
|
|
304
|
+
|
|
305
|
+
elif data:
|
|
67
306
|
ds_name = os.path.basename(data.split(".")[0])
|
|
68
307
|
data_content = Path(data).read_text()
|
|
69
308
|
datasource_path = Path(folder) / "datasources" / f"{ds_name}.datasource"
|
|
@@ -74,13 +313,12 @@ async def create(
|
|
|
74
313
|
datasource_files = [f for f in os.listdir(Path(folder) / "datasources") if f.endswith(".datasource")]
|
|
75
314
|
for datasource_file in datasource_files:
|
|
76
315
|
datasource_path = Path(folder) / "datasources" / datasource_file
|
|
77
|
-
|
|
78
|
-
llm = LLM(key=llm_config["api_key"])
|
|
316
|
+
llm = LLM(client=tb_client)
|
|
79
317
|
datasource_name = datasource_path.stem
|
|
80
318
|
datasource_content = datasource_path.read_text()
|
|
81
319
|
has_json_path = "`json:" in datasource_content
|
|
82
320
|
if has_json_path:
|
|
83
|
-
sql = await llm.generate_sql_sample_data(
|
|
321
|
+
sql = await llm.generate_sql_sample_data(schema=datasource_content, rows=rows, context=prompt)
|
|
84
322
|
result = await tb_client.query(f"{sql} FORMAT JSON")
|
|
85
323
|
data = result.get("data", [])
|
|
86
324
|
fixture_name = build_fixture_name(datasource_path.absolute(), datasource_name, datasource_content)
|
|
@@ -88,8 +326,6 @@ async def create(
|
|
|
88
326
|
click.echo(FeedbackManager.info(message=f"✓ /fixtures/{datasource_name}"))
|
|
89
327
|
|
|
90
328
|
click.echo(FeedbackManager.success(message="✓ Done!\n"))
|
|
91
|
-
|
|
92
|
-
click.echo(FeedbackManager.success(message="✓ Tinybird local is ready!"))
|
|
93
329
|
except Exception as e:
|
|
94
330
|
click.echo(FeedbackManager.error(message=f"Error: {str(e)}"))
|
|
95
331
|
|
|
@@ -130,8 +366,7 @@ TYPE ENDPOINT
|
|
|
130
366
|
)
|
|
131
367
|
elif prompt:
|
|
132
368
|
try:
|
|
133
|
-
|
|
134
|
-
llm = LLM(key=llm_config["api_key"])
|
|
369
|
+
llm = LLM(client=client)
|
|
135
370
|
result = await llm.create_project(prompt)
|
|
136
371
|
for ds in result.datasources:
|
|
137
372
|
content = ds.content.replace("```", "")
|
|
@@ -54,15 +54,12 @@ async def folder_build(
|
|
|
54
54
|
folder: str = ".",
|
|
55
55
|
ignore_sql_errors: bool = False,
|
|
56
56
|
is_internal: bool = False,
|
|
57
|
-
only_pipes: bool = False,
|
|
58
57
|
is_vendor: bool = False,
|
|
59
58
|
current_ws: Optional[Dict[str, Any]] = None,
|
|
60
59
|
local_ws: Optional[Dict[str, Any]] = None,
|
|
61
60
|
workspaces: Optional[List[Dict[str, Any]]] = None,
|
|
61
|
+
watch: bool = False,
|
|
62
62
|
):
|
|
63
|
-
if only_pipes:
|
|
64
|
-
filenames = [f for f in filenames if f.endswith(".pipe")]
|
|
65
|
-
|
|
66
63
|
config = CLIConfig.get_project_config()
|
|
67
64
|
build = True
|
|
68
65
|
dry_run = False
|
|
@@ -118,7 +115,7 @@ async def folder_build(
|
|
|
118
115
|
|
|
119
116
|
vendor_workspaces = []
|
|
120
117
|
|
|
121
|
-
if vendor_path.exists() and not is_vendor:
|
|
118
|
+
if vendor_path.exists() and not is_vendor and not watch:
|
|
122
119
|
user_workspaces = await user_client.user_workspaces()
|
|
123
120
|
for x in vendor_path.iterdir():
|
|
124
121
|
if x.is_dir() and x.name not in existing_workspaces:
|
|
@@ -147,7 +144,7 @@ async def folder_build(
|
|
|
147
144
|
ws_client.token = vendor_ws["token"]
|
|
148
145
|
shared_ws_path = Path(folder) / "vendor" / vendor_ws["name"]
|
|
149
146
|
|
|
150
|
-
if shared_ws_path.exists() and not is_vendor:
|
|
147
|
+
if shared_ws_path.exists() and not is_vendor and not watch:
|
|
151
148
|
await folder_build(
|
|
152
149
|
ws_client, folder=shared_ws_path.as_posix(), is_vendor=True, current_ws=vendor_ws, local_ws=local_ws
|
|
153
150
|
)
|
|
@@ -440,14 +437,16 @@ async def folder_build(
|
|
|
440
437
|
|
|
441
438
|
for group in groups:
|
|
442
439
|
for name in group:
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
440
|
+
is_vendor = resources_to_run_fork_downstream.get(name, {}).get("filename", "").startswith("vendor/")
|
|
441
|
+
if not is_vendor:
|
|
442
|
+
try:
|
|
443
|
+
await tb_client.datasource_delete(name, force=True)
|
|
444
|
+
except Exception:
|
|
445
|
+
pass
|
|
446
|
+
try:
|
|
447
|
+
await tb_client.pipe_delete(name)
|
|
448
|
+
except Exception:
|
|
449
|
+
pass
|
|
451
450
|
|
|
452
451
|
groups.reverse()
|
|
453
452
|
for group in groups:
|
|
@@ -1036,9 +1035,13 @@ async def build_graph(
|
|
|
1036
1035
|
raise click.ClickException(str(e))
|
|
1037
1036
|
|
|
1038
1037
|
for r in res:
|
|
1039
|
-
|
|
1038
|
+
resource_name = r["resource_name"]
|
|
1040
1039
|
warnings = r.get("warnings", [])
|
|
1041
|
-
if
|
|
1040
|
+
if (
|
|
1041
|
+
changed
|
|
1042
|
+
and resource_name in changed
|
|
1043
|
+
and (not changed[resource_name] or changed[resource_name] in ["shared", "remote"])
|
|
1044
|
+
):
|
|
1042
1045
|
continue
|
|
1043
1046
|
|
|
1044
1047
|
if (
|
|
@@ -1046,9 +1049,9 @@ async def build_graph(
|
|
|
1046
1049
|
and r.get("resource", "") == "pipes"
|
|
1047
1050
|
and any(["engine" in x.get("params", {}) for x in r.get("nodes", [])])
|
|
1048
1051
|
):
|
|
1049
|
-
raise click.ClickException(FeedbackManager.error_forkdownstream_pipes_with_engine(pipe=
|
|
1052
|
+
raise click.ClickException(FeedbackManager.error_forkdownstream_pipes_with_engine(pipe=resource_name))
|
|
1050
1053
|
|
|
1051
|
-
to_run[
|
|
1054
|
+
to_run[resource_name] = r
|
|
1052
1055
|
file_deps = r.get("deps", [])
|
|
1053
1056
|
deps += file_deps
|
|
1054
1057
|
# calculate and look for deps
|
|
@@ -1064,7 +1067,7 @@ async def build_graph(
|
|
|
1064
1067
|
to_run[ds_fn] = deepcopy(r)
|
|
1065
1068
|
try:
|
|
1066
1069
|
to_run[ds_fn]["deps"] = list(
|
|
1067
|
-
set(to_run[ds_fn].get("deps", []) + prev.get("deps", []) + [
|
|
1070
|
+
set(to_run[ds_fn].get("deps", []) + prev.get("deps", []) + [resource_name])
|
|
1068
1071
|
)
|
|
1069
1072
|
except ValueError:
|
|
1070
1073
|
pass
|
|
@@ -1085,7 +1088,7 @@ async def build_graph(
|
|
|
1085
1088
|
)
|
|
1086
1089
|
r["shared_with"] = mapped_workspaces
|
|
1087
1090
|
|
|
1088
|
-
dep_map[
|
|
1091
|
+
dep_map[resource_name] = set(dep_list)
|
|
1089
1092
|
return os.path.basename(name), warnings
|
|
1090
1093
|
|
|
1091
1094
|
processed = set()
|
|
@@ -1169,7 +1172,10 @@ async def process_file(
|
|
|
1169
1172
|
workspace_map: Optional[Dict] = None,
|
|
1170
1173
|
workspace_lib_paths: Optional[List[Tuple[str, str]]] = None,
|
|
1171
1174
|
current_ws: Optional[Dict[str, Any]] = None,
|
|
1172
|
-
):
|
|
1175
|
+
) -> List[Dict[str, Any]]:
|
|
1176
|
+
"""Returns a list of resources
|
|
1177
|
+
|
|
1178
|
+
For both datasources and pipes, a list of just one item is returned"""
|
|
1173
1179
|
if workspace_map is None:
|
|
1174
1180
|
workspace_map = {}
|
|
1175
1181
|
|
|
@@ -1349,6 +1355,8 @@ async def process_file(
|
|
|
1349
1355
|
indexes = None
|
|
1350
1356
|
if indexes_list:
|
|
1351
1357
|
indexes = "\n".join([index.to_sql() for index in indexes_list])
|
|
1358
|
+
# Here is where we lose the columns
|
|
1359
|
+
# I don't know why we don't return something more similar to the parsed doc
|
|
1352
1360
|
params = {
|
|
1353
1361
|
"name": append_version_to_name(name, version),
|
|
1354
1362
|
"description": description,
|
|
@@ -264,6 +264,10 @@ async def new_pipe(
|
|
|
264
264
|
except Exception as e:
|
|
265
265
|
raise click.ClickException(FeedbackManager.error_creating_pipe(error=e))
|
|
266
266
|
|
|
267
|
+
if data.get("type") == "endpoint":
|
|
268
|
+
token = tb_client.token
|
|
269
|
+
print(f"""** => Test endpoint with:\n** $ curl {host}/v0/pipes/{p["name"]}.json?token={token}""") # noqa: T201
|
|
270
|
+
|
|
267
271
|
|
|
268
272
|
async def get_token_from_main_branch(branch_tb_client: TinyB) -> Optional[str]:
|
|
269
273
|
token_from_main_branch = None
|