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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arize-phoenix
3
- Version: 4.30.2
3
+ Version: 4.31.0
4
4
  Summary: AI Observability and Evaluation
5
5
  Project-URL: Documentation, https://docs.arize.com/phoenix/
6
6
  Project-URL: Issues, https://github.com/Arize-ai/phoenix/issues
@@ -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=DvmdNpuJDXvg0nMZADyqJJU0JkqI_2lJ8G7e_VN97L0,23
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=4EPqxjfhFqxzk_JS560Gm8O9_TFtJ6lXW-72CfEzyGU,26920
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=6p-PucctivelVHfO-_9zNxWZYPr_eGjDF3bKjLtc5co,8251
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=KcyiOtU7pJrWASTih4huF53WizXUdjCpWSqY6glk-mA,14037
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=rkEVApCRSYofJpf7L3LFtAc9R6Yv7rijaaUCY2_AnXU,1929
246
- phoenix/server/static/assets/components-CkSg5zK4.js,sha256=kMP22Fi58XDiVcsTUSkisv-SYM1E4y1R8Wp06r_pJNo,244317
247
- phoenix/server/static/assets/index-DTecsU5w.js,sha256=qQbWg4v_Z385UAuIH30xlqhF3dFNhngnauRf3sOpj4o,7515
248
- phoenix/server/static/assets/pages-C6emDFIO.js,sha256=5tmkYOe8IYM-CbQym_pAnkBv4SHEa1B1nNIqOqQ5Yzg,502735
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=EHfqgvPoux6KkckX00WeG2Vhas8H5vqqFBMTztwgV-s,16857
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=1SEQr37cdHOM0P3BdL1dszArj3Zm-VJQyb1BcJs_qO8,1833
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.30.2.dist-info/METADATA,sha256=qMHw9BdGbxXT2Z0TrtzXy-bv_atoD45Ohw0EF9pMu1k,11977
300
- arize_phoenix-4.30.2.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
301
- arize_phoenix-4.30.2.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
302
- arize_phoenix-4.30.2.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
303
- arize_phoenix-4.30.2.dist-info/RECORD,,
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 DEFAULT_PROJECT_NAME, SERVER_DIR, server_instrumentation_is_enabled
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-CkSg5zK4.js": {
3
- "file": "assets/components-CkSg5zK4.js",
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-C6emDFIO.js",
8
+ "_pages-eeRVG3GZ.js",
9
9
  "_vendor-three-DwGkEfCM.js",
10
10
  "_vendor-codemirror-C5to5cK4.js"
11
11
  ]
12
12
  },
13
- "_pages-C6emDFIO.js": {
14
- "file": "assets/pages-C6emDFIO.js",
13
+ "_pages-eeRVG3GZ.js": {
14
+ "file": "assets/pages-eeRVG3GZ.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
17
  "_vendor-DsnEJuEV.js",
18
- "_components-CkSg5zK4.js",
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-DTecsU5w.js",
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-C6emDFIO.js",
72
- "_components-CkSg5zK4.js",
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-C6emDFIO.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(
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-C6emDFIO.js";import{b9 as ie,d as le,R as ce,ba as de,bb as pe}from"./components-CkSg5zK4.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`
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);