arize-phoenix 4.4.3__py3-none-any.whl → 4.4.4rc1__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.

Files changed (112) hide show
  1. {arize_phoenix-4.4.3.dist-info → arize_phoenix-4.4.4rc1.dist-info}/METADATA +4 -4
  2. {arize_phoenix-4.4.3.dist-info → arize_phoenix-4.4.4rc1.dist-info}/RECORD +111 -55
  3. {arize_phoenix-4.4.3.dist-info → arize_phoenix-4.4.4rc1.dist-info}/WHEEL +1 -1
  4. phoenix/__init__.py +0 -27
  5. phoenix/config.py +21 -7
  6. phoenix/core/model.py +25 -25
  7. phoenix/core/model_schema.py +64 -62
  8. phoenix/core/model_schema_adapter.py +27 -25
  9. phoenix/datasets/__init__.py +0 -0
  10. phoenix/datasets/evaluators.py +275 -0
  11. phoenix/datasets/experiments.py +469 -0
  12. phoenix/datasets/tracing.py +66 -0
  13. phoenix/datasets/types.py +212 -0
  14. phoenix/db/bulk_inserter.py +54 -14
  15. phoenix/db/insertion/dataset.py +234 -0
  16. phoenix/db/insertion/evaluation.py +6 -6
  17. phoenix/db/insertion/helpers.py +13 -2
  18. phoenix/db/migrations/types.py +29 -0
  19. phoenix/db/migrations/versions/10460e46d750_datasets.py +291 -0
  20. phoenix/db/migrations/versions/cf03bd6bae1d_init.py +2 -28
  21. phoenix/db/models.py +230 -3
  22. phoenix/inferences/fixtures.py +23 -23
  23. phoenix/inferences/inferences.py +7 -7
  24. phoenix/inferences/validation.py +1 -1
  25. phoenix/server/api/context.py +16 -0
  26. phoenix/server/api/dataloaders/__init__.py +16 -0
  27. phoenix/server/api/dataloaders/dataset_example_revisions.py +100 -0
  28. phoenix/server/api/dataloaders/dataset_example_spans.py +43 -0
  29. phoenix/server/api/dataloaders/experiment_annotation_summaries.py +85 -0
  30. phoenix/server/api/dataloaders/experiment_error_rates.py +43 -0
  31. phoenix/server/api/dataloaders/experiment_sequence_number.py +49 -0
  32. phoenix/server/api/dataloaders/project_by_name.py +31 -0
  33. phoenix/server/api/dataloaders/span_descendants.py +2 -3
  34. phoenix/server/api/dataloaders/span_projects.py +33 -0
  35. phoenix/server/api/dataloaders/trace_row_ids.py +39 -0
  36. phoenix/server/api/helpers/dataset_helpers.py +178 -0
  37. phoenix/server/api/input_types/AddExamplesToDatasetInput.py +16 -0
  38. phoenix/server/api/input_types/AddSpansToDatasetInput.py +14 -0
  39. phoenix/server/api/input_types/CreateDatasetInput.py +12 -0
  40. phoenix/server/api/input_types/DatasetExampleInput.py +14 -0
  41. phoenix/server/api/input_types/DatasetSort.py +17 -0
  42. phoenix/server/api/input_types/DatasetVersionSort.py +16 -0
  43. phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +13 -0
  44. phoenix/server/api/input_types/DeleteDatasetInput.py +7 -0
  45. phoenix/server/api/input_types/DeleteExperimentsInput.py +9 -0
  46. phoenix/server/api/input_types/PatchDatasetExamplesInput.py +35 -0
  47. phoenix/server/api/input_types/PatchDatasetInput.py +14 -0
  48. phoenix/server/api/mutations/__init__.py +13 -0
  49. phoenix/server/api/mutations/auth.py +11 -0
  50. phoenix/server/api/mutations/dataset_mutations.py +520 -0
  51. phoenix/server/api/mutations/experiment_mutations.py +65 -0
  52. phoenix/server/api/{types/ExportEventsMutation.py → mutations/export_events_mutations.py} +17 -14
  53. phoenix/server/api/mutations/project_mutations.py +42 -0
  54. phoenix/server/api/openapi/__init__.py +0 -0
  55. phoenix/server/api/openapi/main.py +6 -0
  56. phoenix/server/api/openapi/schema.py +15 -0
  57. phoenix/server/api/queries.py +503 -0
  58. phoenix/server/api/routers/v1/__init__.py +77 -2
  59. phoenix/server/api/routers/v1/dataset_examples.py +178 -0
  60. phoenix/server/api/routers/v1/datasets.py +861 -0
  61. phoenix/server/api/routers/v1/evaluations.py +4 -2
  62. phoenix/server/api/routers/v1/experiment_evaluations.py +65 -0
  63. phoenix/server/api/routers/v1/experiment_runs.py +108 -0
  64. phoenix/server/api/routers/v1/experiments.py +174 -0
  65. phoenix/server/api/routers/v1/spans.py +3 -1
  66. phoenix/server/api/routers/v1/traces.py +1 -4
  67. phoenix/server/api/schema.py +2 -303
  68. phoenix/server/api/types/AnnotatorKind.py +10 -0
  69. phoenix/server/api/types/Cluster.py +19 -19
  70. phoenix/server/api/types/CreateDatasetPayload.py +8 -0
  71. phoenix/server/api/types/Dataset.py +282 -63
  72. phoenix/server/api/types/DatasetExample.py +85 -0
  73. phoenix/server/api/types/DatasetExampleRevision.py +34 -0
  74. phoenix/server/api/types/DatasetVersion.py +14 -0
  75. phoenix/server/api/types/Dimension.py +30 -29
  76. phoenix/server/api/types/EmbeddingDimension.py +40 -34
  77. phoenix/server/api/types/Event.py +16 -16
  78. phoenix/server/api/types/ExampleRevisionInterface.py +14 -0
  79. phoenix/server/api/types/Experiment.py +135 -0
  80. phoenix/server/api/types/ExperimentAnnotationSummary.py +13 -0
  81. phoenix/server/api/types/ExperimentComparison.py +19 -0
  82. phoenix/server/api/types/ExperimentRun.py +91 -0
  83. phoenix/server/api/types/ExperimentRunAnnotation.py +57 -0
  84. phoenix/server/api/types/Inferences.py +80 -0
  85. phoenix/server/api/types/InferencesRole.py +23 -0
  86. phoenix/server/api/types/Model.py +43 -42
  87. phoenix/server/api/types/Project.py +26 -12
  88. phoenix/server/api/types/Span.py +78 -2
  89. phoenix/server/api/types/TimeSeries.py +6 -6
  90. phoenix/server/api/types/Trace.py +15 -4
  91. phoenix/server/api/types/UMAPPoints.py +1 -1
  92. phoenix/server/api/types/node.py +5 -111
  93. phoenix/server/api/types/pagination.py +10 -52
  94. phoenix/server/app.py +99 -49
  95. phoenix/server/main.py +49 -27
  96. phoenix/server/openapi/docs.py +3 -0
  97. phoenix/server/static/index.js +2246 -1368
  98. phoenix/server/templates/index.html +1 -0
  99. phoenix/services.py +15 -15
  100. phoenix/session/client.py +316 -21
  101. phoenix/session/session.py +47 -37
  102. phoenix/trace/exporter.py +14 -9
  103. phoenix/trace/fixtures.py +133 -7
  104. phoenix/trace/span_evaluations.py +3 -3
  105. phoenix/trace/trace_dataset.py +6 -6
  106. phoenix/utilities/json.py +61 -0
  107. phoenix/utilities/re.py +50 -0
  108. phoenix/version.py +1 -1
  109. phoenix/server/api/types/DatasetRole.py +0 -23
  110. {arize_phoenix-4.4.3.dist-info → arize_phoenix-4.4.4rc1.dist-info}/licenses/IP_NOTICE +0 -0
  111. {arize_phoenix-4.4.3.dist-info → arize_phoenix-4.4.4rc1.dist-info}/licenses/LICENSE +0 -0
  112. /phoenix/server/api/{helpers.py → helpers/__init__.py} +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arize-phoenix
3
- Version: 4.4.3
3
+ Version: 4.4.4rc1
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
@@ -20,9 +20,11 @@ Requires-Python: <3.13,>=3.8
20
20
  Requires-Dist: aioitertools
21
21
  Requires-Dist: aiosqlite
22
22
  Requires-Dist: alembic<2,>=1.3.0
23
+ Requires-Dist: arize-phoenix-evals>=0.3.0
23
24
  Requires-Dist: cachetools
24
25
  Requires-Dist: grpcio
25
26
  Requires-Dist: hdbscan>=0.8.33
27
+ Requires-Dist: httpx
26
28
  Requires-Dist: jinja2
27
29
  Requires-Dist: numpy<2
28
30
  Requires-Dist: openinference-instrumentation
@@ -38,7 +40,7 @@ Requires-Dist: pandas
38
40
  Requires-Dist: protobuf<6.0,>=3.20
39
41
  Requires-Dist: psutil
40
42
  Requires-Dist: pyarrow
41
- Requires-Dist: requests
43
+ Requires-Dist: python-multipart
42
44
  Requires-Dist: scikit-learn
43
45
  Requires-Dist: scipy
44
46
  Requires-Dist: sqlalchemy[asyncio]<3,>=2.0.4
@@ -87,9 +89,7 @@ Requires-Dist: pytest==8.2.2; extra == 'dev'
87
89
  Requires-Dist: ruff==0.4.9; extra == 'dev'
88
90
  Requires-Dist: strawberry-graphql[debug-server,opentelemetry]==0.235.0; extra == 'dev'
89
91
  Provides-Extra: evals
90
- Requires-Dist: arize-phoenix-evals>=0.3.0; extra == 'evals'
91
92
  Provides-Extra: experimental
92
- Requires-Dist: tenacity; extra == 'experimental'
93
93
  Provides-Extra: llama-index
94
94
  Requires-Dist: llama-index==0.10.44; extra == 'llama-index'
95
95
  Provides-Extra: pg
@@ -1,38 +1,46 @@
1
- phoenix/__init__.py,sha256=NyJ6xQhGeEdbHVA72gbQlGo3WElzQxmpQBSME-CZNZI,2389
2
- phoenix/config.py,sha256=ZGzdeE_1IJe_WFyRY7hxFbNNtHbZATk2b1pWUxpcTxk,7155
1
+ phoenix/__init__.py,sha256=JMXBf8J0tAa5ycWDIn8QWYgQu6H2vL77RC4lful-YH8,1542
2
+ phoenix/config.py,sha256=9xkQBn_Z-tsQct-zq0B80N4Xa2k2jfhivdc_qYCA5G8,7618
3
3
  phoenix/datetime_utils.py,sha256=oqkxJ5I7ggrCKYTEi8q-akC501calylD26NVOPQQcHw,3305
4
4
  phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
5
5
  phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
6
- phoenix/services.py,sha256=haZUWKuxfI5lm0o61HgW_4B6RTBg9CUbXC8y92ZMsw4,5121
6
+ phoenix/services.py,sha256=aTxhcOA1pZHB6U-B3TEcp6fqDF5oT0xCUvEUNMZVTUQ,5175
7
7
  phoenix/settings.py,sha256=cO-qgis_S27nHirTobYI9hHPfZH18R--WMmxNdsVUwc,273
8
- phoenix/version.py,sha256=sybOIbMx83iepiHW5hmOIuu46Gh4exmvzFk-hGKxF4w,22
8
+ phoenix/version.py,sha256=vKjT7aIsaSJpqlV3MfrGXJztQFTn_913JgXVYP7wVi8,25
9
9
  phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
11
- phoenix/core/model.py,sha256=SBO8BZg_CeQuH5LrSgzlQfqMModzirkQePdhnbLw7dE,4756
12
- phoenix/core/model_schema.py,sha256=b8cGsYc6l_6nRQxGaiHraoMgE9NwW19rA3-GEfJ2byI,50259
13
- phoenix/core/model_schema_adapter.py,sha256=aFvNtpI01sdaLoKvEvcsx51vP5_6anP0_g9idcJNaCI,8287
11
+ phoenix/core/model.py,sha256=km_a--PBHOuA337ClRw9xqhOHhrUT6Rl9pz_zV0JYkQ,4843
12
+ phoenix/core/model_schema.py,sha256=F2dbbVnkDLsPYoyZDv1q03uhvP8LcU1wXp0g-exiWs0,50551
13
+ phoenix/core/model_schema_adapter.py,sha256=0Tm_Y_gV-WED8fKBCaFXAEFwE3CTEZS1dowqnTZ7x7g,8426
14
+ phoenix/datasets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ phoenix/datasets/evaluators.py,sha256=_ezCRB6cyhuJsxsQJRFt2CKg3vqV-KgtBi9NNtkdeJQ,10410
16
+ phoenix/datasets/experiments.py,sha256=wLrFNlcAFCtKkwKi-H9Wz_vMgsE33clMED5Ya88-_P0,18850
17
+ phoenix/datasets/tracing.py,sha256=Ieb2Uo-9qHpmv65uf1VsFSsWo5Yxj6VHwGS6dxu9NHQ,2248
18
+ phoenix/datasets/types.py,sha256=w0KoSP7AdlcFlV3I6qVtvKOOWoK0yiY6_s4CvH0flcs,5753
14
19
  phoenix/db/README.md,sha256=IvKaZyf9ECbGBYYePaRhBveKZwDbxAc-c7BMxJYZh6Q,595
15
20
  phoenix/db/__init__.py,sha256=pDjEFXukHmJBM-1D8RjmXkvLsz85YWNxMQczt81ec3A,118
16
21
  phoenix/db/alembic.ini,sha256=p8DjVqGUs_tTx8oU56JP7qj-rMUebNFizItUSv_hPhs,3763
17
- phoenix/db/bulk_inserter.py,sha256=jubepj2a40jFy95NB8UFznpkFnlRRwB-iOXZ6DS0au8,9493
22
+ phoenix/db/bulk_inserter.py,sha256=zbZGWZFDybKaGLGzpxgLwxAS5sC0_wXcvM0be4kUhh8,11286
18
23
  phoenix/db/engines.py,sha256=vLWaZlToMtDI7rJDxSidYkfOoojamxaZxaz8ND3zTus,4770
19
24
  phoenix/db/helpers.py,sha256=L2_jP1iIWpUREhKLYYb4_vf_6v_BiU1E73Z2PczGm6s,1589
20
25
  phoenix/db/migrate.py,sha256=MuhtNWnR24riROvarvKfbRb4_D5xuQi6P760vBUKl1E,2270
21
- phoenix/db/models.py,sha256=0TMbI69xOcW2a1uWLmwTDANSSoOvuFcBczbrjNSh3Cw,12240
26
+ phoenix/db/models.py,sha256=zzZHXh1NpS3LyOOFp1BS7aVyrU1Qx3gcBY-H8ouoyjg,20282
22
27
  phoenix/db/insertion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- phoenix/db/insertion/evaluation.py,sha256=nvKXGWv0XD23G3ISw2u9_SqbwtGaB0Vd63wL59nPlCA,7189
24
- phoenix/db/insertion/helpers.py,sha256=2oBbzwx_Q0JJ9WlvbGl_a8hWySHyGhzbMNv-SHtcM-4,2022
28
+ phoenix/db/insertion/dataset.py,sha256=2aBOTgjwRkmJqjE1FEQp7BTu1Jz4-bS1bKyeJgvSxfg,7305
29
+ phoenix/db/insertion/evaluation.py,sha256=fAerUy3QGf2wID_tiVmPvzxBDFGiONPl3pmpZDgJDWQ,7183
30
+ phoenix/db/insertion/helpers.py,sha256=7tf6qQyJ05nn3IXaZEpj2b4Jz5boGLWT8tzlMaJ9tQY,2337
25
31
  phoenix/db/insertion/span.py,sha256=DNBjSrx5g2W5KuTB1dkHwtkb0SFnMIxN1jB-BAdGKFY,5634
26
32
  phoenix/db/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
33
  phoenix/db/migrations/env.py,sha256=QbzB5zrRs6XQQmrYeUpuzeilcMlM-MsbaAgHHYcIHTI,3626
28
34
  phoenix/db/migrations/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
29
- phoenix/db/migrations/versions/cf03bd6bae1d_init.py,sha256=I0st_gylN4giqNNw9AXUf37Zs6dF692ReW7cTfufgdU,8662
35
+ phoenix/db/migrations/types.py,sha256=Frq1AKSyBKQQ0FLzON-EmgTqE4kNkOpHMsbWnI-WgCE,605
36
+ phoenix/db/migrations/versions/10460e46d750_datasets.py,sha256=RapdD9Sud_Gq45Vpz7VnDQB_toG6B6yHlwS93qAh_0c,8133
37
+ phoenix/db/migrations/versions/cf03bd6bae1d_init.py,sha256=CbWT3ZTR0CZqeT3zWLoTWhboFmnOy3Ju1z6Ztpq8WIM,8122
30
38
  phoenix/inferences/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
31
39
  phoenix/inferences/errors.py,sha256=cGp9vxnw4SewFoWBV3ZGMkhE0Kh73lPIv3Ppz_H_RoA,8261
32
- phoenix/inferences/fixtures.py,sha256=bEfvBixW56jje2Mrt4TH88V3N6K84XJX1HNFBZTh8PQ,20711
33
- phoenix/inferences/inferences.py,sha256=6vtHq0exSQqy3IVGqvbgOPKfYMbgFgwmNG5YyZDsNuI,30694
40
+ phoenix/inferences/fixtures.py,sha256=FC2eRL4dpobKQHYOilFtDexUWFkMZ_w6jun_4WkbMk0,20792
41
+ phoenix/inferences/inferences.py,sha256=YVZ56vZXgV0gVrDhFxcaPlawoDm5cFm2GQpaPkbZE-4,30718
34
42
  phoenix/inferences/schema.py,sha256=UYej9IJ6pFeNW3fq721kJy16ONso_xVDm78Q68G4hl4,6643
35
- phoenix/inferences/validation.py,sha256=dZ9lCFUV0EY7HCkQkQBrs-GLAEIZdpOqUxwD5l4dp88,8294
43
+ phoenix/inferences/validation.py,sha256=fdmbsjUBwtacRiVFdh9aem-QrgPfq_OlEmPdascWluc,8297
36
44
  phoenix/metrics/README.md,sha256=5gekqTU-5gGdMwvcfNp2Wlu8p1ul9kGY_jq0XXQusoI,1964
37
45
  phoenix/metrics/__init__.py,sha256=W8lVORvjBo66pFgUmU9P8Fi8i4yI75wOPkhU42sfeQU,2417
38
46
  phoenix/metrics/binning.py,sha256=jDd7YcyEhptCp3zWcH6tfyq87vJ3c8L50ocSuxgPAoQ,12739
@@ -47,89 +55,135 @@ phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYG
47
55
  phoenix/pointcloud/projectors.py,sha256=zO_RrtDYSv2rqVOfIP2_9Cv11Dc8EmcZR94xhFcBYPU,1057
48
56
  phoenix/pointcloud/umap_parameters.py,sha256=lJsEOrbSuSiqI7g4Yt6xj7kgYxEqoep4ZHWLr6VWBqw,1760
49
57
  phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
- phoenix/server/app.py,sha256=zsov7w_hjiXtr8js4nB3egSX1otDRBD2vEKz6b-GH1Y,16382
58
+ phoenix/server/app.py,sha256=_D2DgupKJHv8DmS6VgWxvygumSM75qdlDg6qSj61PRU,18227
51
59
  phoenix/server/grpc_server.py,sha256=faktLxEtWGlCB1bPR4QwwTsRoQloahKMx0hAWqRGI5s,3379
52
- phoenix/server/main.py,sha256=6XhQhpmvuneIKXwVJFfMQFuqdPgyQCL5W0QzK2cZsrI,10330
60
+ phoenix/server/main.py,sha256=mtzH_2Kyvuy3AHiiKfqiCdUQ6SGFzeT4q9fefbV6GLg,11114
53
61
  phoenix/server/prometheus.py,sha256=j9DHB2fERuq_ZKmwVaqR-9wx5WcPPuU1Cm5Bhg5241Y,2996
54
62
  phoenix/server/telemetry.py,sha256=T_2OKrxNViAeaANlNspEekg_Y5uZIFWvKAnpz8Aoqvk,2762
55
63
  phoenix/server/thread_server.py,sha256=dP6cm6Cf08jNhDA1TRlVZpziu1YgtPDmaeIJMm725eI,2154
56
64
  phoenix/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
- phoenix/server/api/context.py,sha256=dyqQ31LQf4WGiUmfoB_NZttsZ_x3--mVV_mIarKhP_o,1941
58
- phoenix/server/api/helpers.py,sha256=_V1eVkchZmTkhOfRC4QqR1sUB2xtIxdsMJkDouZq_IE,251
65
+ phoenix/server/api/context.py,sha256=GfAD9QHg5erKwYGpqDj_8bL2GwmccARDZQc8yO-4Fm0,2669
59
66
  phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
60
- phoenix/server/api/schema.py,sha256=E4QN0eoyhxsmXQSFkZlcv-Y4jPUkWE_st9QCjeLKwtQ,11729
61
- phoenix/server/api/dataloaders/__init__.py,sha256=nVAvmau7LniwcIvr4TTWWwt2ZeHP-AXXwo8tF83GZMQ,3810
67
+ phoenix/server/api/queries.py,sha256=wp5BlapuxDIoaQJm7mzG0dURfVxR32vXSJVC0JqG4_Y,19845
68
+ phoenix/server/api/schema.py,sha256=BcxdqO5CSGqpKd-AAJHMjFlzaK9oJA8GJuxmMfcdjn4,434
69
+ phoenix/server/api/dataloaders/__init__.py,sha256=9fFjDNlCtOYTOKJi0uPIRh7xJMpCnrBOhoWGEdv1BrI,4618
70
+ phoenix/server/api/dataloaders/dataset_example_revisions.py,sha256=Vpr5IEKSR4QnAVxE5NM7u92fPNgeHQV2ieYc6JakCj0,3788
71
+ phoenix/server/api/dataloaders/dataset_example_spans.py,sha256=_jLlo0KdUS65d4PNTtE9aXVyG_NZWgA7VcpNC9udQ8U,1484
62
72
  phoenix/server/api/dataloaders/document_evaluation_summaries.py,sha256=dgAAlD0n8X6oAPLaD-czoefNkDqP338MouWsKaW8bOY,5684
63
73
  phoenix/server/api/dataloaders/document_evaluations.py,sha256=V-y8eyAA0sZpQTjHvmydbRENbkL_MmPJ8VMBFwLI7RM,1364
64
74
  phoenix/server/api/dataloaders/document_retrieval_metrics.py,sha256=8tZYMNLZ7zxUmyTHHZRUTZTumvw6lK2tYOpFbATIPdI,4270
65
75
  phoenix/server/api/dataloaders/evaluation_summaries.py,sha256=z9aal3IQL_t30aNqpAS7x4tjq0xNkuEG8dWW-bhqZmo,5724
76
+ phoenix/server/api/dataloaders/experiment_annotation_summaries.py,sha256=RsQ-o84kWVTYgIlh9VKkyw2kDMWIlHCRpS7RE2aw9vs,2881
77
+ phoenix/server/api/dataloaders/experiment_error_rates.py,sha256=EHlTdZi8F94vo-qJUcnnXFvuSh_d0fTT0Xg4SfW_A70,1397
78
+ phoenix/server/api/dataloaders/experiment_sequence_number.py,sha256=Va1KuoHOd-wzvrlKykoV4kLRFW4JsJvGp_DUI4HYZX4,1631
66
79
  phoenix/server/api/dataloaders/latency_ms_quantile.py,sha256=pEc7QjB2iiNOQm_Fmo99F5O_DKOJWgGmcnT0OADJzYE,7423
67
80
  phoenix/server/api/dataloaders/min_start_or_max_end_times.py,sha256=IoFX5PtSpvQdMk_7-oB8TpIse3Q4PMxep4qKggkHpzo,2902
81
+ phoenix/server/api/dataloaders/project_by_name.py,sha256=ziYp8fZGy2duD-f_oTqNLwbrGmBQFesqlTEHBDMtZlw,1170
68
82
  phoenix/server/api/dataloaders/record_counts.py,sha256=mp3KlhwFw-Iy7o6bFxtJKC6B5kGinPIh5PxxNkrxf8o,4283
69
- phoenix/server/api/dataloaders/span_descendants.py,sha256=oxan-AjoHfEt9y2cBk-P6kSKCOOlkvSzpXrrXwGvq6s,2153
83
+ phoenix/server/api/dataloaders/span_descendants.py,sha256=djqXXwupWaXkFdscoy-iILYijuxlqr8hJcv6JawsV6s,2162
70
84
  phoenix/server/api/dataloaders/span_evaluations.py,sha256=quXGyj_OYvHrcWfzXlYIv7C1OCZiL1K7cWU-YEAlsNA,1316
85
+ phoenix/server/api/dataloaders/span_projects.py,sha256=KV--NTLpdXyFUGYN69KHeVVHDBJR2oupo1cgLvqK6Ko,1304
71
86
  phoenix/server/api/dataloaders/token_counts.py,sha256=1t3jAyrxRCce6XLcn_9ymiQtVBh7r5x0A01yE6Ren4s,5015
72
87
  phoenix/server/api/dataloaders/trace_evaluations.py,sha256=kmo2llOAXQ7iPtCLSFr8g_I7KHH6hwarASiPNWq2ZEg,1330
88
+ phoenix/server/api/dataloaders/trace_row_ids.py,sha256=yAWuVFWUjDdmmwfXsGs_l6LuGl0ihMRm5FS-TueSzTY,1168
73
89
  phoenix/server/api/dataloaders/cache/__init__.py,sha256=SYoOM9n8FJaMdQarma5d1blu-jIg2GB8Shqg5ezSzZ8,106
74
90
  phoenix/server/api/dataloaders/cache/two_tier_cache.py,sha256=I38L1RsOis98OQftE7n1Q9QBZfFJO6OW_qIINkuJllo,2295
91
+ phoenix/server/api/helpers/__init__.py,sha256=_V1eVkchZmTkhOfRC4QqR1sUB2xtIxdsMJkDouZq_IE,251
92
+ phoenix/server/api/helpers/dataset_helpers.py,sha256=kIo_kPrV8O40CUypB57JCB5Ek3GJmZXPlz6NIULIsSM,6875
93
+ phoenix/server/api/input_types/AddExamplesToDatasetInput.py,sha256=ZGXMV0H3DYHi4DdqGhejDzaWdFinyem1Mc8DVA7iCh0,436
94
+ phoenix/server/api/input_types/AddSpansToDatasetInput.py,sha256=C4oZ0WqYqca1kleNOCMIM2_aY6Qnc5n1xXG51_C1V0w,368
75
95
  phoenix/server/api/input_types/ClusterInput.py,sha256=EL4ftvZxQ8mVdruUPcdhMhByORmSmM8S-X6RPqU6GX0,179
76
96
  phoenix/server/api/input_types/Coordinates.py,sha256=meTwbIjwTfqx5DGD2DBlH9wQzdQVNM5a8x9dp1FfIgA,173
97
+ phoenix/server/api/input_types/CreateDatasetInput.py,sha256=Q3MwouIx9jTQBRWDju75iMQXEGJCrL4aD4ESQp771nc,248
77
98
  phoenix/server/api/input_types/DataQualityMetricInput.py,sha256=LazvmQCCM5m9SDZTpyxQXO1rYF4cmsc3lsR2S9S65X4,1292
99
+ phoenix/server/api/input_types/DatasetExampleInput.py,sha256=9oJ6pCFxFd02IWJuK4YAUvz-jCgFGDUCDDb2--GAzCw,289
100
+ phoenix/server/api/input_types/DatasetSort.py,sha256=KDKjx5L8WFNwx7O-g1pDzCMMwY-ErgDd1_HkkZBAvCY,333
101
+ phoenix/server/api/input_types/DatasetVersionSort.py,sha256=w9HyP9rQKsZGiGc2f33ZNmiO9g7FN8r77T7GA85kb40,344
102
+ phoenix/server/api/input_types/DeleteDatasetExamplesInput.py,sha256=Pfod1r5BJISRG9w_eu9jFeEhNu2XYfcvlhxQ5HWdHAw,350
103
+ phoenix/server/api/input_types/DeleteDatasetInput.py,sha256=p7xjCyWnVCIXHnezmDiWhMq-DHcGv7ucp_O7s8fsiKE,127
104
+ phoenix/server/api/input_types/DeleteExperimentsInput.py,sha256=yUbwMckIBvIL-R9t8K9c3qTWciAXt3Uv_Tio3K2e1uw,166
78
105
  phoenix/server/api/input_types/DimensionFilter.py,sha256=vcXgglSnZcB5pGh-6oEtRmGx95hISgFUR7BEPw01g7U,3143
79
106
  phoenix/server/api/input_types/DimensionInput.py,sha256=Vfx5FmiMKey4-EHDQsQRPzSAMRJMN5oVMLDUl4NKAa8,164
80
107
  phoenix/server/api/input_types/Granularity.py,sha256=6SVfZ5yTZYq1PI6vdpjfkBUc4YilLSkF-k6okuSNbbQ,2301
108
+ phoenix/server/api/input_types/PatchDatasetExamplesInput.py,sha256=E86aBGXDBC83jiEGwV5rilnoeQf6eqCfZ0aAVeIt2VI,890
109
+ phoenix/server/api/input_types/PatchDatasetInput.py,sha256=OURtTVY8Z_oFEDtKwT1LCMaOK5D4QYo5TVQ6mDrex-g,328
81
110
  phoenix/server/api/input_types/PerformanceMetricInput.py,sha256=fElsLTSEYYgGFGMYTEGcYid39tXUKFdV_JkdHavMcbA,591
82
111
  phoenix/server/api/input_types/SpanSort.py,sha256=BqV0DjI4m3RKFbzsHN47XNhJfFmErFIYg64c8EJAVMo,6312
83
112
  phoenix/server/api/input_types/TimeRange.py,sha256=yzx-gxj8mDeGLft1FzU_x1MVEgIG5Pt6-f8PUVDgipQ,522
84
113
  phoenix/server/api/input_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
+ phoenix/server/api/mutations/__init__.py,sha256=Jcz-pM6SklhEGKcjA7AIB2WJXGhnxGsghrIq131kyDo,502
115
+ phoenix/server/api/mutations/auth.py,sha256=vPRFoj7J6PV6QeODewG4K0PhoOebS5AfMRpbi_wuhyQ,311
116
+ phoenix/server/api/mutations/dataset_mutations.py,sha256=Zp2sFWyGyubILUQboR6bafRWafsfeRO2ffUWnkLlfgI,22532
117
+ phoenix/server/api/mutations/experiment_mutations.py,sha256=Fw_yEdITGJ6A33M5JZ-2YnBTDoBqZUUFON6vy8JoVjE,2569
118
+ phoenix/server/api/mutations/export_events_mutations.py,sha256=t_wYBxaqvBJYRoHslh3Bmoxmwlzoy0u8SsBKWIKN5hE,4028
119
+ phoenix/server/api/mutations/project_mutations.py,sha256=6A7BS3651iaeAwUszKXQB3NK4QJY_tGpALBMNw1bqp8,2021
120
+ phoenix/server/api/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
+ phoenix/server/api/openapi/main.py,sha256=WY0pj3B7siQyyYqKyhqnzWC7P8MtEtiukOBUjGwLXfw,153
122
+ phoenix/server/api/openapi/schema.py,sha256=thr6P76oB3Ur3hOJ3A8_4jR6hpxuiEWOfPxfFmB4igc,450
85
123
  phoenix/server/api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
124
  phoenix/server/api/routers/utils.py,sha256=M41BoH-fl37izhRuN2aX7lWm7jOC20A_3uClv9TVUUY,583
87
- phoenix/server/api/routers/v1/__init__.py,sha256=uYzxJaI3XH6LNi9QaxoysvH9WDcTxcvP9GFghGa550I,447
88
- phoenix/server/api/routers/v1/evaluations.py,sha256=DXAGpRvZicgROavqCogqEzoSi1V-__lYtre_KU1rCWc,9207
89
- phoenix/server/api/routers/v1/spans.py,sha256=u2yDMxQF1Ou2A50dkNHYZfer939xsn2QJMAM8S8ICwY,3933
90
- phoenix/server/api/routers/v1/traces.py,sha256=rrE4QMSAda1yw0s50YV1tW7GaM3phplY_tO8xd23HCY,2889
91
- phoenix/server/api/types/Cluster.py,sha256=R08ZKrLl1KK8colxHU57N5XIOTMUwg5ZI50ofPoxxSM,5618
125
+ phoenix/server/api/routers/v1/__init__.py,sha256=B5eSaylPI7MoYia1-VgKrU8rDi-69r_hRwPU5yMLUTE,2808
126
+ phoenix/server/api/routers/v1/dataset_examples.py,sha256=wtplRUv2ee9xGTrcEMgTn-7L4NX_73IcwUXkCMZEFc4,6726
127
+ phoenix/server/api/routers/v1/datasets.py,sha256=2wkBOLqo8ttSN1VNVEcnPcLCitkSLGp62AjWlxJhV4Y,27605
128
+ phoenix/server/api/routers/v1/evaluations.py,sha256=rwSVg-rpujhsMcDVFt-VAr0Ix9TgvLcY_bSxeh8PzJI,9241
129
+ phoenix/server/api/routers/v1/experiment_evaluations.py,sha256=xemnZ10WL5pErndP7jbaDipUj3Tkl813XSIjx7X5MBY,2656
130
+ phoenix/server/api/routers/v1/experiment_runs.py,sha256=o6IvcyFDY-cy3KqeO9FIKy3XAgbIJhx7SFUoxML-MeY,4337
131
+ phoenix/server/api/routers/v1/experiments.py,sha256=5Rh7q6sHswmk11PZSJ7KMrtqfIE16X_xSKkKSASK9-I,7251
132
+ phoenix/server/api/routers/v1/spans.py,sha256=FEnmlRPBPl71BSGNBuPrz14fk8nmxJQYsKECdDbdUdw,3977
133
+ phoenix/server/api/routers/v1/traces.py,sha256=dYEf5pThenAQCgfQljHdrnwd4tC_tAXm6Kvk6GphPYs,2774
134
+ phoenix/server/api/types/AnnotatorKind.py,sha256=UmYb2KG0JfxdX0mW1qrXrUoIgjMOncRJr1i8mJki1sE,141
135
+ phoenix/server/api/types/Cluster.py,sha256=ac4YfT1OH3xLVmex7EUmB6b9IpULnhLTt554LR0jglE,5689
136
+ phoenix/server/api/types/CreateDatasetPayload.py,sha256=R-6zCmuD0f76RU9Giu78xwTHlASQs6Aq8yzvX1Kxc3g,140
92
137
  phoenix/server/api/types/DataQualityMetric.py,sha256=zRKsNvHBu-NdcsunuLhqFpZhi6ks-HMqA1PJD27jTak,590
93
- phoenix/server/api/types/Dataset.py,sha256=nQVtXltVfoKeccAQ5IHD_k1t5mCe8eIjD0nG-LZlhTk,3341
94
- phoenix/server/api/types/DatasetRole.py,sha256=UA8ecelVWfa9BVi--4A9fGhKFQ-jAaNHm7H5BpmZBPw,564
138
+ phoenix/server/api/types/Dataset.py,sha256=zHxWuteqBA2dgO9BsCTpSaUTzrvTs4z9uRwaTCEi8eg,11470
139
+ phoenix/server/api/types/DatasetExample.py,sha256=5f7DO6jRec1G5jaJW5FrykFU9R07jDn8jxDkNbQX0Ek,3107
140
+ phoenix/server/api/types/DatasetExampleRevision.py,sha256=c-jWR6dTguEZTm54IMlFr0Ic84I3nefyDnZb7nF5hnI,874
95
141
  phoenix/server/api/types/DatasetValues.py,sha256=7VbCOLlzOXpZN80-zYF2UGuafRcPsZF-8WQNc0YsKFc,1119
96
- phoenix/server/api/types/Dimension.py,sha256=IAS7Q7TkpbGqr1Vie4gJyi9SrYMK2L5mZwjYvpDQnQU,10198
142
+ phoenix/server/api/types/DatasetVersion.py,sha256=NnDriqQUE20N_Jhyu3-IxHWJQE9wmdHEJIQAKyTVJpo,302
143
+ phoenix/server/api/types/Dimension.py,sha256=k_yt4uDf14bgnUruyj8xlHlkIeMrVrUj-HGtrZEuGkw,10338
97
144
  phoenix/server/api/types/DimensionDataType.py,sha256=o0QQRpUzgXbhd10drR2LthxrjB8klQcELrIvsbp4l_g,441
98
145
  phoenix/server/api/types/DimensionShape.py,sha256=LNsRt3Uyx1OmwMa5EXk1JGRXPLVV2EEgYXz-6wnLJn4,562
99
146
  phoenix/server/api/types/DimensionType.py,sha256=JLikZUBVqbHlUWcYYd8d60gB1_hmAcuFuZZsjCXpIwc,801
100
147
  phoenix/server/api/types/DimensionWithValue.py,sha256=4_koirnDrZBBdFkIWka2f-OeqZ6IzQXwqz3ccjdgHrc,484
101
148
  phoenix/server/api/types/DocumentEvaluationSummary.py,sha256=EpgKn0uiH2Vbpyltc1MeoWOZjzbRuHkPCZ2Zkoqfni8,3480
102
149
  phoenix/server/api/types/DocumentRetrievalMetrics.py,sha256=amkpC3H5IU5-9GvO0telpbq00m6lIcv_2v446OpwFwc,1822
103
- phoenix/server/api/types/EmbeddingDimension.py,sha256=GHGpx4D9TSpcdaQ7FMmKMtCu2MVIv-yTRQq9mQfe5_o,18678
150
+ phoenix/server/api/types/EmbeddingDimension.py,sha256=2OTVzAcfY-2xnJLl7122EAaqJyp0sob1v9-ryaNWknw,18961
104
151
  phoenix/server/api/types/EmbeddingMetadata.py,sha256=fJvNNYCbkf3SJalArLy9rcBq9Uj1SNac60zjqe1PFnM,461
105
152
  phoenix/server/api/types/Evaluation.py,sha256=pSoaJH8-WzPvmZKn5fButzkXSN3Rvuq9GJ7g9H1aaaU,3997
106
153
  phoenix/server/api/types/EvaluationSummary.py,sha256=EFucuzAhcxR9sdEn6WNAtmAGJk-QR_3j3y7Mn2A9_bU,1528
107
- phoenix/server/api/types/Event.py,sha256=5ohMNtXxE7Oy4xrDIl6ngFxT44chv0XnRUV1NNt_-9Y,3900
154
+ phoenix/server/api/types/Event.py,sha256=XdYgaIxcVIW-YFViCkxj5l9OaVNepyIrCtm5Iqg2le8,3989
108
155
  phoenix/server/api/types/EventMetadata.py,sha256=-J0tYF9eZTHwCjwxQHY7Gckr2_MNW5OoWT1mydweZNM,635
109
- phoenix/server/api/types/ExportEventsMutation.py,sha256=PYqazKSx-S3uMLLXVlBmGSOxUhDb990dzZ4xNrRRiCw,3812
156
+ phoenix/server/api/types/ExampleRevisionInterface.py,sha256=gV3Gt9-3Oi5wjaVtepC6nOt3FzTzZFD1KebNnqiw56E,294
157
+ phoenix/server/api/types/Experiment.py,sha256=Lon2ZNZYdWXQmj3nLr_TXN8CCtZtC-AXYfyJuoqI2DM,4692
158
+ phoenix/server/api/types/ExperimentAnnotationSummary.py,sha256=Uk3JtxIrsMoZT5tqc4nJdUOM3XegVzjUyoV3pkjNotE,256
159
+ phoenix/server/api/types/ExperimentComparison.py,sha256=0sFz6MoBDw39dds0qVyaqhVs9qqO5rkG1FMSjmfBeCc,441
160
+ phoenix/server/api/types/ExperimentRun.py,sha256=uM7HxaC8nEjtO7yLr8WjLEfYRvEvbX6ibR8I0fVzdeU,2976
161
+ phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=GvWY6wukBhSr2Tk9Ef0R5bH5yCMxVakqeypoyYoUb6o,1774
110
162
  phoenix/server/api/types/ExportedFile.py,sha256=e3GTn7B5LgsTbqiwjhMCQH7VsiqXitrBO4aCMS1lHsg,163
111
163
  phoenix/server/api/types/Functionality.py,sha256=tzV9xdhB8zqfsjWxP66NDC7EZsplYkYO7jRbLWJIeeg,382
164
+ phoenix/server/api/types/Inferences.py,sha256=HWuDZZrXPWVoEy_pA3bRsAOUYsCKgAxf9zshasGqu5Y,3403
165
+ phoenix/server/api/types/InferencesRole.py,sha256=Kj9aiXOpGhpeg9PHd9MDU7aXVIT28EjJxr4P6xybfzc,601
112
166
  phoenix/server/api/types/MimeType.py,sha256=Zpi6zCalkSFgsvhzvOs-O1gYA04usAi9H__QZUmFlO0,365
113
- phoenix/server/api/types/Model.py,sha256=Jo0skz14xGKd-cy6YyxWOvNE0cXHRelSecmLUOgqizk,7880
167
+ phoenix/server/api/types/Model.py,sha256=991I3wKNFTwEOGR9PCmEVBg2Y9DuQR65SovU_8kzkVs,8085
114
168
  phoenix/server/api/types/NumericRange.py,sha256=afEjgF97Go_OvmjMggbPBt-zGM8IONewAyEiKEHRds0,192
115
169
  phoenix/server/api/types/PerformanceMetric.py,sha256=W92B7OghEOgzFvmY0LCqpgavHaQggTGshdgfD0yqHX4,350
116
- phoenix/server/api/types/Project.py,sha256=M5qv27Nx0fypogumDd__wjO5L7j_glcNubIN5hpN3ms,12848
170
+ phoenix/server/api/types/Project.py,sha256=SzvfPHr3VAm4FjvNzIfLsCyRqnZDsms13Xe1zA00rd4,13343
117
171
  phoenix/server/api/types/PromptResponse.py,sha256=Q8HKtpp8GpUOcxPCzZpkkokidDd6u0aZOv_SuPZZd5Q,630
118
172
  phoenix/server/api/types/Retrieval.py,sha256=OhMK2ncjoyp5h1yjKhjlKpoTbQrMHuxmgSFw-AO1rWw,285
119
173
  phoenix/server/api/types/ScalarDriftMetricEnum.py,sha256=IUAcRPpgL41WdoIgK6cNk2Te38SspXGyEs-S1fY23_A,232
120
174
  phoenix/server/api/types/Segments.py,sha256=m2yoegrxA1Tn7ZAy1rMjjD1isc752MaAXMoffkBlvrM,2921
121
175
  phoenix/server/api/types/SortDir.py,sha256=OUpXhlCzCxPoXSDkJJygEs9Rw9pMymfaZUG5zPTrw4Y,152
122
- phoenix/server/api/types/Span.py,sha256=ln3X1qZdM4ZxMgStsYFvI8vlCmjU-VUV4mD4WqU63zI,10898
123
- phoenix/server/api/types/TimeSeries.py,sha256=QbLfxHnwYsMsirpq4tx9us6ha7YtAVzK4m8mAL3fMt0,5200
124
- phoenix/server/api/types/Trace.py,sha256=VXr5iX5QeeeypDOY8-D19vm3bYTm-9tBZWomp2XEUnc,2007
125
- phoenix/server/api/types/UMAPPoints.py,sha256=8l9RJXi308qty4MdHb2pBbiU6ZuLbrRRxXNbPhXoxKI,1639
176
+ phoenix/server/api/types/Span.py,sha256=Nk0Of6JyHSI7OqrEodyV3d5UUvzCWnDkNSZUcmCvq-I,13837
177
+ phoenix/server/api/types/TimeSeries.py,sha256=wjzuxHFqCey0O7Ys25qiXyuqXK8an-osyNWUE8A_8G4,5227
178
+ phoenix/server/api/types/Trace.py,sha256=ep-mPexub1ijxAnBvc2KrGsNVXO2SfDR1WxqER2wcD8,2376
179
+ phoenix/server/api/types/UMAPPoints.py,sha256=5sOuruzM8saXa8C2XiyUfk2XPrkVGmhqKpclMYRw1dk,1656
126
180
  phoenix/server/api/types/ValidationResult.py,sha256=pHwdYk4J7SJ5xhlWWHg_6qWkfk4rjOx-bSkGHvkDE3Q,142
127
181
  phoenix/server/api/types/VectorDriftMetricEnum.py,sha256=etiJM5ZjQuD-oE7sY-FbdIKY050jk3IU49IMwmfJbEc,188
128
182
  phoenix/server/api/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- phoenix/server/api/types/node.py,sha256=C3xB1zNXBEz1Nrb6KUp89QMX1vnVeuR1WJCjH-R5vsM,4330
130
- phoenix/server/api/types/pagination.py,sha256=Ewc13FFbxzVJxMYFxDISpCsRXJFrOG5QYsXb4UaW2WM,10052
183
+ phoenix/server/api/types/node.py,sha256=V0Xh9U4cGkz3iMg-vzEXtcs6cumU29JFPiU-JuGzjWI,848
184
+ phoenix/server/api/types/pagination.py,sha256=PcaJ0s4exsTKgCZC4aFm1cgZNrGpHSdo6PbkWzPcweg,9077
131
185
  phoenix/server/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
- phoenix/server/openapi/docs.py,sha256=N7d4IHnhZ2Uvwgogo3Rjx-e_kX2NoenXPWkNjf1R22E,6913
186
+ phoenix/server/openapi/docs.py,sha256=fTb9q2oOSKC5bLVQy2Dsg3Bs0mGkCOKX1ypX7731sE0,7044
133
187
  phoenix/server/static/apple-touch-icon-114x114.png,sha256=xtFVXAYQnJkpUApg2D1hltSTuyO4Is4sD4A0ZkikiVU,9486
134
188
  phoenix/server/static/apple-touch-icon-120x120.png,sha256=iqZVAk634BbjJMozA8aHYyw15JjhIlIrG41FA2DFFaE,9957
135
189
  phoenix/server/static/apple-touch-icon-144x144.png,sha256=VgARtkHKoU8zikb3_G83h_cb02kpPcoJqO78yRh1AfU,10047
@@ -140,28 +194,28 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
140
194
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
141
195
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
142
196
  phoenix/server/static/index.css,sha256=KKGpx4iwF91VGRm0YN-4cn8oC-oIqC6HecoPf0x3ZM8,1885
143
- phoenix/server/static/index.js,sha256=OkUrMDFdfm5jbrpA5yxVhTkGwKByUGmkGeWoVsQyNrE,3351373
197
+ phoenix/server/static/index.js,sha256=88OQ_pBKrFdD5usFU6Frpm1vBzxL19zO4JS9ChoHWEo,3487681
144
198
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
145
199
  phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
146
- phoenix/server/templates/index.html,sha256=lO2wGA5XsftPg03rw_VcyaYf_4vegtlWbIT5ms4fA_c,1982
200
+ phoenix/server/templates/index.html,sha256=S4z7qSoNSwnKFAH9r96AR-YJEyoKMd-VMWVlJ_IdzME,2039
147
201
  phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
- phoenix/session/client.py,sha256=4Pm9RtP-FAH99-gLgGHNOdzqLpJ8ROAOgnpjwPW8WHA,10143
202
+ phoenix/session/client.py,sha256=tq2qghwYa_mxNYLD41UNfD7n57msB9lYIe5H16lBqoo,20333
149
203
  phoenix/session/data_extractor.py,sha256=dwhiDu-ISaXr8UI9I-CszZhB5BlUNmdDopjFZvMIXMw,2101
150
204
  phoenix/session/evaluation.py,sha256=aKeV8UVOyq3b7CYOwt3cWuLz0xzvMjX7vlEPILJ_fcs,5311
151
- phoenix/session/session.py,sha256=-OuqBRMT1tcat7qmy3g2mkDxK6krbtyH2mHpLskZ62k,26103
205
+ phoenix/session/session.py,sha256=rjIuSSK2gAYIUPQTJc4E2ebew5o6I070FWRoFn4W3EI,26620
152
206
  phoenix/trace/__init__.py,sha256=ujk_uYjM8gmm-YqnyXxF-kekfwid0bcaPMTtNNcaw6U,407
153
207
  phoenix/trace/attributes.py,sha256=xSr2EvlkDS9Wiij7FywXzw7UmMAMLIARSEm_P686BKM,12434
154
208
  phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
155
209
  phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKyttYdw-ddvPOk,1048
156
- phoenix/trace/exporter.py,sha256=D4crJLITTwdo96kav2mHuIJleFQ7hmjDWDuVASdpcao,4658
157
- phoenix/trace/fixtures.py,sha256=kupizPlPLoQyCxZfrIU7ZC87dYiL8uEhZEmdia__5qQ,9644
210
+ phoenix/trace/exporter.py,sha256=eAYemdvDCHMugDJiaR29BFFMTQBdf3oerdkz34Cl3hE,4736
211
+ phoenix/trace/fixtures.py,sha256=gBGFG2gkcBsSDzolzzR9AJDrB_fdOQfUaGgHV-EHdco,14204
158
212
  phoenix/trace/otel.py,sha256=WA720jvRadiZBAKjsYoPyXzypHwbyEK2OZRVUwtbjB8,9976
159
213
  phoenix/trace/projects.py,sha256=2BwlNjFE-uwpqYtCu5YyBiYZk9wRPpM13vh3-Cv7GkA,2157
160
214
  phoenix/trace/schemas.py,sha256=JiFKhGD2JF6Eai7UOhPF5urcuKGkpMLHc3Vltbe1msk,5967
161
- phoenix/trace/span_evaluations.py,sha256=7DI1EFfpZoOH8iIUYNzL9P6U9j0Hc2Z3u2SD0h1SF_Q,13101
215
+ phoenix/trace/span_evaluations.py,sha256=GaADtJLi2njra4aYaie0BIwkSgdxPB_SNseglI4ykZA,13104
162
216
  phoenix/trace/span_json_decoder.py,sha256=IAFakPRqSMYxTPKYFMiXYxm7U-FipdN8_xbvapDS0Qc,3131
163
217
  phoenix/trace/span_json_encoder.py,sha256=tzSCIQJbeFBm33K68G8A5M12n_86tCDyuU0WAobxEz4,2010
164
- phoenix/trace/trace_dataset.py,sha256=197ey31Zp40eN_gH1YVGM7avkZs-YlROSKG3M5eZsWg,13830
218
+ phoenix/trace/trace_dataset.py,sha256=CI9oma7sJTggUxvNHQR-uGIqrAvcSvkcDfyUBOeWjxo,13848
165
219
  phoenix/trace/utils.py,sha256=7LurVGXn245cjj4MJsc7v6jq4DSJkpK6YGBfIaSywuw,1307
166
220
  phoenix/trace/dsl/README.md,sha256=ihmP9zGUC5V-TDbzKla76LuyDqPDQIBUH2BORwxNI68,2902
167
221
  phoenix/trace/dsl/__init__.py,sha256=WIQIjJg362XD3s50OsPJJ0xbDsGp41bSv7vDllLrPuA,144
@@ -180,11 +234,13 @@ phoenix/trace/v1/evaluation_pb2.pyi,sha256=cCbbx06gwQmaH14s3J1X25TtaARh-k1abbxQd
180
234
  phoenix/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
235
  phoenix/utilities/deprecation.py,sha256=cFuTVvjSYyRlrdxdJewjJVieIEHPk30BukSRGRydQ3k,1046
182
236
  phoenix/utilities/error_handling.py,sha256=7b5rpGFj9EWZ8yrZK1IHvxB89suWk3lggDayUQcvZds,1946
237
+ phoenix/utilities/json.py,sha256=nuD1SbPm871tbt9Cz7V2NUmS9m0jWgcpRUx1YOV3NYQ,1954
183
238
  phoenix/utilities/logging.py,sha256=lDXd6EGaamBNcQxL4vP1au9-i_SXe0OraUDiJOcszSw,222
184
239
  phoenix/utilities/project.py,sha256=qWsvKnG1oKhOFUowXf9qiOL2ia7jaFe_ijFFHEt8GJo,431
240
+ phoenix/utilities/re.py,sha256=PDve_OLjRTM8yQQJHC8-n3HdIONi7aNils3ZKRZ5uBM,2045
185
241
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
186
- arize_phoenix-4.4.3.dist-info/METADATA,sha256=fyvhGY0UVWtLj7ivKOdZFQXVmOQ79I0RzxH7tBTl4rU,11047
187
- arize_phoenix-4.4.3.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
188
- arize_phoenix-4.4.3.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
189
- arize_phoenix-4.4.3.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
190
- arize_phoenix-4.4.3.dist-info/RECORD,,
242
+ arize_phoenix-4.4.4rc1.dist-info/METADATA,sha256=pgZ3wq1WB5ha1qDeAPV4tOykYhih_2_KJrD16lfEj3s,11012
243
+ arize_phoenix-4.4.4rc1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
244
+ arize_phoenix-4.4.4rc1.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
245
+ arize_phoenix-4.4.4rc1.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
246
+ arize_phoenix-4.4.4rc1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.24.2
2
+ Generator: hatchling 1.25.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
phoenix/__init__.py CHANGED
@@ -1,9 +1,3 @@
1
- import sys
2
- from importlib.abc import Loader, MetaPathFinder
3
- from importlib.machinery import ModuleSpec
4
- from types import ModuleType
5
- from typing import Any, Optional
6
-
7
1
  from .inferences.fixtures import ExampleInferences, load_example
8
2
  from .inferences.inferences import Inferences
9
3
  from .inferences.schema import EmbeddingColumnNames, RetrievalEmbeddingColumnNames, Schema
@@ -57,24 +51,3 @@ __all__ = [
57
51
  "Client",
58
52
  "evals",
59
53
  ]
60
-
61
-
62
- class PhoenixEvalsFinder(MetaPathFinder):
63
- def find_spec(self, fullname: Any, path: Any, target: Any = None) -> Optional[ModuleSpec]:
64
- if fullname == "phoenix.evals":
65
- return ModuleSpec(fullname, PhoenixEvalsLoader())
66
- return None
67
-
68
-
69
- class PhoenixEvalsLoader(Loader):
70
- def create_module(self, spec: ModuleSpec) -> None:
71
- return None
72
-
73
- def exec_module(self, module: ModuleType) -> None:
74
- raise ImportError(
75
- "The optional `phoenix.evals` package is not installed. "
76
- "Please install `phoenix` with the `evals` extra: `pip install 'arize-phoenix[evals]'`."
77
- )
78
-
79
-
80
- sys.meta_path.append(PhoenixEvalsFinder())
phoenix/config.py CHANGED
@@ -2,7 +2,9 @@ import os
2
2
  import tempfile
3
3
  from logging import getLogger
4
4
  from pathlib import Path
5
- from typing import List, Optional
5
+ from typing import Dict, List, Optional
6
+
7
+ from .utilities.re import parse_env_headers
6
8
 
7
9
  logger = getLogger(__name__)
8
10
 
@@ -12,6 +14,12 @@ ENV_PHOENIX_GRPC_PORT = "PHOENIX_GRPC_PORT"
12
14
  ENV_PHOENIX_HOST = "PHOENIX_HOST"
13
15
  ENV_PHOENIX_HOST_ROOT_PATH = "PHOENIX_HOST_ROOT_PATH"
14
16
  ENV_NOTEBOOK_ENV = "PHOENIX_NOTEBOOK_ENV"
17
+ ENV_PHOENIX_CLIENT_HEADERS = "PHOENIX_CLIENT_HEADERS"
18
+ """
19
+ The headers to include in Phoenix client requests.
20
+ Note: This overrides OTEL_EXPORTER_OTLP_HEADERS in the case where
21
+ phoenix.trace instrumentors are used.
22
+ """
15
23
  ENV_PHOENIX_COLLECTOR_ENDPOINT = "PHOENIX_COLLECTOR_ENDPOINT"
16
24
  """
17
25
  The endpoint traces and evals are sent to. This must be set if the Phoenix
@@ -105,15 +113,15 @@ GRPC_PORT = 4317
105
113
  """The port the gRPC server will run on after launch_app is called.
106
114
  The default network port for OTLP/gRPC is 4317.
107
115
  See https://opentelemetry.io/docs/specs/otlp/#otlpgrpc-default-port"""
108
- GENERATED_DATASET_NAME_PREFIX = "phoenix_dataset_"
116
+ GENERATED_INFERENCES_NAME_PREFIX = "phoenix_inferences_"
109
117
  """The prefix of datasets that are auto-assigned a name."""
110
118
  WORKING_DIR = get_working_dir()
111
- """The work directory for saving, loading, and exporting datasets."""
119
+ """The work directory for saving, loading, and exporting data."""
112
120
 
113
121
  ROOT_DIR = WORKING_DIR
114
122
  EXPORT_DIR = ROOT_DIR / "exports"
115
- DATASET_DIR = ROOT_DIR / "datasets"
116
- TRACE_DATASET_DIR = ROOT_DIR / "trace_datasets"
123
+ INFERENCES_DIR = ROOT_DIR / "inferences"
124
+ TRACE_DATASETS_DIR = ROOT_DIR / "trace_datasets"
117
125
 
118
126
 
119
127
  def ensure_working_dir() -> None:
@@ -126,8 +134,8 @@ def ensure_working_dir() -> None:
126
134
  for path in (
127
135
  ROOT_DIR,
128
136
  EXPORT_DIR,
129
- DATASET_DIR,
130
- TRACE_DATASET_DIR,
137
+ INFERENCES_DIR,
138
+ TRACE_DATASETS_DIR,
131
139
  ):
132
140
  path.mkdir(parents=True, exist_ok=True)
133
141
  except Exception as e:
@@ -219,4 +227,10 @@ def get_env_enable_prometheus() -> bool:
219
227
  )
220
228
 
221
229
 
230
+ def get_env_client_headers() -> Optional[Dict[str, str]]:
231
+ if headers_str := os.getenv(ENV_PHOENIX_CLIENT_HEADERS):
232
+ return parse_env_headers(headers_str)
233
+ return None
234
+
235
+
222
236
  DEFAULT_PROJECT_NAME = "default"
phoenix/core/model.py CHANGED
@@ -7,73 +7,73 @@ from .embedding_dimension import EmbeddingDimension
7
7
 
8
8
 
9
9
  def _get_embedding_dimensions(
10
- primary_dataset: Inferences, reference_dataset: Optional[Inferences]
10
+ primary_inferences: Inferences, reference_inferences: Optional[Inferences]
11
11
  ) -> List[EmbeddingDimension]:
12
12
  embedding_dimensions: List[EmbeddingDimension] = []
13
13
  embedding_features: EmbeddingFeatures = {}
14
14
 
15
15
  primary_embedding_features: Optional[EmbeddingFeatures] = (
16
- primary_dataset.schema.embedding_feature_column_names
16
+ primary_inferences.schema.embedding_feature_column_names
17
17
  )
18
18
  if primary_embedding_features is not None:
19
19
  embedding_features.update(primary_embedding_features)
20
20
  primary_prompt_column_names: Optional[EmbeddingColumnNames] = (
21
- primary_dataset.schema.prompt_column_names
21
+ primary_inferences.schema.prompt_column_names
22
22
  )
23
23
  if primary_prompt_column_names is not None:
24
24
  embedding_features.update({"prompt": primary_prompt_column_names})
25
25
  primary_response_column_names: Optional[Union[str, EmbeddingColumnNames]] = (
26
- primary_dataset.schema.response_column_names
26
+ primary_inferences.schema.response_column_names
27
27
  )
28
28
  if isinstance(primary_response_column_names, EmbeddingColumnNames):
29
29
  embedding_features.update({"response": primary_response_column_names})
30
30
 
31
- if reference_dataset is not None:
31
+ if reference_inferences is not None:
32
32
  reference_embedding_features: Optional[EmbeddingFeatures] = (
33
- reference_dataset.schema.embedding_feature_column_names
33
+ reference_inferences.schema.embedding_feature_column_names
34
34
  )
35
35
  if reference_embedding_features is not None:
36
36
  embedding_features.update(reference_embedding_features)
37
37
  reference_prompt_column_names: Optional[EmbeddingColumnNames] = (
38
- reference_dataset.schema.prompt_column_names
38
+ reference_inferences.schema.prompt_column_names
39
39
  )
40
40
  if reference_prompt_column_names is not None:
41
41
  embedding_features.update({"prompt": reference_prompt_column_names})
42
42
  reference_response_column_names: Optional[Union[str, EmbeddingColumnNames]] = (
43
- reference_dataset.schema.response_column_names
43
+ reference_inferences.schema.response_column_names
44
44
  )
45
45
  if isinstance(reference_response_column_names, EmbeddingColumnNames):
46
46
  embedding_features.update({"response": reference_response_column_names})
47
47
 
48
48
  for embedding_feature, embedding_column_names in embedding_features.items():
49
49
  embedding_dimensions.append(EmbeddingDimension(name=embedding_feature))
50
- if reference_dataset is not None:
51
- _check_embedding_vector_lengths_match_across_datasets(
52
- embedding_feature, embedding_column_names, primary_dataset, reference_dataset
50
+ if reference_inferences is not None:
51
+ _check_embedding_vector_lengths_match_across_inference_sets(
52
+ embedding_feature, embedding_column_names, primary_inferences, reference_inferences
53
53
  )
54
54
 
55
55
  return embedding_dimensions
56
56
 
57
57
 
58
- def _check_embedding_vector_lengths_match_across_datasets(
58
+ def _check_embedding_vector_lengths_match_across_inference_sets(
59
59
  embedding_feature_name: str,
60
60
  embedding_column_names: EmbeddingColumnNames,
61
- primary_dataset: Inferences,
62
- reference_dataset: Inferences,
61
+ primary_inferences: Inferences,
62
+ reference_inferences: Inferences,
63
63
  ) -> None:
64
64
  """
65
65
  Ensure that for each embedding feature, the vector lengths match across the primary
66
- and reference datasets which is required for calculating embedding drift (vector distance)
66
+ and reference inferences which is required for calculating embedding drift (vector distance)
67
67
  """
68
68
  primary_vector_length = _get_column_vector_length(
69
- primary_dataset, embedding_column_names.vector_column_name
69
+ primary_inferences, embedding_column_names.vector_column_name
70
70
  )
71
71
  reference_vector_length = _get_column_vector_length(
72
- reference_dataset, embedding_column_names.vector_column_name
72
+ reference_inferences, embedding_column_names.vector_column_name
73
73
  )
74
74
 
75
- # if one of the datasets doesn't have the embedding column at all, which is fine since we
76
- # just consider this as missing from one of the datasets and won't need to worry about
75
+ # if one of the inferences doesn't have the embedding column at all, which is fine since we
76
+ # just consider this as missing from one of the inferences and won't need to worry about
77
77
  # calculating drift
78
78
  if primary_vector_length is None or reference_vector_length is None:
79
79
  return
@@ -81,23 +81,23 @@ def _check_embedding_vector_lengths_match_across_datasets(
81
81
  if primary_vector_length != reference_vector_length:
82
82
  raise ValueError(
83
83
  f"Embedding vector length must match for "
84
- f"both datasets; embedding_feature={embedding_feature_name} "
84
+ f"both inference sets; embedding_feature={embedding_feature_name} "
85
85
  f"vector_column={embedding_column_names.vector_column_name}"
86
86
  )
87
87
 
88
88
 
89
89
  def _get_column_vector_length(
90
- dataset: Inferences, embedding_vector_column_name: str
90
+ inferences: Inferences, embedding_vector_column_name: str
91
91
  ) -> Optional[int]:
92
92
  """
93
- Because a dataset has already been constructed, we can assume that the lengths
94
- of the vectors for any given embedding feature in the dataset are the same.
93
+ Because a inferences has already been constructed, we can assume that the lengths
94
+ of the vectors for any given embedding feature in the inferences are the same.
95
95
  Returns the length a vector by getting the length first non-null vector.
96
96
  """
97
- if embedding_vector_column_name not in dataset.dataframe:
97
+ if embedding_vector_column_name not in inferences.dataframe:
98
98
  return None
99
99
 
100
- column = dataset.dataframe[embedding_vector_column_name]
100
+ column = inferences.dataframe[embedding_vector_column_name]
101
101
 
102
102
  for row in column:
103
103
  # None/NaN is a valid entry for a row and represents the fact that the