arize-phoenix 4.30.2__py3-none-any.whl → 4.31.0__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 arize-phoenix might be problematic. Click here for more details.
- {arize_phoenix-4.30.2.dist-info → arize_phoenix-4.31.0.dist-info}/METADATA +1 -1
- {arize_phoenix-4.30.2.dist-info → arize_phoenix-4.31.0.dist-info}/RECORD +15 -15
- phoenix/server/app.py +34 -2
- phoenix/server/dml_event_handler.py +1 -0
- phoenix/server/main.py +21 -1
- phoenix/server/static/.vite/manifest.json +9 -9
- phoenix/server/static/assets/{components-CkSg5zK4.js → components-CEsu6itL.js} +1 -1
- phoenix/server/static/assets/{index-DTecsU5w.js → index-Cuxn1Qdi.js} +1 -1
- phoenix/server/static/assets/{pages-C6emDFIO.js → pages-eeRVG3GZ.js} +218 -180
- phoenix/trace/fixtures.py +46 -10
- phoenix/trace/utils.py +2 -8
- phoenix/version.py +1 -1
- {arize_phoenix-4.30.2.dist-info → arize_phoenix-4.31.0.dist-info}/WHEEL +0 -0
- {arize_phoenix-4.30.2.dist-info → arize_phoenix-4.31.0.dist-info}/licenses/IP_NOTICE +0 -0
- {arize_phoenix-4.30.2.dist-info → arize_phoenix-4.31.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -6,7 +6,7 @@ phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
|
|
|
6
6
|
phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
7
7
|
phoenix/services.py,sha256=OyML4t2XGnlqF0JXA9_uccL8HslTABxep9Ci7MViKEU,5216
|
|
8
8
|
phoenix/settings.py,sha256=cO-qgis_S27nHirTobYI9hHPfZH18R--WMmxNdsVUwc,273
|
|
9
|
-
phoenix/version.py,sha256=
|
|
9
|
+
phoenix/version.py,sha256=cwXnCkuybXvG8CJdFQgdInYSNEQ76nXEvTuAMbm7ENc,23
|
|
10
10
|
phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
|
|
12
12
|
phoenix/core/model.py,sha256=km_a--PBHOuA337ClRw9xqhOHhrUT6Rl9pz_zV0JYkQ,4843
|
|
@@ -72,11 +72,11 @@ phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYG
|
|
|
72
72
|
phoenix/pointcloud/projectors.py,sha256=zO_RrtDYSv2rqVOfIP2_9Cv11Dc8EmcZR94xhFcBYPU,1057
|
|
73
73
|
phoenix/pointcloud/umap_parameters.py,sha256=3UQSjrysVOvq2V4KNpTMqNqNiK0BsTZnPBHWZ4fyJtQ,1708
|
|
74
74
|
phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
75
|
-
phoenix/server/app.py,sha256=
|
|
75
|
+
phoenix/server/app.py,sha256=rnd4ps3JYRqD2DdE34TruMiismRTzFqgQrSupXLnVRU,28006
|
|
76
76
|
phoenix/server/dml_event.py,sha256=MpjCFqljxvgb9OB5Cez9vJesb3oHb3XxXictynBfcis,2851
|
|
77
|
-
phoenix/server/dml_event_handler.py,sha256=
|
|
77
|
+
phoenix/server/dml_event_handler.py,sha256=yU23-DDwXcL35p5EPwFW0oZh6mxQxJrJAQPKcYZYJz4,8310
|
|
78
78
|
phoenix/server/grpc_server.py,sha256=jllxDNkpLQxDkvej4RhTokobowbvydF-SU8gSw1MTCc,3378
|
|
79
|
-
phoenix/server/main.py,sha256=
|
|
79
|
+
phoenix/server/main.py,sha256=OXqRIppf_AiFWBMMLIozvqRAMrJqwK7t5uFL6yQC2j8,14485
|
|
80
80
|
phoenix/server/prometheus.py,sha256=j9DHB2fERuq_ZKmwVaqR-9wx5WcPPuU1Cm5Bhg5241Y,2996
|
|
81
81
|
phoenix/server/telemetry.py,sha256=T_2OKrxNViAeaANlNspEekg_Y5uZIFWvKAnpz8Aoqvk,2762
|
|
82
82
|
phoenix/server/thread_server.py,sha256=RwXQGP_QhGD7le6WB7xEygEEuwBl5Ck_Zo8xGIYGi9M,2135
|
|
@@ -242,10 +242,10 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
|
|
|
242
242
|
phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
|
|
243
243
|
phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
|
|
244
244
|
phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
|
|
245
|
-
phoenix/server/static/.vite/manifest.json,sha256=
|
|
246
|
-
phoenix/server/static/assets/components-
|
|
247
|
-
phoenix/server/static/assets/index-
|
|
248
|
-
phoenix/server/static/assets/pages-
|
|
245
|
+
phoenix/server/static/.vite/manifest.json,sha256=l5PYEBo0V10WvPZcDPW9uwNedEA5nmLoOrC_-ZMrU-k,1929
|
|
246
|
+
phoenix/server/static/assets/components-CEsu6itL.js,sha256=s16CoqiDIY0P1koerMJLXKRGckrry2j7TdFmT_tusLk,244317
|
|
247
|
+
phoenix/server/static/assets/index-Cuxn1Qdi.js,sha256=1j6OndkjUTZy8MlmlLOeOdoYadDgn60nBYhEN3lh-20,7515
|
|
248
|
+
phoenix/server/static/assets/pages-eeRVG3GZ.js,sha256=uyG6j1wduaoEtcO4HwdPrtQCQAoECeC0TiA6edyT6bk,504931
|
|
249
249
|
phoenix/server/static/assets/vendor-DsnEJuEV.js,sha256=YyePucCaVO5Wke5vLm6NF6V3_rAomN7TqcBzv8QY6q0,1435199
|
|
250
250
|
phoenix/server/static/assets/vendor-DxkFTwjz.css,sha256=nZrkr0u6NNElFGvpWHk9GTHeGoibCXCli1bE7mXZGZg,1816
|
|
251
251
|
phoenix/server/static/assets/vendor-arizeai-DtynTLNi.js,sha256=7D2zoxiUlFzqSpK-BDO4HlhbruUMmw3_CCDYQq6Mw-4,304008
|
|
@@ -264,7 +264,7 @@ phoenix/trace/attributes.py,sha256=B_OrzVaxZwFkrAFXZyicYoIti1UdUysURsvUS2GyW1U,1
|
|
|
264
264
|
phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
|
|
265
265
|
phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKyttYdw-ddvPOk,1048
|
|
266
266
|
phoenix/trace/exporter.py,sha256=eAYemdvDCHMugDJiaR29BFFMTQBdf3oerdkz34Cl3hE,4736
|
|
267
|
-
phoenix/trace/fixtures.py,sha256=
|
|
267
|
+
phoenix/trace/fixtures.py,sha256=YsKJJEnqo1f_yJzVrfQnnrmS0LlQl7k37lbLY2pZ7ds,17856
|
|
268
268
|
phoenix/trace/otel.py,sha256=WA720jvRadiZBAKjsYoPyXzypHwbyEK2OZRVUwtbjB8,9976
|
|
269
269
|
phoenix/trace/projects.py,sha256=2BwlNjFE-uwpqYtCu5YyBiYZk9wRPpM13vh3-Cv7GkA,2157
|
|
270
270
|
phoenix/trace/schemas.py,sha256=HpWSyzec0yDHEQXEDuwyLbhpvKrqkGps8BJqGiIFj8Y,5978
|
|
@@ -272,7 +272,7 @@ phoenix/trace/span_evaluations.py,sha256=GaADtJLi2njra4aYaie0BIwkSgdxPB_SNseglI4
|
|
|
272
272
|
phoenix/trace/span_json_decoder.py,sha256=jkpYSmOUsSptvahOvetrPjVkPIuI4h6b87eizL8wHp8,3230
|
|
273
273
|
phoenix/trace/span_json_encoder.py,sha256=tzSCIQJbeFBm33K68G8A5M12n_86tCDyuU0WAobxEz4,2010
|
|
274
274
|
phoenix/trace/trace_dataset.py,sha256=Wq89jJ4hYQ1Qt-Uj11ZNzKQYQeKmGY6NqWStQiiTlMw,14351
|
|
275
|
-
phoenix/trace/utils.py,sha256=
|
|
275
|
+
phoenix/trace/utils.py,sha256=lWinMM7Tsq_DCsBD5Ck97lxouBHrY4muGNsh8JD3qg4,1694
|
|
276
276
|
phoenix/trace/dsl/README.md,sha256=ihmP9zGUC5V-TDbzKla76LuyDqPDQIBUH2BORwxNI68,2902
|
|
277
277
|
phoenix/trace/dsl/__init__.py,sha256=WIQIjJg362XD3s50OsPJJ0xbDsGp41bSv7vDllLrPuA,144
|
|
278
278
|
phoenix/trace/dsl/filter.py,sha256=9NwATCUOgJ4Pms8XsEcinROUuxZ9UW-ISV09o65Ms70,32600
|
|
@@ -296,8 +296,8 @@ phoenix/utilities/logging.py,sha256=lDXd6EGaamBNcQxL4vP1au9-i_SXe0OraUDiJOcszSw,
|
|
|
296
296
|
phoenix/utilities/project.py,sha256=8IJuMM4yUMoooPi37sictGj8Etu9rGmq6RFtc9848cQ,436
|
|
297
297
|
phoenix/utilities/re.py,sha256=PDve_OLjRTM8yQQJHC8-n3HdIONi7aNils3ZKRZ5uBM,2045
|
|
298
298
|
phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
299
|
-
arize_phoenix-4.
|
|
300
|
-
arize_phoenix-4.
|
|
301
|
-
arize_phoenix-4.
|
|
302
|
-
arize_phoenix-4.
|
|
303
|
-
arize_phoenix-4.
|
|
299
|
+
arize_phoenix-4.31.0.dist-info/METADATA,sha256=yKHi2ksTlU_0xsldV4ozw7XATWGBRaS8w18wnaLElJE,11977
|
|
300
|
+
arize_phoenix-4.31.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
301
|
+
arize_phoenix-4.31.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
|
|
302
|
+
arize_phoenix-4.31.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
|
|
303
|
+
arize_phoenix-4.31.0.dist-info/RECORD,,
|
phoenix/server/app.py
CHANGED
|
@@ -46,7 +46,13 @@ from typing_extensions import TypeAlias
|
|
|
46
46
|
|
|
47
47
|
import phoenix
|
|
48
48
|
import phoenix.trace.v1 as pb
|
|
49
|
-
from phoenix.config import
|
|
49
|
+
from phoenix.config import (
|
|
50
|
+
DEFAULT_PROJECT_NAME,
|
|
51
|
+
SERVER_DIR,
|
|
52
|
+
get_env_host,
|
|
53
|
+
get_env_port,
|
|
54
|
+
server_instrumentation_is_enabled,
|
|
55
|
+
)
|
|
50
56
|
from phoenix.core.model_schema import Model
|
|
51
57
|
from phoenix.db import models
|
|
52
58
|
from phoenix.db.bulk_inserter import BulkInserter
|
|
@@ -95,10 +101,13 @@ from phoenix.server.types import (
|
|
|
95
101
|
LastUpdatedAt,
|
|
96
102
|
)
|
|
97
103
|
from phoenix.trace.fixtures import (
|
|
104
|
+
TracesFixture,
|
|
105
|
+
get_dataset_fixtures,
|
|
98
106
|
get_evals_from_fixture,
|
|
99
107
|
get_trace_fixture_by_name,
|
|
100
108
|
load_example_traces,
|
|
101
109
|
reset_fixture_span_ids_and_timestamps,
|
|
110
|
+
send_dataset_fixtures,
|
|
102
111
|
)
|
|
103
112
|
from phoenix.trace.otel import decode_otlp_span, encode_span_to_otlp
|
|
104
113
|
from phoenix.trace.schemas import Span
|
|
@@ -250,6 +259,7 @@ class Scaffolder(DaemonTask):
|
|
|
250
259
|
queue_evaluation: Callable[[pb.Evaluation], Awaitable[None]],
|
|
251
260
|
tracing_fixture_names: Set[str] = set(),
|
|
252
261
|
force_fixture_ingestion: bool = False,
|
|
262
|
+
scaffold_datasets: bool = False,
|
|
253
263
|
) -> None:
|
|
254
264
|
super().__init__()
|
|
255
265
|
self._db = db
|
|
@@ -259,6 +269,7 @@ class Scaffolder(DaemonTask):
|
|
|
259
269
|
get_trace_fixture_by_name(name) for name in tracing_fixture_names
|
|
260
270
|
)
|
|
261
271
|
self._force_fixture_ingestion = force_fixture_ingestion
|
|
272
|
+
self._scaffold_datasets = scaffold_datasets
|
|
262
273
|
|
|
263
274
|
async def __aenter__(self) -> None:
|
|
264
275
|
await self.start()
|
|
@@ -272,7 +283,7 @@ class Scaffolder(DaemonTask):
|
|
|
272
283
|
Determines whether to load fixtures and handles them.
|
|
273
284
|
"""
|
|
274
285
|
if await self._should_load_fixtures():
|
|
275
|
-
logger.info("Loading trace fixtures
|
|
286
|
+
logger.info("Loading trace fixtures...")
|
|
276
287
|
await self._handle_tracing_fixtures()
|
|
277
288
|
logger.info("Finished loading fixtures.")
|
|
278
289
|
else:
|
|
@@ -317,6 +328,10 @@ class Scaffolder(DaemonTask):
|
|
|
317
328
|
get_evals_from_fixture(fixture.name),
|
|
318
329
|
)
|
|
319
330
|
|
|
331
|
+
# Ingest dataset fixtures
|
|
332
|
+
if self._scaffold_datasets:
|
|
333
|
+
await self._handle_dataset_fixtures(fixture)
|
|
334
|
+
|
|
320
335
|
project_name = fixture.project_name or fixture.name
|
|
321
336
|
logger.info(f"Loading '{project_name}' fixtures...")
|
|
322
337
|
for span in fixture_spans:
|
|
@@ -331,6 +346,19 @@ class Scaffolder(DaemonTask):
|
|
|
331
346
|
except Exception as e:
|
|
332
347
|
logger.error(f"Unexpected error processing fixture '{fixture.name}': {e}")
|
|
333
348
|
|
|
349
|
+
async def _handle_dataset_fixtures(self, fixture: TracesFixture) -> None:
|
|
350
|
+
loop = asyncio.get_running_loop()
|
|
351
|
+
try:
|
|
352
|
+
dataset_fixtures = await loop.run_in_executor(None, get_dataset_fixtures, fixture.name)
|
|
353
|
+
await loop.run_in_executor(
|
|
354
|
+
None,
|
|
355
|
+
send_dataset_fixtures,
|
|
356
|
+
f"http://{get_env_host()}:{get_env_port()}",
|
|
357
|
+
dataset_fixtures,
|
|
358
|
+
)
|
|
359
|
+
except Exception as e:
|
|
360
|
+
logger.error(f"Error processing dataset fixture: {e}")
|
|
361
|
+
|
|
334
362
|
|
|
335
363
|
def _lifespan(
|
|
336
364
|
*,
|
|
@@ -344,6 +372,7 @@ def _lifespan(
|
|
|
344
372
|
read_only: bool = False,
|
|
345
373
|
tracing_fixture_names: Set[str] = set(),
|
|
346
374
|
force_fixture_ingestion: bool = False,
|
|
375
|
+
scaffold_datasets: bool = False,
|
|
347
376
|
) -> StatefulLifespan[FastAPI]:
|
|
348
377
|
@contextlib.asynccontextmanager
|
|
349
378
|
async def lifespan(_: FastAPI) -> AsyncIterator[Dict[str, Any]]:
|
|
@@ -365,6 +394,7 @@ def _lifespan(
|
|
|
365
394
|
queue_evaluation=queue_evaluation,
|
|
366
395
|
tracing_fixture_names=tracing_fixture_names,
|
|
367
396
|
force_fixture_ingestion=force_fixture_ingestion,
|
|
397
|
+
scaffold_datasets=scaffold_datasets,
|
|
368
398
|
):
|
|
369
399
|
for callback in startup_callbacks:
|
|
370
400
|
callback()
|
|
@@ -559,6 +589,7 @@ def create_app(
|
|
|
559
589
|
secret: Optional[str] = None,
|
|
560
590
|
tracing_fixture_names: Set[str] = set(),
|
|
561
591
|
force_fixture_ingestion: bool = False,
|
|
592
|
+
scaffold_datasets: bool = False,
|
|
562
593
|
) -> FastAPI:
|
|
563
594
|
startup_callbacks_list: List[Callable[[], None]] = list(startup_callbacks)
|
|
564
595
|
shutdown_callbacks_list: List[Callable[[], None]] = list(shutdown_callbacks)
|
|
@@ -646,6 +677,7 @@ def create_app(
|
|
|
646
677
|
startup_callbacks=startup_callbacks_list,
|
|
647
678
|
tracing_fixture_names=tracing_fixture_names,
|
|
648
679
|
force_fixture_ingestion=force_fixture_ingestion,
|
|
680
|
+
scaffold_datasets=scaffold_datasets,
|
|
649
681
|
),
|
|
650
682
|
middleware=[
|
|
651
683
|
Middleware(HeadersMiddleware),
|
|
@@ -186,6 +186,7 @@ class _AnnotationDmlEventHandler(
|
|
|
186
186
|
async def __call__(self) -> None:
|
|
187
187
|
async with self._db() as session:
|
|
188
188
|
async for row in await session.stream(self._get_stmt()):
|
|
189
|
+
self._last_updated_at.set(Project, row.id)
|
|
189
190
|
if cache := self._cache_for_dataloaders:
|
|
190
191
|
self._clear(cache, row.id, row.name)
|
|
191
192
|
|
phoenix/server/main.py
CHANGED
|
@@ -143,7 +143,9 @@ if __name__ == "__main__":
|
|
|
143
143
|
# Whether the app is running in a development environment
|
|
144
144
|
parser.add_argument("--dev", action="store_true")
|
|
145
145
|
parser.add_argument("--no-ui", action="store_true")
|
|
146
|
+
|
|
146
147
|
subparsers = parser.add_subparsers(dest="command", required=True)
|
|
148
|
+
|
|
147
149
|
serve_parser = subparsers.add_parser("serve")
|
|
148
150
|
serve_parser.add_argument(
|
|
149
151
|
"--with-fixture",
|
|
@@ -182,14 +184,27 @@ if __name__ == "__main__":
|
|
|
182
184
|
"database is new."
|
|
183
185
|
),
|
|
184
186
|
)
|
|
187
|
+
serve_parser.add_argument(
|
|
188
|
+
"--scaffold-datasets",
|
|
189
|
+
action="store_true", # default is False
|
|
190
|
+
required=False,
|
|
191
|
+
help=(
|
|
192
|
+
"Whether or not to add any datasets defined in "
|
|
193
|
+
"the inputted project or trace fixture. "
|
|
194
|
+
"Default is False. "
|
|
195
|
+
),
|
|
196
|
+
)
|
|
197
|
+
|
|
185
198
|
datasets_parser = subparsers.add_parser("datasets")
|
|
186
199
|
datasets_parser.add_argument("--primary", type=str, required=True)
|
|
187
200
|
datasets_parser.add_argument("--reference", type=str, required=False)
|
|
188
201
|
datasets_parser.add_argument("--corpus", type=str, required=False)
|
|
189
202
|
datasets_parser.add_argument("--trace", type=str, required=False)
|
|
203
|
+
|
|
190
204
|
fixture_parser = subparsers.add_parser("fixture")
|
|
191
205
|
fixture_parser.add_argument("fixture", type=str, choices=[fixture.name for fixture in FIXTURES])
|
|
192
206
|
fixture_parser.add_argument("--primary-only", action="store_true") # Default is False
|
|
207
|
+
|
|
193
208
|
trace_fixture_parser = subparsers.add_parser("trace-fixture")
|
|
194
209
|
trace_fixture_parser.add_argument(
|
|
195
210
|
"fixture", type=str, choices=[fixture.name for fixture in TRACES_FIXTURES]
|
|
@@ -197,19 +212,22 @@ if __name__ == "__main__":
|
|
|
197
212
|
trace_fixture_parser.add_argument(
|
|
198
213
|
"--simulate-streaming", action="store_true"
|
|
199
214
|
) # Default is False
|
|
215
|
+
|
|
200
216
|
demo_parser = subparsers.add_parser("demo")
|
|
201
217
|
demo_parser.add_argument("fixture", type=str, choices=[fixture.name for fixture in FIXTURES])
|
|
202
218
|
demo_parser.add_argument(
|
|
203
219
|
"trace_fixture", type=str, choices=[fixture.name for fixture in TRACES_FIXTURES]
|
|
204
220
|
)
|
|
205
221
|
demo_parser.add_argument("--simulate-streaming", action="store_true")
|
|
206
|
-
args = parser.parse_args()
|
|
207
222
|
|
|
223
|
+
args = parser.parse_args()
|
|
208
224
|
db_connection_str = (
|
|
209
225
|
args.database_url if args.database_url else get_env_database_connection_str()
|
|
210
226
|
)
|
|
211
227
|
export_path = Path(args.export_path) if args.export_path else EXPORT_DIR
|
|
228
|
+
|
|
212
229
|
force_fixture_ingestion = False
|
|
230
|
+
scaffold_datasets = False
|
|
213
231
|
if args.command == "datasets":
|
|
214
232
|
primary_inferences_name = args.primary
|
|
215
233
|
reference_inferences_name = args.reference
|
|
@@ -264,6 +282,7 @@ if __name__ == "__main__":
|
|
|
264
282
|
for fixture in get_trace_fixtures_by_project_name(name)
|
|
265
283
|
)
|
|
266
284
|
force_fixture_ingestion = args.force_fixture_ingestion
|
|
285
|
+
scaffold_datasets = args.scaffold_datasets
|
|
267
286
|
host: Optional[str] = args.host or get_env_host()
|
|
268
287
|
display_host = host or "localhost"
|
|
269
288
|
# If the host is "::", the convention is to bind to all interfaces. However, uvicorn
|
|
@@ -355,6 +374,7 @@ if __name__ == "__main__":
|
|
|
355
374
|
secret=secret,
|
|
356
375
|
tracing_fixture_names=tracing_fixture_names,
|
|
357
376
|
force_fixture_ingestion=force_fixture_ingestion,
|
|
377
|
+
scaffold_datasets=scaffold_datasets,
|
|
358
378
|
)
|
|
359
379
|
server = Server(config=Config(app, host=host, port=port, root_path=host_root_path)) # type: ignore
|
|
360
380
|
Thread(target=_write_pid_file_when_ready, args=(server,), daemon=True).start()
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_components-
|
|
3
|
-
"file": "assets/components-
|
|
2
|
+
"_components-CEsu6itL.js": {
|
|
3
|
+
"file": "assets/components-CEsu6itL.js",
|
|
4
4
|
"name": "components",
|
|
5
5
|
"imports": [
|
|
6
6
|
"_vendor-DsnEJuEV.js",
|
|
7
7
|
"_vendor-arizeai-DtynTLNi.js",
|
|
8
|
-
"_pages-
|
|
8
|
+
"_pages-eeRVG3GZ.js",
|
|
9
9
|
"_vendor-three-DwGkEfCM.js",
|
|
10
10
|
"_vendor-codemirror-C5to5cK4.js"
|
|
11
11
|
]
|
|
12
12
|
},
|
|
13
|
-
"_pages-
|
|
14
|
-
"file": "assets/pages-
|
|
13
|
+
"_pages-eeRVG3GZ.js": {
|
|
14
|
+
"file": "assets/pages-eeRVG3GZ.js",
|
|
15
15
|
"name": "pages",
|
|
16
16
|
"imports": [
|
|
17
17
|
"_vendor-DsnEJuEV.js",
|
|
18
|
-
"_components-
|
|
18
|
+
"_components-CEsu6itL.js",
|
|
19
19
|
"_vendor-arizeai-DtynTLNi.js",
|
|
20
20
|
"_vendor-recharts-reihe2SJ.js",
|
|
21
21
|
"_vendor-codemirror-C5to5cK4.js"
|
|
@@ -61,15 +61,15 @@
|
|
|
61
61
|
"name": "vendor-three"
|
|
62
62
|
},
|
|
63
63
|
"index.tsx": {
|
|
64
|
-
"file": "assets/index-
|
|
64
|
+
"file": "assets/index-Cuxn1Qdi.js",
|
|
65
65
|
"name": "index",
|
|
66
66
|
"src": "index.tsx",
|
|
67
67
|
"isEntry": true,
|
|
68
68
|
"imports": [
|
|
69
69
|
"_vendor-DsnEJuEV.js",
|
|
70
70
|
"_vendor-arizeai-DtynTLNi.js",
|
|
71
|
-
"_pages-
|
|
72
|
-
"_components-
|
|
71
|
+
"_pages-eeRVG3GZ.js",
|
|
72
|
+
"_components-CEsu6itL.js",
|
|
73
73
|
"_vendor-three-DwGkEfCM.js",
|
|
74
74
|
"_vendor-recharts-reihe2SJ.js",
|
|
75
75
|
"_vendor-codemirror-C5to5cK4.js"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e1,p as $n,d as n1,r as p,j as e,R as Y,n as H1,a as Ee,C as Ne,b as q,s as Zn,e as Gn,f as se,g as De,h as Ze,i as _e,k as ve,l as Un,m as Qn,o as le,q as jn,t as qn,u as Wn,v as o,w as m,x as Ae,$ as N,L as K1,y as Jn,z as Xn,A as Yn,B as et,D as f1,F as Oe,E as ue,G as nt,H as tt,I as B1,S as at,J as it,Q as L1,K as rt,M as lt,N as ot,P as Ge,O as $1,T as st,U as ct,V as dt,W as ut,X as mt,Y as pt,Z as ht,_ as gt,a0 as ft,a1 as ze,a2 as z,a3 as Z1,a4 as Lt,a5 as Ct,a6 as vt,a7 as yt,a8 as bt}from"./vendor-DsnEJuEV.js";import{u as kt,_ as X,a as Se,b as Q,c as V,T as R,F as G1,d as B,I as E,e as S,f as G,A as wt,g as U1,h as y,i as D,j as b,k as xt,l as St,P as Mt,R as $,m as Me,n as Tt,o as It,L as t1,p as ee,q as ne,r as Te,s as Et,t as Q1,E as j1,v as Dt,w as Vt,x as _t,y as Ft,z as Nt,B as Pt,C as C1,D as At,G as Ot}from"./vendor-arizeai-DtynTLNi.js";import{u as zt}from"./pages-
|
|
1
|
+
import{c as e1,p as $n,d as n1,r as p,j as e,R as Y,n as H1,a as Ee,C as Ne,b as q,s as Zn,e as Gn,f as se,g as De,h as Ze,i as _e,k as ve,l as Un,m as Qn,o as le,q as jn,t as qn,u as Wn,v as o,w as m,x as Ae,$ as N,L as K1,y as Jn,z as Xn,A as Yn,B as et,D as f1,F as Oe,E as ue,G as nt,H as tt,I as B1,S as at,J as it,Q as L1,K as rt,M as lt,N as ot,P as Ge,O as $1,T as st,U as ct,V as dt,W as ut,X as mt,Y as pt,Z as ht,_ as gt,a0 as ft,a1 as ze,a2 as z,a3 as Z1,a4 as Lt,a5 as Ct,a6 as vt,a7 as yt,a8 as bt}from"./vendor-DsnEJuEV.js";import{u as kt,_ as X,a as Se,b as Q,c as V,T as R,F as G1,d as B,I as E,e as S,f as G,A as wt,g as U1,h as y,i as D,j as b,k as xt,l as St,P as Mt,R as $,m as Me,n as Tt,o as It,L as t1,p as ee,q as ne,r as Te,s as Et,t as Q1,E as j1,v as Dt,w as Vt,x as _t,y as Ft,z as Nt,B as Pt,C as C1,D as At,G as Ot}from"./vendor-arizeai-DtynTLNi.js";import{u as zt}from"./pages-eeRVG3GZ.js";import{V as Rt}from"./vendor-three-DwGkEfCM.js";import{j as q1,E as W1,l as J1,a as X1,R as Re,n as He,p as Ht,b as Kt}from"./vendor-codemirror-C5to5cK4.js";const Bt=n=>{const t=a=>({markdownDisplayMode:"text",setMarkdownDisplayMode:i=>{a({markdownDisplayMode:i})},traceStreamingEnabled:!0,setTraceStreamingEnabled:i=>{a({traceStreamingEnabled:i})},showSpanAside:!0,setShowSpanAside:i=>{a({showSpanAside:i})},showMetricsInTraceTree:!0,setShowMetricsInTraceTree:i=>{a({showMetricsInTraceTree:i})},...n});return e1()($n(n1(t),{name:"arize-phoenix-preferences"}))},Y1=p.createContext(null);function F2({children:n,...t}){const a=p.useRef();return a.current||(a.current=Bt(t)),e(Y1.Provider,{value:a.current,children:n})}function ke(n,t){const a=Y.useContext(Y1);if(!a)throw new Error("Missing PreferencesContext.Provider in the tree");return H1(a,n,t)}var Z=(n=>(n.primary="primary",n.reference="reference",n.corpus="corpus",n))(Z||{});function A(n){throw new Error("Unreachable")}function a1(n){return typeof n=="number"||n===null}function $t(n){return typeof n=="string"||n===null}function N2(n){return Array.isArray(n)?n.every(t=>typeof t=="string"):!1}function Zt(n){return typeof n=="object"&&n!==null}const i1=p.createContext(null);function Ke(){const n=Y.useContext(i1);if(n===null)throw new Error("useInferences must be used within a InferencesProvider");return n}function P2(n){return e(i1.Provider,{value:{primaryInferences:n.primaryInferences,referenceInferences:n.referenceInferences,corpusInferences:n.corpusInferences,getInferencesNameByRole:t=>{var a,i;switch(t){case Z.primary:return n.primaryInferences.name;case Z.reference:return((a=n.referenceInferences)==null?void 0:a.name)??"reference";case Z.corpus:return((i=n.corpusInferences)==null?void 0:i.name)??"corpus";default:A()}}},children:n.children})}const en=function(){var n={defaultValue:null,kind:"LocalArgument",name:"clusters"},t={defaultValue:null,kind:"LocalArgument",name:"dataQualityMetricColumnName"},a={defaultValue:null,kind:"LocalArgument",name:"fetchDataQualityMetric"},i={defaultValue:null,kind:"LocalArgument",name:"fetchPerformanceMetric"},r={defaultValue:null,kind:"LocalArgument",name:"performanceMetric"},l=[{alias:null,args:null,kind:"ScalarField",name:"primaryValue",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"referenceValue",storageKey:null}],s=[{alias:null,args:[{kind:"Variable",name:"clusters",variableName:"clusters"}],concreteType:"Cluster",kind:"LinkedField",name:"clusters",plural:!0,selections:[{alias:null,args:null,kind:"ScalarField",name:"id",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"eventIds",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"driftRatio",storageKey:null},{alias:null,args:null,kind:"ScalarField",name:"primaryToCorpusRatio",storageKey:null},{condition:"fetchDataQualityMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"columnName",variableName:"dataQualityMetricColumnName"},{kind:"Literal",name:"metric",value:"mean"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"dataQualityMetric",plural:!1,selections:l,storageKey:null}]},{condition:"fetchPerformanceMetric",kind:"Condition",passingValue:!0,selections:[{alias:null,args:[{fields:[{kind:"Variable",name:"metric",variableName:"performanceMetric"}],kind:"ObjectValue",name:"metric"}],concreteType:"DatasetValues",kind:"LinkedField",name:"performanceMetric",plural:!1,selections:l,storageKey:null}]}],storageKey:null}];return{fragment:{argumentDefinitions:[n,t,a,i,r],kind:"Fragment",metadata:null,name:"pointCloudStore_clusterMetricsQuery",selections:s,type:"Query",abstractKey:null},kind:"Request",operation:{argumentDefinitions:[n,a,t,i,r],kind:"Operation",name:"pointCloudStore_clusterMetricsQuery",selections:s},params:{cacheID:"86666967012812887ac0a0149d2d2535",id:null,metadata:{},name:"pointCloudStore_clusterMetricsQuery",operationKind:"query",text:`query pointCloudStore_clusterMetricsQuery(
|
|
2
2
|
$clusters: [ClusterInput!]!
|
|
3
3
|
$fetchDataQualityMetric: Boolean!
|
|
4
4
|
$dataQualityMetricColumnName: String
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as d,j as e,d4 as P,v as s,F,R as v,w as E,aP as S,d5 as L,d6 as R,d7 as a,d8 as w,d9 as z,b as A,da as j}from"./vendor-DsnEJuEV.js";import{S as C,j as k,Z as $,U as _,t as I,a4 as O}from"./vendor-arizeai-DtynTLNi.js";import{E as T,L as D,a as N,h as G,M,b as m,D as U,d as B,c as q,e as J,P as K,f as W,T as H,p as V,g,i as Y,j as Z,k as u,l as Q,m as h,n as b,o as X,q as ee,r as re,s as ae,t as te,A as oe,S as ne,F as se}from"./pages-
|
|
1
|
+
import{r as d,j as e,d4 as P,v as s,F,R as v,w as E,aP as S,d5 as L,d6 as R,d7 as a,d8 as w,d9 as z,b as A,da as j}from"./vendor-DsnEJuEV.js";import{S as C,j as k,Z as $,U as _,t as I,a4 as O}from"./vendor-arizeai-DtynTLNi.js";import{E as T,L as D,a as N,h as G,M,b as m,D as U,d as B,c as q,e as J,P as K,f as W,T as H,p as V,g,i as Y,j as Z,k as u,l as Q,m as h,n as b,o as X,q as ee,r as re,s as ae,t as te,A as oe,S as ne,F as se}from"./pages-eeRVG3GZ.js";import{b9 as ie,d as le,R as ce,ba as de,bb as pe}from"./components-CEsu6itL.js";import"./vendor-three-DwGkEfCM.js";import"./vendor-recharts-reihe2SJ.js";import"./vendor-codemirror-C5to5cK4.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))c(t);new MutationObserver(t=>{for(const o of t)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&c(i)}).observe(document,{childList:!0,subtree:!0});function l(t){const o={};return t.integrity&&(o.integrity=t.integrity),t.referrerPolicy&&(o.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?o.credentials="include":t.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function c(t){if(t.ep)return;t.ep=!0;const o=l(t);fetch(t.href,o)}})();const x="arize-phoenix-feature-flags",p={__CLEAR__:!0};function me(){const r=localStorage.getItem(x);if(!r)return p;try{const n=JSON.parse(r);return Object.assign({},p,n)}catch{return p}}const f=d.createContext(null);function ge(){const r=v.useContext(f);if(r===null)throw new Error("useFeatureFlags must be used within a FeatureFlagsProvider");return r}function ue(r){const[n,l]=d.useState(me()),c=t=>{localStorage.setItem(x,JSON.stringify(t)),l(t)};return e(f.Provider,{value:{featureFlags:n,setFeatureFlags:c},children:e(he,{children:r.children})})}function he(r){const{children:n}=r,{featureFlags:l,setFeatureFlags:c}=ge(),[t,o]=d.useState(!1);return P("ctrl+shift+f",()=>o(!0)),s(F,{children:[n,e(_,{type:"modal",isDismissable:!0,onDismiss:()=>o(!1),children:t&&e(C,{title:"Feature Flags",children:e(k,{height:"size-1000",padding:"size-100",children:Object.keys(l).map(i=>e($,{isSelected:l[i],onChange:y=>c({...l,[i]:y}),children:i},i))})})})]})}function be(){return e(S,{styles:r=>E`
|
|
2
2
|
body {
|
|
3
3
|
background-color: var(--ac-global-color-grey-75);
|
|
4
4
|
color: var(--ac-global-text-color-900);
|