arize-phoenix 4.4.4rc6__py3-none-any.whl → 4.5.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.

Files changed (123) hide show
  1. {arize_phoenix-4.4.4rc6.dist-info → arize_phoenix-4.5.0.dist-info}/METADATA +8 -14
  2. {arize_phoenix-4.4.4rc6.dist-info → arize_phoenix-4.5.0.dist-info}/RECORD +58 -122
  3. {arize_phoenix-4.4.4rc6.dist-info → arize_phoenix-4.5.0.dist-info}/WHEEL +1 -1
  4. phoenix/__init__.py +27 -0
  5. phoenix/config.py +7 -42
  6. phoenix/core/model.py +25 -25
  7. phoenix/core/model_schema.py +62 -64
  8. phoenix/core/model_schema_adapter.py +25 -27
  9. phoenix/datetime_utils.py +0 -4
  10. phoenix/db/bulk_inserter.py +14 -54
  11. phoenix/db/insertion/evaluation.py +10 -10
  12. phoenix/db/insertion/helpers.py +14 -17
  13. phoenix/db/insertion/span.py +3 -3
  14. phoenix/db/migrations/versions/cf03bd6bae1d_init.py +28 -2
  15. phoenix/db/models.py +4 -236
  16. phoenix/inferences/fixtures.py +23 -23
  17. phoenix/inferences/inferences.py +7 -7
  18. phoenix/inferences/validation.py +1 -1
  19. phoenix/server/api/context.py +0 -20
  20. phoenix/server/api/dataloaders/__init__.py +0 -20
  21. phoenix/server/api/dataloaders/span_descendants.py +3 -2
  22. phoenix/server/api/routers/v1/__init__.py +2 -77
  23. phoenix/server/api/routers/v1/evaluations.py +13 -8
  24. phoenix/server/api/routers/v1/spans.py +5 -9
  25. phoenix/server/api/routers/v1/traces.py +4 -1
  26. phoenix/server/api/schema.py +303 -2
  27. phoenix/server/api/types/Cluster.py +19 -19
  28. phoenix/server/api/types/Dataset.py +63 -282
  29. phoenix/server/api/types/DatasetRole.py +23 -0
  30. phoenix/server/api/types/Dimension.py +29 -30
  31. phoenix/server/api/types/EmbeddingDimension.py +34 -40
  32. phoenix/server/api/types/Event.py +16 -16
  33. phoenix/server/api/{mutations/export_events_mutations.py → types/ExportEventsMutation.py} +14 -17
  34. phoenix/server/api/types/Model.py +42 -43
  35. phoenix/server/api/types/Project.py +12 -26
  36. phoenix/server/api/types/Span.py +2 -79
  37. phoenix/server/api/types/TimeSeries.py +6 -6
  38. phoenix/server/api/types/Trace.py +4 -15
  39. phoenix/server/api/types/UMAPPoints.py +1 -1
  40. phoenix/server/api/types/node.py +111 -5
  41. phoenix/server/api/types/pagination.py +52 -10
  42. phoenix/server/app.py +49 -103
  43. phoenix/server/main.py +27 -49
  44. phoenix/server/openapi/docs.py +0 -3
  45. phoenix/server/static/index.js +1384 -2390
  46. phoenix/server/templates/index.html +0 -1
  47. phoenix/services.py +15 -15
  48. phoenix/session/client.py +23 -611
  49. phoenix/session/session.py +37 -47
  50. phoenix/trace/exporter.py +9 -14
  51. phoenix/trace/fixtures.py +7 -133
  52. phoenix/trace/schemas.py +2 -1
  53. phoenix/trace/span_evaluations.py +3 -3
  54. phoenix/trace/trace_dataset.py +6 -6
  55. phoenix/version.py +1 -1
  56. phoenix/db/insertion/dataset.py +0 -237
  57. phoenix/db/migrations/types.py +0 -29
  58. phoenix/db/migrations/versions/10460e46d750_datasets.py +0 -291
  59. phoenix/experiments/__init__.py +0 -6
  60. phoenix/experiments/evaluators/__init__.py +0 -29
  61. phoenix/experiments/evaluators/base.py +0 -153
  62. phoenix/experiments/evaluators/code_evaluators.py +0 -99
  63. phoenix/experiments/evaluators/llm_evaluators.py +0 -244
  64. phoenix/experiments/evaluators/utils.py +0 -189
  65. phoenix/experiments/functions.py +0 -616
  66. phoenix/experiments/tracing.py +0 -85
  67. phoenix/experiments/types.py +0 -722
  68. phoenix/experiments/utils.py +0 -9
  69. phoenix/server/api/dataloaders/average_experiment_run_latency.py +0 -54
  70. phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -100
  71. phoenix/server/api/dataloaders/dataset_example_spans.py +0 -43
  72. phoenix/server/api/dataloaders/experiment_annotation_summaries.py +0 -85
  73. phoenix/server/api/dataloaders/experiment_error_rates.py +0 -43
  74. phoenix/server/api/dataloaders/experiment_run_counts.py +0 -42
  75. phoenix/server/api/dataloaders/experiment_sequence_number.py +0 -49
  76. phoenix/server/api/dataloaders/project_by_name.py +0 -31
  77. phoenix/server/api/dataloaders/span_projects.py +0 -33
  78. phoenix/server/api/dataloaders/trace_row_ids.py +0 -39
  79. phoenix/server/api/helpers/dataset_helpers.py +0 -179
  80. phoenix/server/api/input_types/AddExamplesToDatasetInput.py +0 -16
  81. phoenix/server/api/input_types/AddSpansToDatasetInput.py +0 -14
  82. phoenix/server/api/input_types/ClearProjectInput.py +0 -15
  83. phoenix/server/api/input_types/CreateDatasetInput.py +0 -12
  84. phoenix/server/api/input_types/DatasetExampleInput.py +0 -14
  85. phoenix/server/api/input_types/DatasetSort.py +0 -17
  86. phoenix/server/api/input_types/DatasetVersionSort.py +0 -16
  87. phoenix/server/api/input_types/DeleteDatasetExamplesInput.py +0 -13
  88. phoenix/server/api/input_types/DeleteDatasetInput.py +0 -7
  89. phoenix/server/api/input_types/DeleteExperimentsInput.py +0 -9
  90. phoenix/server/api/input_types/PatchDatasetExamplesInput.py +0 -35
  91. phoenix/server/api/input_types/PatchDatasetInput.py +0 -14
  92. phoenix/server/api/mutations/__init__.py +0 -13
  93. phoenix/server/api/mutations/auth.py +0 -11
  94. phoenix/server/api/mutations/dataset_mutations.py +0 -520
  95. phoenix/server/api/mutations/experiment_mutations.py +0 -65
  96. phoenix/server/api/mutations/project_mutations.py +0 -47
  97. phoenix/server/api/openapi/__init__.py +0 -0
  98. phoenix/server/api/openapi/main.py +0 -6
  99. phoenix/server/api/openapi/schema.py +0 -16
  100. phoenix/server/api/queries.py +0 -503
  101. phoenix/server/api/routers/v1/dataset_examples.py +0 -178
  102. phoenix/server/api/routers/v1/datasets.py +0 -965
  103. phoenix/server/api/routers/v1/experiment_evaluations.py +0 -65
  104. phoenix/server/api/routers/v1/experiment_runs.py +0 -96
  105. phoenix/server/api/routers/v1/experiments.py +0 -174
  106. phoenix/server/api/types/AnnotatorKind.py +0 -10
  107. phoenix/server/api/types/CreateDatasetPayload.py +0 -8
  108. phoenix/server/api/types/DatasetExample.py +0 -85
  109. phoenix/server/api/types/DatasetExampleRevision.py +0 -34
  110. phoenix/server/api/types/DatasetVersion.py +0 -14
  111. phoenix/server/api/types/ExampleRevisionInterface.py +0 -14
  112. phoenix/server/api/types/Experiment.py +0 -147
  113. phoenix/server/api/types/ExperimentAnnotationSummary.py +0 -13
  114. phoenix/server/api/types/ExperimentComparison.py +0 -19
  115. phoenix/server/api/types/ExperimentRun.py +0 -91
  116. phoenix/server/api/types/ExperimentRunAnnotation.py +0 -57
  117. phoenix/server/api/types/Inferences.py +0 -80
  118. phoenix/server/api/types/InferencesRole.py +0 -23
  119. phoenix/utilities/json.py +0 -61
  120. phoenix/utilities/re.py +0 -50
  121. {arize_phoenix-4.4.4rc6.dist-info → arize_phoenix-4.5.0.dist-info}/licenses/IP_NOTICE +0 -0
  122. {arize_phoenix-4.4.4rc6.dist-info → arize_phoenix-4.5.0.dist-info}/licenses/LICENSE +0 -0
  123. /phoenix/server/api/{helpers/__init__.py → helpers.py} +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arize-phoenix
3
- Version: 4.4.4rc6
3
+ Version: 4.5.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
@@ -20,27 +20,25 @@ 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.13.1
24
23
  Requires-Dist: cachetools
25
24
  Requires-Dist: grpcio
26
25
  Requires-Dist: hdbscan>=0.8.33
27
- Requires-Dist: httpx
28
26
  Requires-Dist: jinja2
29
27
  Requires-Dist: numpy<2
30
28
  Requires-Dist: openinference-instrumentation
31
29
  Requires-Dist: openinference-instrumentation-langchain>=0.1.12
32
30
  Requires-Dist: openinference-instrumentation-llama-index>=1.2.0
33
31
  Requires-Dist: openinference-instrumentation-openai>=0.1.4
34
- Requires-Dist: openinference-semantic-conventions>=0.1.9
32
+ Requires-Dist: openinference-semantic-conventions>=0.1.5
35
33
  Requires-Dist: opentelemetry-exporter-otlp
36
34
  Requires-Dist: opentelemetry-proto>=1.12.0
37
35
  Requires-Dist: opentelemetry-sdk
38
36
  Requires-Dist: opentelemetry-semantic-conventions
39
- Requires-Dist: pandas>=1.0
37
+ Requires-Dist: pandas
40
38
  Requires-Dist: protobuf<6.0,>=3.20
41
39
  Requires-Dist: psutil
42
40
  Requires-Dist: pyarrow
43
- Requires-Dist: python-multipart
41
+ Requires-Dist: requests
44
42
  Requires-Dist: scikit-learn
45
43
  Requires-Dist: scipy
46
44
  Requires-Dist: sqlalchemy[asyncio]<3,>=2.0.4
@@ -79,7 +77,6 @@ Requires-Dist: llama-index>=0.10.3; extra == 'dev'
79
77
  Requires-Dist: nbqa; extra == 'dev'
80
78
  Requires-Dist: pandas-stubs==2.0.3.230814; (python_version < '3.9') and extra == 'dev'
81
79
  Requires-Dist: pandas-stubs==2.2.2.240603; (python_version >= '3.9') and extra == 'dev'
82
- Requires-Dist: pandas>=1.0; extra == 'dev'
83
80
  Requires-Dist: pre-commit; extra == 'dev'
84
81
  Requires-Dist: prometheus-client; extra == 'dev'
85
82
  Requires-Dist: psycopg[binary]; extra == 'dev'
@@ -89,15 +86,12 @@ Requires-Dist: pytest-postgresql; extra == 'dev'
89
86
  Requires-Dist: pytest==8.2.2; extra == 'dev'
90
87
  Requires-Dist: ruff==0.4.9; extra == 'dev'
91
88
  Requires-Dist: strawberry-graphql[debug-server,opentelemetry]==0.235.0; extra == 'dev'
92
- Requires-Dist: tabulate; extra == 'dev'
93
- Requires-Dist: types-tabulate; extra == 'dev'
94
89
  Provides-Extra: evals
90
+ Requires-Dist: arize-phoenix-evals>=0.3.0; extra == 'evals'
95
91
  Provides-Extra: experimental
92
+ Requires-Dist: tenacity; extra == 'experimental'
96
93
  Provides-Extra: llama-index
97
- Requires-Dist: llama-index-embeddings-openai; extra == 'llama-index'
98
- Requires-Dist: llama-index-llms-openai; extra == 'llama-index'
99
- Requires-Dist: llama-index-readers-file; extra == 'llama-index'
100
- Requires-Dist: llama-index==0.10.51; extra == 'llama-index'
94
+ Requires-Dist: llama-index==0.10.44; extra == 'llama-index'
101
95
  Provides-Extra: pg
102
96
  Requires-Dist: asyncpg; extra == 'pg'
103
97
  Description-Content-Type: text/markdown
@@ -133,7 +127,7 @@ Description-Content-Type: text/markdown
133
127
 
134
128
  Phoenix is an open-source AI observability platform designed for experimentation, evaluation, and troubleshooting. It provides:
135
129
 
136
- - **_Tracing_** - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
130
+ - **_Tracing_** - Trace your LLM application's runtime using using OpenTelemetry-based instrumentation.
137
131
  - **_Evaluation_** - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
138
132
  - **_Inference Analysis_** - Visualize inferences and embeddings using dimensionality reduction and clustering to identify drift and performance degradation.
139
133
 
@@ -1,51 +1,38 @@
1
- phoenix/__init__.py,sha256=JMXBf8J0tAa5ycWDIn8QWYgQu6H2vL77RC4lful-YH8,1542
2
- phoenix/config.py,sha256=eXciIho_PDh4ZSmq4Gtuo7Qz__yTluDP3_WUwig5OiU,8141
3
- phoenix/datetime_utils.py,sha256=yDKjwX2Vtqw9h5F_ProtP-TsXidM43uIvmJ_pOzYc9A,3405
1
+ phoenix/__init__.py,sha256=NyJ6xQhGeEdbHVA72gbQlGo3WElzQxmpQBSME-CZNZI,2389
2
+ phoenix/config.py,sha256=ZGzdeE_1IJe_WFyRY7hxFbNNtHbZATk2b1pWUxpcTxk,7155
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=aTxhcOA1pZHB6U-B3TEcp6fqDF5oT0xCUvEUNMZVTUQ,5175
6
+ phoenix/services.py,sha256=haZUWKuxfI5lm0o61HgW_4B6RTBg9CUbXC8y92ZMsw4,5121
7
7
  phoenix/settings.py,sha256=cO-qgis_S27nHirTobYI9hHPfZH18R--WMmxNdsVUwc,273
8
- phoenix/version.py,sha256=rZ0Z9PgUs79kMn4HpCH3vAEVOqqPCzzD7Xz8N5sa7qI,25
8
+ phoenix/version.py,sha256=kasr7b-vOsk9-oG-TlLAfGiJiloadombYp2VxAPe1ck,22
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=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
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
14
14
  phoenix/db/README.md,sha256=IvKaZyf9ECbGBYYePaRhBveKZwDbxAc-c7BMxJYZh6Q,595
15
15
  phoenix/db/__init__.py,sha256=pDjEFXukHmJBM-1D8RjmXkvLsz85YWNxMQczt81ec3A,118
16
16
  phoenix/db/alembic.ini,sha256=p8DjVqGUs_tTx8oU56JP7qj-rMUebNFizItUSv_hPhs,3763
17
- phoenix/db/bulk_inserter.py,sha256=zbZGWZFDybKaGLGzpxgLwxAS5sC0_wXcvM0be4kUhh8,11286
17
+ phoenix/db/bulk_inserter.py,sha256=jubepj2a40jFy95NB8UFznpkFnlRRwB-iOXZ6DS0au8,9493
18
18
  phoenix/db/engines.py,sha256=vLWaZlToMtDI7rJDxSidYkfOoojamxaZxaz8ND3zTus,4770
19
19
  phoenix/db/helpers.py,sha256=L2_jP1iIWpUREhKLYYb4_vf_6v_BiU1E73Z2PczGm6s,1589
20
20
  phoenix/db/migrate.py,sha256=MuhtNWnR24riROvarvKfbRb4_D5xuQi6P760vBUKl1E,2270
21
- phoenix/db/models.py,sha256=zFtdhVuQFOvquyKsto62aqAVaTRUlq9gxU0j1M1yLdg,20408
21
+ phoenix/db/models.py,sha256=0TMbI69xOcW2a1uWLmwTDANSSoOvuFcBczbrjNSh3Cw,12240
22
22
  phoenix/db/insertion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
- phoenix/db/insertion/dataset.py,sha256=_vxy5e6W5jEuvO2fMKbbNCn9JvHkwI4LRKk_10eKFVg,7171
24
- phoenix/db/insertion/evaluation.py,sha256=HoUncZN9ZlIr1QO0uA37SbWhrjmwQVYVJlgFX2VefY8,7211
25
- phoenix/db/insertion/helpers.py,sha256=5AZQSyTGAthyaIl_l5jL4yva1IrTTBG9y2G7l1r2Yyk,1937
26
- phoenix/db/insertion/span.py,sha256=d85O3R_Cc3aVFDJSgLLX66qNCPNbKtDxug_dSKFDfew,5655
23
+ phoenix/db/insertion/evaluation.py,sha256=nvKXGWv0XD23G3ISw2u9_SqbwtGaB0Vd63wL59nPlCA,7189
24
+ phoenix/db/insertion/helpers.py,sha256=2oBbzwx_Q0JJ9WlvbGl_a8hWySHyGhzbMNv-SHtcM-4,2022
25
+ phoenix/db/insertion/span.py,sha256=DNBjSrx5g2W5KuTB1dkHwtkb0SFnMIxN1jB-BAdGKFY,5634
27
26
  phoenix/db/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
27
  phoenix/db/migrations/env.py,sha256=QbzB5zrRs6XQQmrYeUpuzeilcMlM-MsbaAgHHYcIHTI,3626
29
28
  phoenix/db/migrations/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
30
- phoenix/db/migrations/types.py,sha256=Frq1AKSyBKQQ0FLzON-EmgTqE4kNkOpHMsbWnI-WgCE,605
31
- phoenix/db/migrations/versions/10460e46d750_datasets.py,sha256=l69yZfScFrjfZZpY0gnqwhsDUEctLeo02qMgA_aOGDg,8155
32
- phoenix/db/migrations/versions/cf03bd6bae1d_init.py,sha256=CbWT3ZTR0CZqeT3zWLoTWhboFmnOy3Ju1z6Ztpq8WIM,8122
33
- phoenix/experiments/__init__.py,sha256=6JGwgUd7xCbGpuHqYZlsmErmYvVgv7N_j43bn3dUqsk,123
34
- phoenix/experiments/functions.py,sha256=w0A6BK80avoupxd3sPJZ_btftV1pXrkbZj4omR_H214,24723
35
- phoenix/experiments/tracing.py,sha256=wVpt8Ie9WNPoi1djJdcrkwCokHdTO0bicXViLg3O-1Y,2831
36
- phoenix/experiments/types.py,sha256=tj7DxfsU_nQP5bNe_h6p4KvRjkXKaaB3FeaIerAi_iA,22790
37
- phoenix/experiments/utils.py,sha256=ZZajvIrZTURhOX5Nx4nyogJEbI18sKCHYiYwOxz2vYU,340
38
- phoenix/experiments/evaluators/__init__.py,sha256=j63fi3fa3U7-itVPHa82GowhjQRU-wO6yhO34u_lhsA,714
39
- phoenix/experiments/evaluators/base.py,sha256=uhO4R06YWBbTxdpvXLldANnTxTA5r2h_Ktj-ZMLH57c,5305
40
- phoenix/experiments/evaluators/code_evaluators.py,sha256=0qIKQS14Knze50ziJEPVEnNeV3QIs4g1IXtCmaWZu7o,3923
41
- phoenix/experiments/evaluators/llm_evaluators.py,sha256=EFce6LKZwUZDBa5ZozvcdqeZpdWM6n6bmq7_oIzM2Nw,9211
42
- phoenix/experiments/evaluators/utils.py,sha256=o84UTWN7fzjCGZDTS-KpGZ2VBrk2iSuO3X2LoC7pr3Y,6966
29
+ phoenix/db/migrations/versions/cf03bd6bae1d_init.py,sha256=I0st_gylN4giqNNw9AXUf37Zs6dF692ReW7cTfufgdU,8662
43
30
  phoenix/inferences/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
31
  phoenix/inferences/errors.py,sha256=cGp9vxnw4SewFoWBV3ZGMkhE0Kh73lPIv3Ppz_H_RoA,8261
45
- phoenix/inferences/fixtures.py,sha256=FC2eRL4dpobKQHYOilFtDexUWFkMZ_w6jun_4WkbMk0,20792
46
- phoenix/inferences/inferences.py,sha256=YVZ56vZXgV0gVrDhFxcaPlawoDm5cFm2GQpaPkbZE-4,30718
32
+ phoenix/inferences/fixtures.py,sha256=bEfvBixW56jje2Mrt4TH88V3N6K84XJX1HNFBZTh8PQ,20711
33
+ phoenix/inferences/inferences.py,sha256=6vtHq0exSQqy3IVGqvbgOPKfYMbgFgwmNG5YyZDsNuI,30694
47
34
  phoenix/inferences/schema.py,sha256=UYej9IJ6pFeNW3fq721kJy16ONso_xVDm78Q68G4hl4,6643
48
- phoenix/inferences/validation.py,sha256=fdmbsjUBwtacRiVFdh9aem-QrgPfq_OlEmPdascWluc,8297
35
+ phoenix/inferences/validation.py,sha256=dZ9lCFUV0EY7HCkQkQBrs-GLAEIZdpOqUxwD5l4dp88,8294
49
36
  phoenix/metrics/README.md,sha256=5gekqTU-5gGdMwvcfNp2Wlu8p1ul9kGY_jq0XXQusoI,1964
50
37
  phoenix/metrics/__init__.py,sha256=W8lVORvjBo66pFgUmU9P8Fi8i4yI75wOPkhU42sfeQU,2417
51
38
  phoenix/metrics/binning.py,sha256=jDd7YcyEhptCp3zWcH6tfyq87vJ3c8L50ocSuxgPAoQ,12739
@@ -60,138 +47,89 @@ phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYG
60
47
  phoenix/pointcloud/projectors.py,sha256=zO_RrtDYSv2rqVOfIP2_9Cv11Dc8EmcZR94xhFcBYPU,1057
61
48
  phoenix/pointcloud/umap_parameters.py,sha256=lJsEOrbSuSiqI7g4Yt6xj7kgYxEqoep4ZHWLr6VWBqw,1760
62
49
  phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- phoenix/server/app.py,sha256=Ld9NvW7sBT4aJn8CXAB_PIw4c5wlkxCcjT_hzjtn7dM,18478
50
+ phoenix/server/app.py,sha256=zsov7w_hjiXtr8js4nB3egSX1otDRBD2vEKz6b-GH1Y,16382
64
51
  phoenix/server/grpc_server.py,sha256=faktLxEtWGlCB1bPR4QwwTsRoQloahKMx0hAWqRGI5s,3379
65
- phoenix/server/main.py,sha256=mtzH_2Kyvuy3AHiiKfqiCdUQ6SGFzeT4q9fefbV6GLg,11114
52
+ phoenix/server/main.py,sha256=6XhQhpmvuneIKXwVJFfMQFuqdPgyQCL5W0QzK2cZsrI,10330
66
53
  phoenix/server/prometheus.py,sha256=j9DHB2fERuq_ZKmwVaqR-9wx5WcPPuU1Cm5Bhg5241Y,2996
67
54
  phoenix/server/telemetry.py,sha256=T_2OKrxNViAeaANlNspEekg_Y5uZIFWvKAnpz8Aoqvk,2762
68
55
  phoenix/server/thread_server.py,sha256=dP6cm6Cf08jNhDA1TRlVZpziu1YgtPDmaeIJMm725eI,2154
69
56
  phoenix/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- phoenix/server/api/context.py,sha256=4jcy203Gtx38399FP21iU3HmFsq-50EKFJlX4IW2Los,2878
57
+ phoenix/server/api/context.py,sha256=dyqQ31LQf4WGiUmfoB_NZttsZ_x3--mVV_mIarKhP_o,1941
58
+ phoenix/server/api/helpers.py,sha256=_V1eVkchZmTkhOfRC4QqR1sUB2xtIxdsMJkDouZq_IE,251
71
59
  phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
72
- phoenix/server/api/queries.py,sha256=wp5BlapuxDIoaQJm7mzG0dURfVxR32vXSJVC0JqG4_Y,19845
73
- phoenix/server/api/schema.py,sha256=BcxdqO5CSGqpKd-AAJHMjFlzaK9oJA8GJuxmMfcdjn4,434
74
- phoenix/server/api/dataloaders/__init__.py,sha256=qehXL37vGdw7v5PFs3kbZVIuhuzrVNVeZACDQjYpwyo,4847
75
- phoenix/server/api/dataloaders/average_experiment_run_latency.py,sha256=RiO0AKC6Y5byafsV0zTJEIOt8Nudjte73f1T78cBe1k,1817
76
- phoenix/server/api/dataloaders/dataset_example_revisions.py,sha256=Vpr5IEKSR4QnAVxE5NM7u92fPNgeHQV2ieYc6JakCj0,3788
77
- phoenix/server/api/dataloaders/dataset_example_spans.py,sha256=_jLlo0KdUS65d4PNTtE9aXVyG_NZWgA7VcpNC9udQ8U,1484
60
+ phoenix/server/api/schema.py,sha256=E4QN0eoyhxsmXQSFkZlcv-Y4jPUkWE_st9QCjeLKwtQ,11729
61
+ phoenix/server/api/dataloaders/__init__.py,sha256=nVAvmau7LniwcIvr4TTWWwt2ZeHP-AXXwo8tF83GZMQ,3810
78
62
  phoenix/server/api/dataloaders/document_evaluation_summaries.py,sha256=dgAAlD0n8X6oAPLaD-czoefNkDqP338MouWsKaW8bOY,5684
79
63
  phoenix/server/api/dataloaders/document_evaluations.py,sha256=V-y8eyAA0sZpQTjHvmydbRENbkL_MmPJ8VMBFwLI7RM,1364
80
64
  phoenix/server/api/dataloaders/document_retrieval_metrics.py,sha256=8tZYMNLZ7zxUmyTHHZRUTZTumvw6lK2tYOpFbATIPdI,4270
81
65
  phoenix/server/api/dataloaders/evaluation_summaries.py,sha256=z9aal3IQL_t30aNqpAS7x4tjq0xNkuEG8dWW-bhqZmo,5724
82
- phoenix/server/api/dataloaders/experiment_annotation_summaries.py,sha256=RsQ-o84kWVTYgIlh9VKkyw2kDMWIlHCRpS7RE2aw9vs,2881
83
- phoenix/server/api/dataloaders/experiment_error_rates.py,sha256=EHlTdZi8F94vo-qJUcnnXFvuSh_d0fTT0Xg4SfW_A70,1397
84
- phoenix/server/api/dataloaders/experiment_run_counts.py,sha256=wxHv08aZELJ91KTjHdt_x33M3wGDDa9GfbFHeRyOyGk,1343
85
- phoenix/server/api/dataloaders/experiment_sequence_number.py,sha256=Va1KuoHOd-wzvrlKykoV4kLRFW4JsJvGp_DUI4HYZX4,1631
86
66
  phoenix/server/api/dataloaders/latency_ms_quantile.py,sha256=pEc7QjB2iiNOQm_Fmo99F5O_DKOJWgGmcnT0OADJzYE,7423
87
67
  phoenix/server/api/dataloaders/min_start_or_max_end_times.py,sha256=IoFX5PtSpvQdMk_7-oB8TpIse3Q4PMxep4qKggkHpzo,2902
88
- phoenix/server/api/dataloaders/project_by_name.py,sha256=ziYp8fZGy2duD-f_oTqNLwbrGmBQFesqlTEHBDMtZlw,1170
89
68
  phoenix/server/api/dataloaders/record_counts.py,sha256=mp3KlhwFw-Iy7o6bFxtJKC6B5kGinPIh5PxxNkrxf8o,4283
90
- phoenix/server/api/dataloaders/span_descendants.py,sha256=djqXXwupWaXkFdscoy-iILYijuxlqr8hJcv6JawsV6s,2162
69
+ phoenix/server/api/dataloaders/span_descendants.py,sha256=oxan-AjoHfEt9y2cBk-P6kSKCOOlkvSzpXrrXwGvq6s,2153
91
70
  phoenix/server/api/dataloaders/span_evaluations.py,sha256=quXGyj_OYvHrcWfzXlYIv7C1OCZiL1K7cWU-YEAlsNA,1316
92
- phoenix/server/api/dataloaders/span_projects.py,sha256=KV--NTLpdXyFUGYN69KHeVVHDBJR2oupo1cgLvqK6Ko,1304
93
71
  phoenix/server/api/dataloaders/token_counts.py,sha256=1t3jAyrxRCce6XLcn_9ymiQtVBh7r5x0A01yE6Ren4s,5015
94
72
  phoenix/server/api/dataloaders/trace_evaluations.py,sha256=kmo2llOAXQ7iPtCLSFr8g_I7KHH6hwarASiPNWq2ZEg,1330
95
- phoenix/server/api/dataloaders/trace_row_ids.py,sha256=yAWuVFWUjDdmmwfXsGs_l6LuGl0ihMRm5FS-TueSzTY,1168
96
73
  phoenix/server/api/dataloaders/cache/__init__.py,sha256=SYoOM9n8FJaMdQarma5d1blu-jIg2GB8Shqg5ezSzZ8,106
97
74
  phoenix/server/api/dataloaders/cache/two_tier_cache.py,sha256=I38L1RsOis98OQftE7n1Q9QBZfFJO6OW_qIINkuJllo,2295
98
- phoenix/server/api/helpers/__init__.py,sha256=_V1eVkchZmTkhOfRC4QqR1sUB2xtIxdsMJkDouZq_IE,251
99
- phoenix/server/api/helpers/dataset_helpers.py,sha256=A6UzEyAb4gFtyc_AV63_yl9OpN0vn8Vw1BBCTNjg9J0,6875
100
- phoenix/server/api/input_types/AddExamplesToDatasetInput.py,sha256=ZGXMV0H3DYHi4DdqGhejDzaWdFinyem1Mc8DVA7iCh0,436
101
- phoenix/server/api/input_types/AddSpansToDatasetInput.py,sha256=C4oZ0WqYqca1kleNOCMIM2_aY6Qnc5n1xXG51_C1V0w,368
102
- phoenix/server/api/input_types/ClearProjectInput.py,sha256=cpPFRyQ3ffy2dLbCZgYpway-mCzhdm4QqnUg8caOBfQ,382
103
75
  phoenix/server/api/input_types/ClusterInput.py,sha256=EL4ftvZxQ8mVdruUPcdhMhByORmSmM8S-X6RPqU6GX0,179
104
76
  phoenix/server/api/input_types/Coordinates.py,sha256=meTwbIjwTfqx5DGD2DBlH9wQzdQVNM5a8x9dp1FfIgA,173
105
- phoenix/server/api/input_types/CreateDatasetInput.py,sha256=Q3MwouIx9jTQBRWDju75iMQXEGJCrL4aD4ESQp771nc,248
106
77
  phoenix/server/api/input_types/DataQualityMetricInput.py,sha256=LazvmQCCM5m9SDZTpyxQXO1rYF4cmsc3lsR2S9S65X4,1292
107
- phoenix/server/api/input_types/DatasetExampleInput.py,sha256=9oJ6pCFxFd02IWJuK4YAUvz-jCgFGDUCDDb2--GAzCw,289
108
- phoenix/server/api/input_types/DatasetSort.py,sha256=KDKjx5L8WFNwx7O-g1pDzCMMwY-ErgDd1_HkkZBAvCY,333
109
- phoenix/server/api/input_types/DatasetVersionSort.py,sha256=w9HyP9rQKsZGiGc2f33ZNmiO9g7FN8r77T7GA85kb40,344
110
- phoenix/server/api/input_types/DeleteDatasetExamplesInput.py,sha256=Pfod1r5BJISRG9w_eu9jFeEhNu2XYfcvlhxQ5HWdHAw,350
111
- phoenix/server/api/input_types/DeleteDatasetInput.py,sha256=p7xjCyWnVCIXHnezmDiWhMq-DHcGv7ucp_O7s8fsiKE,127
112
- phoenix/server/api/input_types/DeleteExperimentsInput.py,sha256=yUbwMckIBvIL-R9t8K9c3qTWciAXt3Uv_Tio3K2e1uw,166
113
78
  phoenix/server/api/input_types/DimensionFilter.py,sha256=vcXgglSnZcB5pGh-6oEtRmGx95hISgFUR7BEPw01g7U,3143
114
79
  phoenix/server/api/input_types/DimensionInput.py,sha256=Vfx5FmiMKey4-EHDQsQRPzSAMRJMN5oVMLDUl4NKAa8,164
115
80
  phoenix/server/api/input_types/Granularity.py,sha256=6SVfZ5yTZYq1PI6vdpjfkBUc4YilLSkF-k6okuSNbbQ,2301
116
- phoenix/server/api/input_types/PatchDatasetExamplesInput.py,sha256=E86aBGXDBC83jiEGwV5rilnoeQf6eqCfZ0aAVeIt2VI,890
117
- phoenix/server/api/input_types/PatchDatasetInput.py,sha256=OURtTVY8Z_oFEDtKwT1LCMaOK5D4QYo5TVQ6mDrex-g,328
118
81
  phoenix/server/api/input_types/PerformanceMetricInput.py,sha256=fElsLTSEYYgGFGMYTEGcYid39tXUKFdV_JkdHavMcbA,591
119
82
  phoenix/server/api/input_types/SpanSort.py,sha256=BqV0DjI4m3RKFbzsHN47XNhJfFmErFIYg64c8EJAVMo,6312
120
83
  phoenix/server/api/input_types/TimeRange.py,sha256=yzx-gxj8mDeGLft1FzU_x1MVEgIG5Pt6-f8PUVDgipQ,522
121
84
  phoenix/server/api/input_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
- phoenix/server/api/mutations/__init__.py,sha256=Jcz-pM6SklhEGKcjA7AIB2WJXGhnxGsghrIq131kyDo,502
123
- phoenix/server/api/mutations/auth.py,sha256=vPRFoj7J6PV6QeODewG4K0PhoOebS5AfMRpbi_wuhyQ,311
124
- phoenix/server/api/mutations/dataset_mutations.py,sha256=Zp2sFWyGyubILUQboR6bafRWafsfeRO2ffUWnkLlfgI,22532
125
- phoenix/server/api/mutations/experiment_mutations.py,sha256=Fw_yEdITGJ6A33M5JZ-2YnBTDoBqZUUFON6vy8JoVjE,2569
126
- phoenix/server/api/mutations/export_events_mutations.py,sha256=t_wYBxaqvBJYRoHslh3Bmoxmwlzoy0u8SsBKWIKN5hE,4028
127
- phoenix/server/api/mutations/project_mutations.py,sha256=3SVDCZqxB0Iv60cOwBL8c-rY3QUUPs8PXbp-C_K1mWY,2267
128
- phoenix/server/api/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
- phoenix/server/api/openapi/main.py,sha256=WY0pj3B7siQyyYqKyhqnzWC7P8MtEtiukOBUjGwLXfw,153
130
- phoenix/server/api/openapi/schema.py,sha256=uuSYe1Ecu72aXRgTNjyMu-9ZPE13DAHJPKtedS-MsSs,451
131
85
  phoenix/server/api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
132
86
  phoenix/server/api/routers/utils.py,sha256=M41BoH-fl37izhRuN2aX7lWm7jOC20A_3uClv9TVUUY,583
133
- phoenix/server/api/routers/v1/__init__.py,sha256=vvdpUa2LJPWEg8HbvDm_ANkBAwubPIFPbbHi7elOUws,2808
134
- phoenix/server/api/routers/v1/dataset_examples.py,sha256=XfqOvDKF1oxb0pkeYfBycwwGt3LnSyyGdMLKC5VKoGQ,6690
135
- phoenix/server/api/routers/v1/datasets.py,sha256=f2gLG-geu-_wtEw4mKSzNWK2cFb5TYOyRL3tQ7Fl7Es,31544
136
- phoenix/server/api/routers/v1/evaluations.py,sha256=8g6P_e2BweV3RDU0esFmpkb0L5fCwonQPXiJ0y6HLwg,9126
137
- phoenix/server/api/routers/v1/experiment_evaluations.py,sha256=HeyV3PXS1BxQpzNOUBpQlX_0JH_jbjZjTxrqy2ujwJQ,2746
138
- phoenix/server/api/routers/v1/experiment_runs.py,sha256=_c7qmPIja_gpvoVaf_t7KtNc9Zz-0m9da9MS-EcbPBo,3918
139
- phoenix/server/api/routers/v1/experiments.py,sha256=ntb0lRV2h90mFepWiZfQ1MIAJhOaK9tkWzTejmpwed0,7243
140
- phoenix/server/api/routers/v1/spans.py,sha256=PFeS3ayKj4cUle0CH-f-CpM1fRi-JicEG7BEtkANzAo,4074
141
- phoenix/server/api/routers/v1/traces.py,sha256=dYEf5pThenAQCgfQljHdrnwd4tC_tAXm6Kvk6GphPYs,2774
142
- phoenix/server/api/types/AnnotatorKind.py,sha256=UmYb2KG0JfxdX0mW1qrXrUoIgjMOncRJr1i8mJki1sE,141
143
- phoenix/server/api/types/Cluster.py,sha256=ac4YfT1OH3xLVmex7EUmB6b9IpULnhLTt554LR0jglE,5689
144
- phoenix/server/api/types/CreateDatasetPayload.py,sha256=R-6zCmuD0f76RU9Giu78xwTHlASQs6Aq8yzvX1Kxc3g,140
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
145
92
  phoenix/server/api/types/DataQualityMetric.py,sha256=zRKsNvHBu-NdcsunuLhqFpZhi6ks-HMqA1PJD27jTak,590
146
- phoenix/server/api/types/Dataset.py,sha256=zHxWuteqBA2dgO9BsCTpSaUTzrvTs4z9uRwaTCEi8eg,11470
147
- phoenix/server/api/types/DatasetExample.py,sha256=5f7DO6jRec1G5jaJW5FrykFU9R07jDn8jxDkNbQX0Ek,3107
148
- phoenix/server/api/types/DatasetExampleRevision.py,sha256=c-jWR6dTguEZTm54IMlFr0Ic84I3nefyDnZb7nF5hnI,874
93
+ phoenix/server/api/types/Dataset.py,sha256=nQVtXltVfoKeccAQ5IHD_k1t5mCe8eIjD0nG-LZlhTk,3341
94
+ phoenix/server/api/types/DatasetRole.py,sha256=UA8ecelVWfa9BVi--4A9fGhKFQ-jAaNHm7H5BpmZBPw,564
149
95
  phoenix/server/api/types/DatasetValues.py,sha256=7VbCOLlzOXpZN80-zYF2UGuafRcPsZF-8WQNc0YsKFc,1119
150
- phoenix/server/api/types/DatasetVersion.py,sha256=NnDriqQUE20N_Jhyu3-IxHWJQE9wmdHEJIQAKyTVJpo,302
151
- phoenix/server/api/types/Dimension.py,sha256=k_yt4uDf14bgnUruyj8xlHlkIeMrVrUj-HGtrZEuGkw,10338
96
+ phoenix/server/api/types/Dimension.py,sha256=IAS7Q7TkpbGqr1Vie4gJyi9SrYMK2L5mZwjYvpDQnQU,10198
152
97
  phoenix/server/api/types/DimensionDataType.py,sha256=o0QQRpUzgXbhd10drR2LthxrjB8klQcELrIvsbp4l_g,441
153
98
  phoenix/server/api/types/DimensionShape.py,sha256=LNsRt3Uyx1OmwMa5EXk1JGRXPLVV2EEgYXz-6wnLJn4,562
154
99
  phoenix/server/api/types/DimensionType.py,sha256=JLikZUBVqbHlUWcYYd8d60gB1_hmAcuFuZZsjCXpIwc,801
155
100
  phoenix/server/api/types/DimensionWithValue.py,sha256=4_koirnDrZBBdFkIWka2f-OeqZ6IzQXwqz3ccjdgHrc,484
156
101
  phoenix/server/api/types/DocumentEvaluationSummary.py,sha256=EpgKn0uiH2Vbpyltc1MeoWOZjzbRuHkPCZ2Zkoqfni8,3480
157
102
  phoenix/server/api/types/DocumentRetrievalMetrics.py,sha256=amkpC3H5IU5-9GvO0telpbq00m6lIcv_2v446OpwFwc,1822
158
- phoenix/server/api/types/EmbeddingDimension.py,sha256=2OTVzAcfY-2xnJLl7122EAaqJyp0sob1v9-ryaNWknw,18961
103
+ phoenix/server/api/types/EmbeddingDimension.py,sha256=GHGpx4D9TSpcdaQ7FMmKMtCu2MVIv-yTRQq9mQfe5_o,18678
159
104
  phoenix/server/api/types/EmbeddingMetadata.py,sha256=fJvNNYCbkf3SJalArLy9rcBq9Uj1SNac60zjqe1PFnM,461
160
105
  phoenix/server/api/types/Evaluation.py,sha256=pSoaJH8-WzPvmZKn5fButzkXSN3Rvuq9GJ7g9H1aaaU,3997
161
106
  phoenix/server/api/types/EvaluationSummary.py,sha256=EFucuzAhcxR9sdEn6WNAtmAGJk-QR_3j3y7Mn2A9_bU,1528
162
- phoenix/server/api/types/Event.py,sha256=XdYgaIxcVIW-YFViCkxj5l9OaVNepyIrCtm5Iqg2le8,3989
107
+ phoenix/server/api/types/Event.py,sha256=5ohMNtXxE7Oy4xrDIl6ngFxT44chv0XnRUV1NNt_-9Y,3900
163
108
  phoenix/server/api/types/EventMetadata.py,sha256=-J0tYF9eZTHwCjwxQHY7Gckr2_MNW5OoWT1mydweZNM,635
164
- phoenix/server/api/types/ExampleRevisionInterface.py,sha256=gV3Gt9-3Oi5wjaVtepC6nOt3FzTzZFD1KebNnqiw56E,294
165
- phoenix/server/api/types/Experiment.py,sha256=ELYdYFKwgBllxx3cZ_X0XicHjLtshZl0bFqqJdVGXRQ,5177
166
- phoenix/server/api/types/ExperimentAnnotationSummary.py,sha256=Uk3JtxIrsMoZT5tqc4nJdUOM3XegVzjUyoV3pkjNotE,256
167
- phoenix/server/api/types/ExperimentComparison.py,sha256=0sFz6MoBDw39dds0qVyaqhVs9qqO5rkG1FMSjmfBeCc,441
168
- phoenix/server/api/types/ExperimentRun.py,sha256=8jUIi3ApVCqQHwnYe59CYhrmh5iZ6-QmlH5WpF7UWtM,2990
169
- phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=zGstMbS5OxNikEhD8VouY7Ls7YbxKm-0EmqvGeY3-DI,1773
109
+ phoenix/server/api/types/ExportEventsMutation.py,sha256=PYqazKSx-S3uMLLXVlBmGSOxUhDb990dzZ4xNrRRiCw,3812
170
110
  phoenix/server/api/types/ExportedFile.py,sha256=e3GTn7B5LgsTbqiwjhMCQH7VsiqXitrBO4aCMS1lHsg,163
171
111
  phoenix/server/api/types/Functionality.py,sha256=tzV9xdhB8zqfsjWxP66NDC7EZsplYkYO7jRbLWJIeeg,382
172
- phoenix/server/api/types/Inferences.py,sha256=HWuDZZrXPWVoEy_pA3bRsAOUYsCKgAxf9zshasGqu5Y,3403
173
- phoenix/server/api/types/InferencesRole.py,sha256=Kj9aiXOpGhpeg9PHd9MDU7aXVIT28EjJxr4P6xybfzc,601
174
112
  phoenix/server/api/types/MimeType.py,sha256=Zpi6zCalkSFgsvhzvOs-O1gYA04usAi9H__QZUmFlO0,365
175
- phoenix/server/api/types/Model.py,sha256=991I3wKNFTwEOGR9PCmEVBg2Y9DuQR65SovU_8kzkVs,8085
113
+ phoenix/server/api/types/Model.py,sha256=Jo0skz14xGKd-cy6YyxWOvNE0cXHRelSecmLUOgqizk,7880
176
114
  phoenix/server/api/types/NumericRange.py,sha256=afEjgF97Go_OvmjMggbPBt-zGM8IONewAyEiKEHRds0,192
177
115
  phoenix/server/api/types/PerformanceMetric.py,sha256=W92B7OghEOgzFvmY0LCqpgavHaQggTGshdgfD0yqHX4,350
178
- phoenix/server/api/types/Project.py,sha256=SzvfPHr3VAm4FjvNzIfLsCyRqnZDsms13Xe1zA00rd4,13343
116
+ phoenix/server/api/types/Project.py,sha256=M5qv27Nx0fypogumDd__wjO5L7j_glcNubIN5hpN3ms,12848
179
117
  phoenix/server/api/types/PromptResponse.py,sha256=Q8HKtpp8GpUOcxPCzZpkkokidDd6u0aZOv_SuPZZd5Q,630
180
118
  phoenix/server/api/types/Retrieval.py,sha256=OhMK2ncjoyp5h1yjKhjlKpoTbQrMHuxmgSFw-AO1rWw,285
181
119
  phoenix/server/api/types/ScalarDriftMetricEnum.py,sha256=IUAcRPpgL41WdoIgK6cNk2Te38SspXGyEs-S1fY23_A,232
182
120
  phoenix/server/api/types/Segments.py,sha256=m2yoegrxA1Tn7ZAy1rMjjD1isc752MaAXMoffkBlvrM,2921
183
121
  phoenix/server/api/types/SortDir.py,sha256=OUpXhlCzCxPoXSDkJJygEs9Rw9pMymfaZUG5zPTrw4Y,152
184
- phoenix/server/api/types/Span.py,sha256=W4Rsg85bgqbDhgYwpjgOTrIQKbkwpFQPpL6nqMyzhCs,13865
185
- phoenix/server/api/types/TimeSeries.py,sha256=wjzuxHFqCey0O7Ys25qiXyuqXK8an-osyNWUE8A_8G4,5227
186
- phoenix/server/api/types/Trace.py,sha256=ep-mPexub1ijxAnBvc2KrGsNVXO2SfDR1WxqER2wcD8,2376
187
- phoenix/server/api/types/UMAPPoints.py,sha256=5sOuruzM8saXa8C2XiyUfk2XPrkVGmhqKpclMYRw1dk,1656
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
188
126
  phoenix/server/api/types/ValidationResult.py,sha256=pHwdYk4J7SJ5xhlWWHg_6qWkfk4rjOx-bSkGHvkDE3Q,142
189
127
  phoenix/server/api/types/VectorDriftMetricEnum.py,sha256=etiJM5ZjQuD-oE7sY-FbdIKY050jk3IU49IMwmfJbEc,188
190
128
  phoenix/server/api/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
- phoenix/server/api/types/node.py,sha256=V0Xh9U4cGkz3iMg-vzEXtcs6cumU29JFPiU-JuGzjWI,848
192
- phoenix/server/api/types/pagination.py,sha256=PcaJ0s4exsTKgCZC4aFm1cgZNrGpHSdo6PbkWzPcweg,9077
129
+ phoenix/server/api/types/node.py,sha256=C3xB1zNXBEz1Nrb6KUp89QMX1vnVeuR1WJCjH-R5vsM,4330
130
+ phoenix/server/api/types/pagination.py,sha256=Ewc13FFbxzVJxMYFxDISpCsRXJFrOG5QYsXb4UaW2WM,10052
193
131
  phoenix/server/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
- phoenix/server/openapi/docs.py,sha256=fTb9q2oOSKC5bLVQy2Dsg3Bs0mGkCOKX1ypX7731sE0,7044
132
+ phoenix/server/openapi/docs.py,sha256=N7d4IHnhZ2Uvwgogo3Rjx-e_kX2NoenXPWkNjf1R22E,6913
195
133
  phoenix/server/static/apple-touch-icon-114x114.png,sha256=xtFVXAYQnJkpUApg2D1hltSTuyO4Is4sD4A0ZkikiVU,9486
196
134
  phoenix/server/static/apple-touch-icon-120x120.png,sha256=iqZVAk634BbjJMozA8aHYyw15JjhIlIrG41FA2DFFaE,9957
197
135
  phoenix/server/static/apple-touch-icon-144x144.png,sha256=VgARtkHKoU8zikb3_G83h_cb02kpPcoJqO78yRh1AfU,10047
@@ -202,28 +140,28 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
202
140
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
203
141
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
204
142
  phoenix/server/static/index.css,sha256=KKGpx4iwF91VGRm0YN-4cn8oC-oIqC6HecoPf0x3ZM8,1885
205
- phoenix/server/static/index.js,sha256=qAPO3xGdQ2mIA8TcIPNkIfLvoGeZ78fVKbGZevfJzoM,3518643
143
+ phoenix/server/static/index.js,sha256=OkUrMDFdfm5jbrpA5yxVhTkGwKByUGmkGeWoVsQyNrE,3351373
206
144
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
207
145
  phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
208
- phoenix/server/templates/index.html,sha256=S4z7qSoNSwnKFAH9r96AR-YJEyoKMd-VMWVlJ_IdzME,2039
146
+ phoenix/server/templates/index.html,sha256=lO2wGA5XsftPg03rw_VcyaYf_4vegtlWbIT5ms4fA_c,1982
209
147
  phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
210
- phoenix/session/client.py,sha256=5mnWVqMFbC8NYbX4m2oRla1VvlmrgabD1oT2UdwDRJ8,33201
148
+ phoenix/session/client.py,sha256=4Pm9RtP-FAH99-gLgGHNOdzqLpJ8ROAOgnpjwPW8WHA,10143
211
149
  phoenix/session/data_extractor.py,sha256=dwhiDu-ISaXr8UI9I-CszZhB5BlUNmdDopjFZvMIXMw,2101
212
150
  phoenix/session/evaluation.py,sha256=aKeV8UVOyq3b7CYOwt3cWuLz0xzvMjX7vlEPILJ_fcs,5311
213
- phoenix/session/session.py,sha256=rjIuSSK2gAYIUPQTJc4E2ebew5o6I070FWRoFn4W3EI,26620
151
+ phoenix/session/session.py,sha256=-OuqBRMT1tcat7qmy3g2mkDxK6krbtyH2mHpLskZ62k,26103
214
152
  phoenix/trace/__init__.py,sha256=ujk_uYjM8gmm-YqnyXxF-kekfwid0bcaPMTtNNcaw6U,407
215
153
  phoenix/trace/attributes.py,sha256=xSr2EvlkDS9Wiij7FywXzw7UmMAMLIARSEm_P686BKM,12434
216
154
  phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
217
155
  phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKyttYdw-ddvPOk,1048
218
- phoenix/trace/exporter.py,sha256=eAYemdvDCHMugDJiaR29BFFMTQBdf3oerdkz34Cl3hE,4736
219
- phoenix/trace/fixtures.py,sha256=tDso17oAYMBQ8GJsAlHFzrC0otXPzUOEh4TgIjEfB7M,14260
156
+ phoenix/trace/exporter.py,sha256=D4crJLITTwdo96kav2mHuIJleFQ7hmjDWDuVASdpcao,4658
157
+ phoenix/trace/fixtures.py,sha256=kupizPlPLoQyCxZfrIU7ZC87dYiL8uEhZEmdia__5qQ,9644
220
158
  phoenix/trace/otel.py,sha256=WA720jvRadiZBAKjsYoPyXzypHwbyEK2OZRVUwtbjB8,9976
221
159
  phoenix/trace/projects.py,sha256=2BwlNjFE-uwpqYtCu5YyBiYZk9wRPpM13vh3-Cv7GkA,2157
222
- phoenix/trace/schemas.py,sha256=Mjc6fD9OyeMnEk5wPPSbveqnNUYWK3p3BxpOvSGanHU,5950
223
- phoenix/trace/span_evaluations.py,sha256=GaADtJLi2njra4aYaie0BIwkSgdxPB_SNseglI4ykZA,13104
160
+ phoenix/trace/schemas.py,sha256=JiFKhGD2JF6Eai7UOhPF5urcuKGkpMLHc3Vltbe1msk,5967
161
+ phoenix/trace/span_evaluations.py,sha256=7DI1EFfpZoOH8iIUYNzL9P6U9j0Hc2Z3u2SD0h1SF_Q,13101
224
162
  phoenix/trace/span_json_decoder.py,sha256=IAFakPRqSMYxTPKYFMiXYxm7U-FipdN8_xbvapDS0Qc,3131
225
163
  phoenix/trace/span_json_encoder.py,sha256=tzSCIQJbeFBm33K68G8A5M12n_86tCDyuU0WAobxEz4,2010
226
- phoenix/trace/trace_dataset.py,sha256=CI9oma7sJTggUxvNHQR-uGIqrAvcSvkcDfyUBOeWjxo,13848
164
+ phoenix/trace/trace_dataset.py,sha256=197ey31Zp40eN_gH1YVGM7avkZs-YlROSKG3M5eZsWg,13830
227
165
  phoenix/trace/utils.py,sha256=7LurVGXn245cjj4MJsc7v6jq4DSJkpK6YGBfIaSywuw,1307
228
166
  phoenix/trace/dsl/README.md,sha256=ihmP9zGUC5V-TDbzKla76LuyDqPDQIBUH2BORwxNI68,2902
229
167
  phoenix/trace/dsl/__init__.py,sha256=WIQIjJg362XD3s50OsPJJ0xbDsGp41bSv7vDllLrPuA,144
@@ -242,13 +180,11 @@ phoenix/trace/v1/evaluation_pb2.pyi,sha256=cCbbx06gwQmaH14s3J1X25TtaARh-k1abbxQd
242
180
  phoenix/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
243
181
  phoenix/utilities/deprecation.py,sha256=cFuTVvjSYyRlrdxdJewjJVieIEHPk30BukSRGRydQ3k,1046
244
182
  phoenix/utilities/error_handling.py,sha256=7b5rpGFj9EWZ8yrZK1IHvxB89suWk3lggDayUQcvZds,1946
245
- phoenix/utilities/json.py,sha256=y_w-McDfvlTeGJT28sCtyjzVkwFicakxERG-sGRc8Ak,1948
246
183
  phoenix/utilities/logging.py,sha256=lDXd6EGaamBNcQxL4vP1au9-i_SXe0OraUDiJOcszSw,222
247
184
  phoenix/utilities/project.py,sha256=qWsvKnG1oKhOFUowXf9qiOL2ia7jaFe_ijFFHEt8GJo,431
248
- phoenix/utilities/re.py,sha256=PDve_OLjRTM8yQQJHC8-n3HdIONi7aNils3ZKRZ5uBM,2045
249
185
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
- arize_phoenix-4.4.4rc6.dist-info/METADATA,sha256=gyc5KyS4aFqefmGcezl1eC_8lCZ5DF0iHdSDh0V41f8,11337
251
- arize_phoenix-4.4.4rc6.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
252
- arize_phoenix-4.4.4rc6.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
253
- arize_phoenix-4.4.4rc6.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
254
- arize_phoenix-4.4.4rc6.dist-info/RECORD,,
186
+ arize_phoenix-4.5.0.dist-info/METADATA,sha256=YUkCpYnFJNxjC5tecb4RQTL3eGZJI5SHEtBahDcOOZM,11047
187
+ arize_phoenix-4.5.0.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
188
+ arize_phoenix-4.5.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
189
+ arize_phoenix-4.5.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
190
+ arize_phoenix-4.5.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.25.0
2
+ Generator: hatchling 1.24.2
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
phoenix/__init__.py CHANGED
@@ -1,3 +1,9 @@
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
+
1
7
  from .inferences.fixtures import ExampleInferences, load_example
2
8
  from .inferences.inferences import Inferences
3
9
  from .inferences.schema import EmbeddingColumnNames, RetrievalEmbeddingColumnNames, Schema
@@ -51,3 +57,24 @@ __all__ = [
51
57
  "Client",
52
58
  "evals",
53
59
  ]
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,9 +2,7 @@ import os
2
2
  import tempfile
3
3
  from logging import getLogger
4
4
  from pathlib import Path
5
- from typing import Dict, List, Optional
6
-
7
- from .utilities.re import parse_env_headers
5
+ from typing import List, Optional
8
6
 
9
7
  logger = getLogger(__name__)
10
8
 
@@ -14,12 +12,6 @@ ENV_PHOENIX_GRPC_PORT = "PHOENIX_GRPC_PORT"
14
12
  ENV_PHOENIX_HOST = "PHOENIX_HOST"
15
13
  ENV_PHOENIX_HOST_ROOT_PATH = "PHOENIX_HOST_ROOT_PATH"
16
14
  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
- """
23
15
  ENV_PHOENIX_COLLECTOR_ENDPOINT = "PHOENIX_COLLECTOR_ENDPOINT"
24
16
  """
25
17
  The endpoint traces and evals are sent to. This must be set if the Phoenix
@@ -113,15 +105,15 @@ GRPC_PORT = 4317
113
105
  """The port the gRPC server will run on after launch_app is called.
114
106
  The default network port for OTLP/gRPC is 4317.
115
107
  See https://opentelemetry.io/docs/specs/otlp/#otlpgrpc-default-port"""
116
- GENERATED_INFERENCES_NAME_PREFIX = "phoenix_inferences_"
108
+ GENERATED_DATASET_NAME_PREFIX = "phoenix_dataset_"
117
109
  """The prefix of datasets that are auto-assigned a name."""
118
110
  WORKING_DIR = get_working_dir()
119
- """The work directory for saving, loading, and exporting data."""
111
+ """The work directory for saving, loading, and exporting datasets."""
120
112
 
121
113
  ROOT_DIR = WORKING_DIR
122
114
  EXPORT_DIR = ROOT_DIR / "exports"
123
- INFERENCES_DIR = ROOT_DIR / "inferences"
124
- TRACE_DATASETS_DIR = ROOT_DIR / "trace_datasets"
115
+ DATASET_DIR = ROOT_DIR / "datasets"
116
+ TRACE_DATASET_DIR = ROOT_DIR / "trace_datasets"
125
117
 
126
118
 
127
119
  def ensure_working_dir() -> None:
@@ -134,8 +126,8 @@ def ensure_working_dir() -> None:
134
126
  for path in (
135
127
  ROOT_DIR,
136
128
  EXPORT_DIR,
137
- INFERENCES_DIR,
138
- TRACE_DATASETS_DIR,
129
+ DATASET_DIR,
130
+ TRACE_DATASET_DIR,
139
131
  ):
140
132
  path.mkdir(parents=True, exist_ok=True)
141
133
  except Exception as e:
@@ -227,31 +219,4 @@ def get_env_enable_prometheus() -> bool:
227
219
  )
228
220
 
229
221
 
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
-
236
- def get_base_url() -> str:
237
- host = get_env_host()
238
- if host == "0.0.0.0":
239
- host = "127.0.0.1"
240
- base_url = get_env_collector_endpoint() or f"http://{host}:{get_env_port()}"
241
- return base_url if base_url.endswith("/") else base_url + "/"
242
-
243
-
244
- def get_web_base_url() -> str:
245
- """Return the web UI base URL.
246
-
247
- Returns:
248
- str: the web UI base URL
249
- """
250
- from phoenix.session.session import active_session
251
-
252
- if session := active_session():
253
- return session.url
254
- return get_base_url()
255
-
256
-
257
222
  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_inferences: Inferences, reference_inferences: Optional[Inferences]
10
+ primary_dataset: Inferences, reference_dataset: 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_inferences.schema.embedding_feature_column_names
16
+ primary_dataset.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_inferences.schema.prompt_column_names
21
+ primary_dataset.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_inferences.schema.response_column_names
26
+ primary_dataset.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_inferences is not None:
31
+ if reference_dataset is not None:
32
32
  reference_embedding_features: Optional[EmbeddingFeatures] = (
33
- reference_inferences.schema.embedding_feature_column_names
33
+ reference_dataset.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_inferences.schema.prompt_column_names
38
+ reference_dataset.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_inferences.schema.response_column_names
43
+ reference_dataset.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_inferences is not None:
51
- _check_embedding_vector_lengths_match_across_inference_sets(
52
- embedding_feature, embedding_column_names, primary_inferences, reference_inferences
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
53
53
  )
54
54
 
55
55
  return embedding_dimensions
56
56
 
57
57
 
58
- def _check_embedding_vector_lengths_match_across_inference_sets(
58
+ def _check_embedding_vector_lengths_match_across_datasets(
59
59
  embedding_feature_name: str,
60
60
  embedding_column_names: EmbeddingColumnNames,
61
- primary_inferences: Inferences,
62
- reference_inferences: Inferences,
61
+ primary_dataset: Inferences,
62
+ reference_dataset: Inferences,
63
63
  ) -> None:
64
64
  """
65
65
  Ensure that for each embedding feature, the vector lengths match across the primary
66
- and reference inferences which is required for calculating embedding drift (vector distance)
66
+ and reference datasets which is required for calculating embedding drift (vector distance)
67
67
  """
68
68
  primary_vector_length = _get_column_vector_length(
69
- primary_inferences, embedding_column_names.vector_column_name
69
+ primary_dataset, embedding_column_names.vector_column_name
70
70
  )
71
71
  reference_vector_length = _get_column_vector_length(
72
- reference_inferences, embedding_column_names.vector_column_name
72
+ reference_dataset, embedding_column_names.vector_column_name
73
73
  )
74
74
 
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
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
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_inference_sets(
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 inference sets; embedding_feature={embedding_feature_name} "
84
+ f"both datasets; 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
- inferences: Inferences, embedding_vector_column_name: str
90
+ dataset: Inferences, embedding_vector_column_name: str
91
91
  ) -> Optional[int]:
92
92
  """
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.
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.
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 inferences.dataframe:
97
+ if embedding_vector_column_name not in dataset.dataframe:
98
98
  return None
99
99
 
100
- column = inferences.dataframe[embedding_vector_column_name]
100
+ column = dataset.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