arize-phoenix 11.32.0__py3-none-any.whl → 11.33.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of arize-phoenix might be problematic. Click here for more details.
- {arize_phoenix-11.32.0.dist-info → arize_phoenix-11.33.0.dist-info}/METADATA +1 -1
- {arize_phoenix-11.32.0.dist-info → arize_phoenix-11.33.0.dist-info}/RECORD +49 -42
- phoenix/inferences/inferences.py +1 -2
- phoenix/server/api/context.py +20 -0
- phoenix/server/api/dataloaders/__init__.py +20 -0
- phoenix/server/api/dataloaders/average_experiment_repeated_run_group_latency.py +50 -0
- phoenix/server/api/dataloaders/dataset_example_revisions.py +0 -1
- phoenix/server/api/dataloaders/dataset_examples_and_versions_by_experiment_run.py +47 -0
- phoenix/server/api/dataloaders/experiment_repeated_run_group_annotation_summaries.py +77 -0
- phoenix/server/api/dataloaders/experiment_repeated_run_groups.py +59 -0
- phoenix/server/api/dataloaders/experiment_repetition_counts.py +39 -0
- phoenix/server/api/dataloaders/span_cost_summary_by_experiment_repeated_run_group.py +64 -0
- phoenix/server/api/helpers/playground_clients.py +4 -0
- phoenix/server/api/helpers/prompts/models.py +16 -18
- phoenix/server/api/mutations/prompt_label_mutations.py +67 -58
- phoenix/server/api/queries.py +52 -37
- phoenix/server/api/routers/v1/experiment_runs.py +1 -1
- phoenix/server/api/routers/v1/experiments.py +1 -1
- phoenix/server/api/types/DatasetExample.py +49 -1
- phoenix/server/api/types/Experiment.py +12 -2
- phoenix/server/api/types/ExperimentComparison.py +3 -9
- phoenix/server/api/types/ExperimentRepeatedRunGroup.py +146 -0
- phoenix/server/api/types/ExperimentRepeatedRunGroupAnnotationSummary.py +9 -0
- phoenix/server/api/types/ExperimentRun.py +12 -19
- phoenix/server/api/types/Prompt.py +11 -0
- phoenix/server/api/types/PromptLabel.py +2 -19
- phoenix/server/api/types/node.py +10 -0
- phoenix/server/app.py +22 -2
- phoenix/server/cost_tracking/model_cost_manifest.json +1 -1
- phoenix/server/static/.vite/manifest.json +43 -43
- phoenix/server/static/assets/components-YTHUASXI.js +5778 -0
- phoenix/server/static/assets/{index-D1FDMBMV.js → index-CugQp26L.js} +12 -21
- phoenix/server/static/assets/pages-4Qu8GNlt.js +9159 -0
- phoenix/server/static/assets/vendor-BGzfc4EU.css +1 -0
- phoenix/server/static/assets/vendor-CRRxHwSp.js +903 -0
- phoenix/server/static/assets/{vendor-arizeai-DsYDNOqt.js → vendor-arizeai-CUN6lRd9.js} +4 -4
- phoenix/server/static/assets/vendor-codemirror-sJXwoqrE.js +25 -0
- phoenix/server/static/assets/{vendor-recharts-BTHn5Y2R.js → vendor-recharts-BT_PeGhc.js} +2 -2
- phoenix/server/static/assets/{vendor-shiki-BAcocHFl.js → vendor-shiki-1F3op0QC.js} +1 -1
- phoenix/session/client.py +55 -1
- phoenix/session/data_extractor.py +5 -0
- phoenix/session/evaluation.py +8 -4
- phoenix/session/session.py +13 -0
- phoenix/trace/projects.py +1 -2
- phoenix/version.py +1 -1
- phoenix/server/static/assets/components-Cs9c4Nxp.js +0 -5698
- phoenix/server/static/assets/pages-Cbj9SjBx.js +0 -8928
- phoenix/server/static/assets/vendor-CqDb5u4o.css +0 -1
- phoenix/server/static/assets/vendor-RdRDaQiR.js +0 -905
- phoenix/server/static/assets/vendor-codemirror-BzJDUbEx.js +0 -25
- phoenix/utilities/deprecation.py +0 -31
- {arize_phoenix-11.32.0.dist-info → arize_phoenix-11.33.0.dist-info}/WHEEL +0 -0
- {arize_phoenix-11.32.0.dist-info → arize_phoenix-11.33.0.dist-info}/entry_points.txt +0 -0
- {arize_phoenix-11.32.0.dist-info → arize_phoenix-11.33.0.dist-info}/licenses/IP_NOTICE +0 -0
- {arize_phoenix-11.32.0.dist-info → arize_phoenix-11.33.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -6,7 +6,7 @@ phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
|
|
|
6
6
|
phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
7
7
|
phoenix/services.py,sha256=ngkyKGVatX3cO2WJdo2hKdaVKP-xJCMvqthvga6kJss,5196
|
|
8
8
|
phoenix/settings.py,sha256=2kHfT3BNOVd4dAO1bq-syEQbHSG8oX2-7NhOwK2QREk,896
|
|
9
|
-
phoenix/version.py,sha256=
|
|
9
|
+
phoenix/version.py,sha256=xS5dPjVBtFwJKeFvYvMVblVOWUcPzZ-FdUN6AhQ-9K8,24
|
|
10
10
|
phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
|
|
12
12
|
phoenix/core/model.py,sha256=qBFraOtmwCCnWJltKNP18DDG0mULXigytlFsa6YOz6k,4837
|
|
@@ -70,7 +70,7 @@ phoenix/experiments/evaluators/utils.py,sha256=2YoVyrexiaJSltHKk_ETTsxDB20TUrsNG
|
|
|
70
70
|
phoenix/inferences/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
71
71
|
phoenix/inferences/errors.py,sha256=AOsCs-xR1LV469Gygje16EOK3qGheiPGW0Ylg-MakhQ,8282
|
|
72
72
|
phoenix/inferences/fixtures.py,sha256=fessNJmbx1AUJLdwvf7UhXwzGMRfn7ZkDWK8YNWJSi8,20871
|
|
73
|
-
phoenix/inferences/inferences.py,sha256=
|
|
73
|
+
phoenix/inferences/inferences.py,sha256=VO1BpomB5eqXDXna-ZSjmhT53mLQ2HyjlopOLVvJuCc,31041
|
|
74
74
|
phoenix/inferences/schema.py,sha256=5c5_yNf37P0ZvzYwbMFr0NU5T81zAzoAoEfCJ-aHhTI,6651
|
|
75
75
|
phoenix/inferences/validation.py,sha256=k34fK5nwz8wBrmDQCySBKDZV2ViFsYLJrr1Jm1GqakQ,8273
|
|
76
76
|
phoenix/logging/__init__.py,sha256=94Xsv4tcqRghZhpuyCn4kWV7yJ56X52aXjrWU8RM4hY,64
|
|
@@ -91,7 +91,7 @@ phoenix/pointcloud/pointcloud.py,sha256=SN_1wXZcwKrtSnHGZLDZGx71orqE1WyVF7E-D58d
|
|
|
91
91
|
phoenix/pointcloud/projectors.py,sha256=TQgwc9cJDjJkin1WZyZzgl3HsYrLLiyWD7Czy4jNW3U,1088
|
|
92
92
|
phoenix/pointcloud/umap_parameters.py,sha256=db_WEPoamuWtopZx7tQfAXPnoE0MS8FkAV0_ThjEx_Q,1735
|
|
93
93
|
phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
94
|
-
phoenix/server/app.py,sha256=
|
|
94
|
+
phoenix/server/app.py,sha256=LFnFe4GTxeqkGY1Wc6qnmlBchjuG_vKfW_MoIevQVlc,49187
|
|
95
95
|
phoenix/server/authorization.py,sha256=OxROn7ibpKtCTrcgDkzWuNxVaQcSQ8MAx7zbjZiliK0,3201
|
|
96
96
|
phoenix/server/bearer_auth.py,sha256=f4v4W94KyTdGGCPsK1tXOe0vouPuvanAEa03XSdCvPE,6650
|
|
97
97
|
phoenix/server/dml_event.py,sha256=8UciN7W8X_IqQfAnAeAh68BezNmfxSxuTeD6IUerTW8,2911
|
|
@@ -110,24 +110,29 @@ phoenix/server/types.py,sha256=j8erl9iRNaR8t0DCQG84-uDVbHy9Qnm7T2EuTtDNNsU,8013
|
|
|
110
110
|
phoenix/server/api/README.md,sha256=Pyq1PLPgTzXAswrfIhGXrjI3Skq8it2jTVnanT6Ba4Q,1162
|
|
111
111
|
phoenix/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
112
112
|
phoenix/server/api/auth.py,sha256=AyYhnZIbY9ALVjg2K6aC2UXSa3Pva5GVDBXyaZ3nD3o,2749
|
|
113
|
-
phoenix/server/api/context.py,sha256=
|
|
113
|
+
phoenix/server/api/context.py,sha256=wPwAj5z_sHMOd8PfCzZ2lYkkU6wKZVdjpeAC_MJmteo,9952
|
|
114
114
|
phoenix/server/api/exceptions.py,sha256=9gB4nBRNX6k4_fsQZ12yxw6Tw53h_915l06DYK-qkPQ,1442
|
|
115
115
|
phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
|
|
116
|
-
phoenix/server/api/queries.py,sha256=
|
|
116
|
+
phoenix/server/api/queries.py,sha256=oVtlqmYDyRot5_z9jRITeiyb0iIgIXEVteE2fOp-1uA,65096
|
|
117
117
|
phoenix/server/api/schema.py,sha256=fcs36xQwFF_Qe41_5cWR8wYpDvOrnbcyTeo5WNMbDsA,1702
|
|
118
118
|
phoenix/server/api/subscriptions.py,sha256=U7JZl-FGfsaIhRkIFdeSQLqR7xCS7CY1h-21BOAcaqY,25439
|
|
119
119
|
phoenix/server/api/utils.py,sha256=quCBRcusc6PUq9tJq7M8PgwFZp7nXgVAxtbw8feribY,833
|
|
120
|
-
phoenix/server/api/dataloaders/__init__.py,sha256=
|
|
120
|
+
phoenix/server/api/dataloaders/__init__.py,sha256=wVI-lyHg0XLb2D_Ab53yC5QozSQR8qbd1_tsR1NKMRE,7822
|
|
121
121
|
phoenix/server/api/dataloaders/annotation_configs_by_project.py,sha256=_Nfiug9o01JimU3Z0LpZJ0uaMCjchXomyt_dYAxPFRY,1178
|
|
122
122
|
phoenix/server/api/dataloaders/annotation_summaries.py,sha256=0b23-bucBKyL25RWb2QzCNJjQzrq403qMmHKUVD5W4M,14377
|
|
123
|
+
phoenix/server/api/dataloaders/average_experiment_repeated_run_group_latency.py,sha256=BSNyrwuNadQ16-2g0nGixrB5LyDqlTLeM2bKikyIagY,1860
|
|
123
124
|
phoenix/server/api/dataloaders/average_experiment_run_latency.py,sha256=_wEcC47zOtLFMYTfyaFWA93TlAVC3kAPZhMnRO-xB24,1809
|
|
124
|
-
phoenix/server/api/dataloaders/dataset_example_revisions.py,sha256=
|
|
125
|
+
phoenix/server/api/dataloaders/dataset_example_revisions.py,sha256=MqRBkT3AE6b6A7uucFYfkH86eXMAyYJDFyg3a8tx-GM,4547
|
|
125
126
|
phoenix/server/api/dataloaders/dataset_example_spans.py,sha256=z_MFquqAcJ9wat7BBp7MVeJ9BYuu2EZEdaog52iWDno,1390
|
|
127
|
+
phoenix/server/api/dataloaders/dataset_examples_and_versions_by_experiment_run.py,sha256=uyq5-WkY_67pzRxX4eCpECjzykKNM6pCC3rjpboXbb8,1771
|
|
126
128
|
phoenix/server/api/dataloaders/document_evaluation_summaries.py,sha256=9fdROnzp-mymggHwNvpRkCk93LUFxxLy55-j3HP_2HY,5565
|
|
127
129
|
phoenix/server/api/dataloaders/document_evaluations.py,sha256=1bpBDydd-9YvhgkNoE5w-FGrjtnjUztcnjZTdMAazws,1072
|
|
128
130
|
phoenix/server/api/dataloaders/document_retrieval_metrics.py,sha256=37EcAW7oYQuWYHMDHb0wcqbWj9lhSskvzDO7NJbT5Js,4136
|
|
129
131
|
phoenix/server/api/dataloaders/experiment_annotation_summaries.py,sha256=CFVj7DwFYj330FLU5w3zEr12AGUX1e8ZX0X5buxMuEk,5643
|
|
130
132
|
phoenix/server/api/dataloaders/experiment_error_rates.py,sha256=06IZF07qt2y167DBM49QkSNdnphPArhcsgYFcunaL-U,1992
|
|
133
|
+
phoenix/server/api/dataloaders/experiment_repeated_run_group_annotation_summaries.py,sha256=ubOQ9_ilTRu_H_BwjwMp5lHLPKl7jYRoIYErCthsk6Y,2815
|
|
134
|
+
phoenix/server/api/dataloaders/experiment_repeated_run_groups.py,sha256=3EAN8uKv4hx-ZoGCi6HlZ_7lyLD-k6TgUUSvW78if7k,2015
|
|
135
|
+
phoenix/server/api/dataloaders/experiment_repetition_counts.py,sha256=2fw_dbBlJlHtheOXLXjWwo_YQ7Lv-AhVl0Ld6oVpLkA,1362
|
|
131
136
|
phoenix/server/api/dataloaders/experiment_run_annotations.py,sha256=uJ--9Ue4tnmZYH9Zy-Cj2Y2t3xzs2xUqN8Y6EGe1MCo,1296
|
|
132
137
|
phoenix/server/api/dataloaders/experiment_run_counts.py,sha256=j_7229IL705p_TycxIMYylhSgLHsAn91TiGPYXtOuQ8,1617
|
|
133
138
|
phoenix/server/api/dataloaders/experiment_sequence_number.py,sha256=zM_f78fnqhppLtevrx9iISQSN7w_BNeXT9CoX8jYgAI,1534
|
|
@@ -154,6 +159,7 @@ phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_span.py,sha25
|
|
|
154
159
|
phoenix/server/api/dataloaders/span_cost_detail_summary_entries_by_trace.py,sha256=pxgMRFGLQHqf9swuJf7c-n5ONaE7k8NCJaqROa-QK3o,2067
|
|
155
160
|
phoenix/server/api/dataloaders/span_cost_details_by_span_cost.py,sha256=f8ztQACGfKuf-nigyXiBUnGxXVzhNG9tOsPujxvOoX4,974
|
|
156
161
|
phoenix/server/api/dataloaders/span_cost_summary_by_experiment.py,sha256=EvivIoLsg1KxlRm4MM-LiInxFsRzqZpLarsvjyQk8e8,2453
|
|
162
|
+
phoenix/server/api/dataloaders/span_cost_summary_by_experiment_repeated_run_group.py,sha256=pPS6XTVhMsIQXnGuXsYOyDVjzyp-feobSg5D7boUIRI,2831
|
|
157
163
|
phoenix/server/api/dataloaders/span_cost_summary_by_experiment_run.py,sha256=IJFirEPeR1UGKTg6Gz3MJQGDigoPy6SaFnUdBibyVac,2539
|
|
158
164
|
phoenix/server/api/dataloaders/span_cost_summary_by_generative_model.py,sha256=Fhp0NPsoSbTBgnE38hregVVeVHEhPw_QANiOfNyaTf8,2295
|
|
159
165
|
phoenix/server/api/dataloaders/span_cost_summary_by_project.py,sha256=N3cds3ooMU25Xbp9Z5Zlp-3a4AcNwRu0XpqaTgsKOoE,6002
|
|
@@ -177,11 +183,11 @@ phoenix/server/api/helpers/__init__.py,sha256=m2-xaSPqUiSs91k62JaRDjFNfl-1byxBfY
|
|
|
177
183
|
phoenix/server/api/helpers/annotations.py,sha256=9gMXKpMTfWEChoSCnvdWYuyB0hlSnNOp-qUdar9Vono,262
|
|
178
184
|
phoenix/server/api/helpers/dataset_helpers.py,sha256=3bdGBoUzqrtg-sr5p2wpQLOU6dhg_3TKFHNeJj8p0TU,9155
|
|
179
185
|
phoenix/server/api/helpers/experiment_run_filters.py,sha256=DOnVwrmn39eAkk2mwuZP8kIcAnR5jrOgllEwWSjsw94,29893
|
|
180
|
-
phoenix/server/api/helpers/playground_clients.py,sha256=
|
|
186
|
+
phoenix/server/api/helpers/playground_clients.py,sha256=fG97GnJPxOYMd0lNHdQfML_ZmSZfLnY2s7_GAiAecOc,72327
|
|
181
187
|
phoenix/server/api/helpers/playground_registry.py,sha256=n0v4-KnvZJxeaEwOla5qBbnOQjSWznKmMhZnh9ziJt0,2584
|
|
182
188
|
phoenix/server/api/helpers/playground_spans.py,sha256=QpXwPl_fFNwm_iA1A77XApUyXMl1aDmonw8aXuNZ_4k,17132
|
|
183
189
|
phoenix/server/api/helpers/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
184
|
-
phoenix/server/api/helpers/prompts/models.py,sha256
|
|
190
|
+
phoenix/server/api/helpers/prompts/models.py,sha256=-uMQcFFsA_UwNxdZv0cZZ0m57rzxf8C9Ke2AYolR730,23522
|
|
185
191
|
phoenix/server/api/helpers/prompts/conversions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
186
192
|
phoenix/server/api/helpers/prompts/conversions/anthropic.py,sha256=ZT--UqBwoGf7QMusajB6aeB7zyWGttaZigb113kgiY8,3571
|
|
187
193
|
phoenix/server/api/helpers/prompts/conversions/aws.py,sha256=6vaT8K13r0bMXB9XHA8qY1MCjVsmR9TO0VIwyBMjQoY,2941
|
|
@@ -240,7 +246,7 @@ phoenix/server/api/mutations/export_events_mutations.py,sha256=xoDnVWC7eA_8wNQP0
|
|
|
240
246
|
phoenix/server/api/mutations/model_mutations.py,sha256=eh-QIKww3EDrDewS3NTWTqnE2bwLJJ5WgRFvSPRksZg,7199
|
|
241
247
|
phoenix/server/api/mutations/project_mutations.py,sha256=PQCwODI0VXk9Rllxdar4bNEyaYb1rJiMHXTqol-cFYY,4569
|
|
242
248
|
phoenix/server/api/mutations/project_trace_retention_policy_mutations.py,sha256=AqBe8TBxlXdIL56Afs4FIBqkI0bEgf-v9bHlbc-O6VI,9839
|
|
243
|
-
phoenix/server/api/mutations/prompt_label_mutations.py,sha256=
|
|
249
|
+
phoenix/server/api/mutations/prompt_label_mutations.py,sha256=FP3UWPynWHfSRgHlMliDx9LS3DF7dY3EJGPPV8hVIyY,7254
|
|
244
250
|
phoenix/server/api/mutations/prompt_mutations.py,sha256=Yg-6L2PiKUZfFyNarptu3OdE0uA2_Nyl3VrLVP8FJ9Y,12114
|
|
245
251
|
phoenix/server/api/mutations/prompt_version_tag_mutations.py,sha256=t77osYb5he2Am4UeNis7pzY9MnaA9PNEQhsQelRH8k8,5767
|
|
246
252
|
phoenix/server/api/mutations/span_annotations_mutations.py,sha256=LQPcODp7-ZobXspjmtLaamyQa8UkTONC_va-ST9r-k8,15015
|
|
@@ -262,8 +268,8 @@ phoenix/server/api/routers/v1/datasets.py,sha256=9iPORLmbOrPKgUUcRDMs6ZczSIz7hvc
|
|
|
262
268
|
phoenix/server/api/routers/v1/documents.py,sha256=iA_vYU6_p2-pazh_Rp930kiOsiHYFIPPqsZSSXwPgVI,5733
|
|
263
269
|
phoenix/server/api/routers/v1/evaluations.py,sha256=aBrPO-xCAWyTxydaHq7W2wQFm65k89uVR-H3VWsd6WQ,13062
|
|
264
270
|
phoenix/server/api/routers/v1/experiment_evaluations.py,sha256=DZ3UK9OoYKElpRcEER7559-KiAqWr-1IXpZ27FbfP3k,5249
|
|
265
|
-
phoenix/server/api/routers/v1/experiment_runs.py,sha256=
|
|
266
|
-
phoenix/server/api/routers/v1/experiments.py,sha256
|
|
271
|
+
phoenix/server/api/routers/v1/experiment_runs.py,sha256=KaQ6EI1qQrIE-q1C22C9sEUnr9aho-23xcDDPIIkwko,8378
|
|
272
|
+
phoenix/server/api/routers/v1/experiments.py,sha256=-xoAh4rTMKkmjDJSICNv3dvlTtMdCGB6ZuxuossHuMY,20617
|
|
267
273
|
phoenix/server/api/routers/v1/models.py,sha256=p3gJN-9SWiUYTUTft4bZMsZVCBNTb4nN1Foy68eRZzQ,1997
|
|
268
274
|
phoenix/server/api/routers/v1/projects.py,sha256=XR6uJxHXXtC1q8LNyS9W6iaj440sv1OKCu-OSBfxEys,12824
|
|
269
275
|
phoenix/server/api/routers/v1/prompts.py,sha256=chRYcLkOYDJdJfVZVukVTUyIRnLPvsJCg41CuPxOIU8,26695
|
|
@@ -286,7 +292,7 @@ phoenix/server/api/types/CreateDatasetPayload.py,sha256=R-6zCmuD0f76RU9Giu78xwTH
|
|
|
286
292
|
phoenix/server/api/types/CronExpression.py,sha256=R7oxuSSX_eTUHQWaoaSueQqWDmkkHr5dBKRN6q-6ROk,331
|
|
287
293
|
phoenix/server/api/types/DataQualityMetric.py,sha256=Aieg3bHeBFaAf4mqeRcH1zT04sXAtQD8ATSHJt7FaBQ,1538
|
|
288
294
|
phoenix/server/api/types/Dataset.py,sha256=OvCgbqqNF-bj0iaQldIeEfZiMjyXGFsozIIBsbJJwq4,12648
|
|
289
|
-
phoenix/server/api/types/DatasetExample.py,sha256=
|
|
295
|
+
phoenix/server/api/types/DatasetExample.py,sha256=uc0RTK6-wB7jZsPvy33tbajWJRO4bqb4EJauRYiydcc,5088
|
|
290
296
|
phoenix/server/api/types/DatasetExampleRevision.py,sha256=c-jWR6dTguEZTm54IMlFr0Ic84I3nefyDnZb7nF5hnI,874
|
|
291
297
|
phoenix/server/api/types/DatasetExperimentAnnotationSummary.py,sha256=EVXz6zfbdYsU5SZ6FUrAA_VQqQCnBE_mbKgmAmFoDLI,195
|
|
292
298
|
phoenix/server/api/types/DatasetValues.py,sha256=7VbCOLlzOXpZN80-zYF2UGuafRcPsZF-8WQNc0YsKFc,1119
|
|
@@ -305,10 +311,12 @@ phoenix/server/api/types/EvaluationSummary.py,sha256=vILYejnfPvMwWEXOwhQZsANvYe3
|
|
|
305
311
|
phoenix/server/api/types/Event.py,sha256=iYt_Jx1Roioo0vZ0iPeJTHcTu6NSm4ilVMJ-IMUHAKk,3970
|
|
306
312
|
phoenix/server/api/types/EventMetadata.py,sha256=-J0tYF9eZTHwCjwxQHY7Gckr2_MNW5OoWT1mydweZNM,635
|
|
307
313
|
phoenix/server/api/types/ExampleRevisionInterface.py,sha256=gV3Gt9-3Oi5wjaVtepC6nOt3FzTzZFD1KebNnqiw56E,294
|
|
308
|
-
phoenix/server/api/types/Experiment.py,sha256=
|
|
314
|
+
phoenix/server/api/types/Experiment.py,sha256=URdD3Ow0gTlJRd74duLdGFs-E3gKy2-UAah1AIaFKGk,8230
|
|
309
315
|
phoenix/server/api/types/ExperimentAnnotationSummary.py,sha256=Uk3JtxIrsMoZT5tqc4nJdUOM3XegVzjUyoV3pkjNotE,256
|
|
310
|
-
phoenix/server/api/types/ExperimentComparison.py,sha256=
|
|
311
|
-
phoenix/server/api/types/
|
|
316
|
+
phoenix/server/api/types/ExperimentComparison.py,sha256=fj4KoAPFNJvfrHBMloGkHz_-7Lf403IMe0OwDDJyZWk,383
|
|
317
|
+
phoenix/server/api/types/ExperimentRepeatedRunGroup.py,sha256=a2-C6ZWyFm-THvus6n4WDYGtmapm-ZWFaDahW7A2i28,5434
|
|
318
|
+
phoenix/server/api/types/ExperimentRepeatedRunGroupAnnotationSummary.py,sha256=oNmQQMh09xSgtSg8-CbTIa8njPqz9F5fnrzHnYGFOZs,174
|
|
319
|
+
phoenix/server/api/types/ExperimentRun.py,sha256=XGzHcz_k5qLokrYB_I7K213rF6N_k7qJsymsKsZUApA,6010
|
|
312
320
|
phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=YGw5zIbjRXUK3zH475DnEeg4SDNGOmdxtuUVkzGw1E8,1734
|
|
313
321
|
phoenix/server/api/types/ExportedFile.py,sha256=e3GTn7B5LgsTbqiwjhMCQH7VsiqXitrBO4aCMS1lHsg,163
|
|
314
322
|
phoenix/server/api/types/Functionality.py,sha256=zDDl2bANIqjwfooSOHg-VQk6-wQy05mREwjV_-VbSIg,262
|
|
@@ -327,8 +335,8 @@ phoenix/server/api/types/PlaygroundModel.py,sha256=IqJFxsAAJMRyaFI9ryI3GQrpFOJ5L
|
|
|
327
335
|
phoenix/server/api/types/Project.py,sha256=XJUVEGCmEgToIyoVNWpNgcgtV1g24DvAKzFHpDNpCJY,72020
|
|
328
336
|
phoenix/server/api/types/ProjectSession.py,sha256=uwqTsDTfSGz13AvP-cwS_mJR5JZ1lHqu10ungbl7g5s,6245
|
|
329
337
|
phoenix/server/api/types/ProjectTraceRetentionPolicy.py,sha256=tYy2kgalPDyuaYZr0VUHjH0YpXaiF_QOzg5yfaV_c7c,3782
|
|
330
|
-
phoenix/server/api/types/Prompt.py,sha256=
|
|
331
|
-
phoenix/server/api/types/PromptLabel.py,sha256=
|
|
338
|
+
phoenix/server/api/types/Prompt.py,sha256=ad52KVQ1yJrAWXd3HdOKKHzyaUJqrp2mtFEe1QGEE4E,5455
|
|
339
|
+
phoenix/server/api/types/PromptLabel.py,sha256=kREZ219VB1xJkvOI8W6aeXBJkQx5bOccNa7g7fbRTt0,570
|
|
332
340
|
phoenix/server/api/types/PromptResponse.py,sha256=Q8HKtpp8GpUOcxPCzZpkkokidDd6u0aZOv_SuPZZd5Q,630
|
|
333
341
|
phoenix/server/api/types/PromptVersion.py,sha256=hLPwOwj1h0gH4fqpLS-xwcC2TQYLCmvaCiEkyXvTS1g,5494
|
|
334
342
|
phoenix/server/api/types/PromptVersionTag.py,sha256=dSumwkBv2P-yDLxE0tnu8O87M2ZcuhLrmnBb4CkuyC4,1389
|
|
@@ -359,13 +367,13 @@ phoenix/server/api/types/UserRole.py,sha256=yjyVsA9mKo0tYEjK9pjtfDL2MZKvGyh_-Eed
|
|
|
359
367
|
phoenix/server/api/types/ValidationResult.py,sha256=pHwdYk4J7SJ5xhlWWHg_6qWkfk4rjOx-bSkGHvkDE3Q,142
|
|
360
368
|
phoenix/server/api/types/VectorDriftMetricEnum.py,sha256=etiJM5ZjQuD-oE7sY-FbdIKY050jk3IU49IMwmfJbEc,188
|
|
361
369
|
phoenix/server/api/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
362
|
-
phoenix/server/api/types/node.py,sha256=
|
|
370
|
+
phoenix/server/api/types/node.py,sha256=ya1kJz6ok0LEiMMJOvV6s6nr_biWBZWAiC9JEtR-ki8,1073
|
|
363
371
|
phoenix/server/api/types/pagination.py,sha256=BXm46gXZfrBS4hpiLvVSEdsbb29ctUMVJYjKXlOLxUA,9064
|
|
364
372
|
phoenix/server/cost_tracking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
365
373
|
phoenix/server/cost_tracking/cost_details_calculator.py,sha256=Tt0YcuLhgPuXKWJemWVmYQfG0xQUvH4VziIj6KcDnoA,8945
|
|
366
374
|
phoenix/server/cost_tracking/cost_model_lookup.py,sha256=jhtVdnQBzrTUHeOGPWgOebk-Io5hpJ1vAgWOu8ojeJ4,6801
|
|
367
375
|
phoenix/server/cost_tracking/helpers.py,sha256=Pk6ECjnYreTxrldtRwxnwFcxIPVsvDq_yAwDA_spkOc,2122
|
|
368
|
-
phoenix/server/cost_tracking/model_cost_manifest.json,sha256=
|
|
376
|
+
phoenix/server/cost_tracking/model_cost_manifest.json,sha256=5Gyp58YTyEFiA3uE-QF1lRfDo1z2547DnGrbKRFv814,65571
|
|
369
377
|
phoenix/server/cost_tracking/regex_specificity.py,sha256=9kqWuQ68C-hlwW25hr7BhFlRt5y2Nnpy0Ax3n9UN6Xk,11622
|
|
370
378
|
phoenix/server/cost_tracking/token_cost_calculator.py,sha256=2JEZnvusx2-xbhp8krp9EarjWuyGH2KO4e-ZwJX-K0s,1598
|
|
371
379
|
phoenix/server/daemons/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -394,24 +402,24 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
|
|
|
394
402
|
phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
|
|
395
403
|
phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
|
|
396
404
|
phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
|
|
397
|
-
phoenix/server/static/.vite/manifest.json,sha256=
|
|
398
|
-
phoenix/server/static/assets/components-
|
|
399
|
-
phoenix/server/static/assets/index-
|
|
400
|
-
phoenix/server/static/assets/pages-
|
|
401
|
-
phoenix/server/static/assets/vendor-
|
|
402
|
-
phoenix/server/static/assets/vendor-
|
|
403
|
-
phoenix/server/static/assets/vendor-arizeai-
|
|
404
|
-
phoenix/server/static/assets/vendor-codemirror-
|
|
405
|
-
phoenix/server/static/assets/vendor-recharts-
|
|
406
|
-
phoenix/server/static/assets/vendor-shiki-
|
|
405
|
+
phoenix/server/static/.vite/manifest.json,sha256=I1RfIYC-Ma_2QY8DosqhJZM5PRTNeDwIqDUt2iKCFM0,2328
|
|
406
|
+
phoenix/server/static/assets/components-YTHUASXI.js,sha256=o7lPFFwvxIor_Bpckbv5w5hExx6cPajyxqTUDBxrLOQ,675981
|
|
407
|
+
phoenix/server/static/assets/index-CugQp26L.js,sha256=JurvXdTz3puPThXy94Wl3wA1ogRF93oW1EWRdep4rBI,62934
|
|
408
|
+
phoenix/server/static/assets/pages-4Qu8GNlt.js,sha256=Vhbzq1Xxfo0jI8GVyOaBHGhlC5o99VsH2rczS95mljE,1296687
|
|
409
|
+
phoenix/server/static/assets/vendor-BGzfc4EU.css,sha256=Nx5Lmx-bqYR7nsO_O4kEBcrJ8cwknWjZ6seHN3_s4UQ,3171
|
|
410
|
+
phoenix/server/static/assets/vendor-CRRxHwSp.js,sha256=hzYvX7n-hUemSlnmufuzR9u5zx2bbLHSXC5qz_PqcA8,2572316
|
|
411
|
+
phoenix/server/static/assets/vendor-arizeai-CUN6lRd9.js,sha256=W5vabYWQPD5YY7vzrISgQYPmks2i8LUSMZNq3tXBfOI,121519
|
|
412
|
+
phoenix/server/static/assets/vendor-codemirror-sJXwoqrE.js,sha256=O13CkiI3OeAgFPEXPDnk2f1_lRi8qgMMErektFdbwcE,413196
|
|
413
|
+
phoenix/server/static/assets/vendor-recharts-BT_PeGhc.js,sha256=H-ZcKdntQ3IQ21wf58hqD7sqH5Z3cXEdp_hnuo3cRU4,231653
|
|
414
|
+
phoenix/server/static/assets/vendor-shiki-1F3op0QC.js,sha256=M8KLH3pUDvSv68dNETLOk0TFfeHQNtZ2vPj1NPTdJw8,305160
|
|
407
415
|
phoenix/server/static/assets/vendor-three-BLWp5bic.js,sha256=vfSCVXS20jA0Ceo_O0mDxYBcROinWMdPE6RR4JXmtec,620972
|
|
408
416
|
phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
409
417
|
phoenix/server/templates/index.html,sha256=QAYh0TG5mg-GvDQUR09aD9ebl9Sfq0fYAcfIa5G7J6E,7148
|
|
410
418
|
phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
411
|
-
phoenix/session/client.py,sha256=
|
|
412
|
-
phoenix/session/data_extractor.py,sha256=
|
|
413
|
-
phoenix/session/evaluation.py,sha256=
|
|
414
|
-
phoenix/session/session.py,sha256=
|
|
419
|
+
phoenix/session/client.py,sha256=bFw3RzSdCCQBDNDbgxgaao4kCsP9_YWXG1VQfJvNveA,38532
|
|
420
|
+
phoenix/session/data_extractor.py,sha256=y_21QYW5emZ-SFYN9GtpUwDBMPCWtbRk3ZGxfR3k8K0,3178
|
|
421
|
+
phoenix/session/evaluation.py,sha256=l0IMuAmqIqgr_Ye15VCr4Z-_e4g9OCT1XYwsdT7DuGQ,5528
|
|
422
|
+
phoenix/session/session.py,sha256=iIC-Khgs3oQr9McsltInB6oD9hf7cZSqsBvGrrrXDls,28318
|
|
415
423
|
phoenix/trace/__init__.py,sha256=ujk_uYjM8gmm-YqnyXxF-kekfwid0bcaPMTtNNcaw6U,407
|
|
416
424
|
phoenix/trace/attributes.py,sha256=hyEKYZWPCP4NRmW7VmiC2voa3TH7FYKUBR9DYiVfXlw,12627
|
|
417
425
|
phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
|
|
@@ -419,7 +427,7 @@ phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKytt
|
|
|
419
427
|
phoenix/trace/exporter.py,sha256=bUXh8fjJIbHurrnt4bAm-cCWqUN5FqNsIc8DZzzklkQ,4695
|
|
420
428
|
phoenix/trace/fixtures.py,sha256=1c7fsyvmxC53Fib9T_Qxp_Ly3OZdDbkLQ0XpFzikEjk,20298
|
|
421
429
|
phoenix/trace/otel.py,sha256=RJSbAuzS4KBS0t-fntXQaaYwv7FmIXRMrw65DI67z8k,10622
|
|
422
|
-
phoenix/trace/projects.py,sha256=
|
|
430
|
+
phoenix/trace/projects.py,sha256=rxWH563-AB_UIii9yntoHwbplf_WUSlwBCESkWAVFSQ,2407
|
|
423
431
|
phoenix/trace/schemas.py,sha256=Su6e567Bei9oo6PsWO2srTcPAj9C2bMgbGtx64Sgqeg,6332
|
|
424
432
|
phoenix/trace/span_evaluations.py,sha256=x3nye9r2SQk1mrR3N05YbuWsgUKpMWwTRBtJTDBSj3Y,13156
|
|
425
433
|
phoenix/trace/span_json_decoder.py,sha256=J1_oDViuUoC4vxPg61U4EOZC1uEMcCzoj-kVjOFEE8k,3224
|
|
@@ -436,7 +444,6 @@ phoenix/trace/v1/evaluation_pb2.py,sha256=8sXvv2BW_vqD30MOMbmkeE2zpmm7ncik21kl3e
|
|
|
436
444
|
phoenix/trace/v1/evaluation_pb2.pyi,sha256=cCbbx06gwQmaH14s3J1X25TtaARh-k1abbxQdQCXGm8,4500
|
|
437
445
|
phoenix/utilities/__init__.py,sha256=PCtaszUCo9GZvXewPd09gmXxTJB4WRmfAsEeDwRHV4E,461
|
|
438
446
|
phoenix/utilities/client.py,sha256=sUiy8FsxzIf6Hmd1rpD6infmijOdM9r24zJokA5RjZM,5595
|
|
439
|
-
phoenix/utilities/deprecation.py,sha256=LL1LWfVqnYulceMQw2CggoIv8Uogrj7fAD_85devnoo,1067
|
|
440
447
|
phoenix/utilities/error_handling.py,sha256=5_ggfwmd0xZPoI3qi1fwm0x1F0i7g5j-gr0ny1TFzPU,1967
|
|
441
448
|
phoenix/utilities/json.py,sha256=UE8WHZU060NY_8ZKJ97gmtEC2mp60d8tJFXyRqIz51Y,3743
|
|
442
449
|
phoenix/utilities/logging.py,sha256=NKvX43jWITgSTtHGCi6l5xp8jTjtQ8FQ_irEi9ybOxg,502
|
|
@@ -444,9 +451,9 @@ phoenix/utilities/project.py,sha256=auVpARXkDb-JgeX5f2aStyFIkeKvGwN9l7qrFeJMVxI,
|
|
|
444
451
|
phoenix/utilities/re.py,sha256=6YyUWIkv0zc2SigsxfOWIHzdpjKA_TZo2iqKq7zJKvw,2081
|
|
445
452
|
phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
446
453
|
phoenix/utilities/template_formatters.py,sha256=gh9PJD6WEGw7TEYXfSst1UR4pWWwmjxMLrDVQ_CkpkQ,2779
|
|
447
|
-
arize_phoenix-11.
|
|
448
|
-
arize_phoenix-11.
|
|
449
|
-
arize_phoenix-11.
|
|
450
|
-
arize_phoenix-11.
|
|
451
|
-
arize_phoenix-11.
|
|
452
|
-
arize_phoenix-11.
|
|
454
|
+
arize_phoenix-11.33.0.dist-info/METADATA,sha256=3u7AfNj8jQE1YYnMYyxGZUEuhqO5B-eDJ1PU04hebFw,32877
|
|
455
|
+
arize_phoenix-11.33.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
456
|
+
arize_phoenix-11.33.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
|
|
457
|
+
arize_phoenix-11.33.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
|
|
458
|
+
arize_phoenix-11.33.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
|
|
459
|
+
arize_phoenix-11.33.0.dist-info/RECORD,,
|
phoenix/inferences/inferences.py
CHANGED
|
@@ -13,11 +13,10 @@ from pandas import DataFrame, Series, Timestamp, read_parquet
|
|
|
13
13
|
from pandas.api.types import (
|
|
14
14
|
is_numeric_dtype,
|
|
15
15
|
)
|
|
16
|
-
from typing_extensions import TypeAlias
|
|
16
|
+
from typing_extensions import TypeAlias, deprecated
|
|
17
17
|
|
|
18
18
|
from phoenix.config import GENERATED_INFERENCES_NAME_PREFIX, INFERENCES_DIR
|
|
19
19
|
from phoenix.datetime_utils import normalize_timestamps
|
|
20
|
-
from phoenix.utilities.deprecation import deprecated
|
|
21
20
|
|
|
22
21
|
from . import errors as err
|
|
23
22
|
from .schema import (
|
phoenix/server/api/context.py
CHANGED
|
@@ -17,15 +17,20 @@ from phoenix.db import models
|
|
|
17
17
|
from phoenix.server.api.dataloaders import (
|
|
18
18
|
AnnotationConfigsByProjectDataLoader,
|
|
19
19
|
AnnotationSummaryDataLoader,
|
|
20
|
+
AverageExperimentRepeatedRunGroupLatencyDataLoader,
|
|
20
21
|
AverageExperimentRunLatencyDataLoader,
|
|
21
22
|
CacheForDataLoaders,
|
|
22
23
|
DatasetExampleRevisionsDataLoader,
|
|
24
|
+
DatasetExamplesAndVersionsByExperimentRunDataLoader,
|
|
23
25
|
DatasetExampleSpansDataLoader,
|
|
24
26
|
DocumentEvaluationsDataLoader,
|
|
25
27
|
DocumentEvaluationSummaryDataLoader,
|
|
26
28
|
DocumentRetrievalMetricsDataLoader,
|
|
27
29
|
ExperimentAnnotationSummaryDataLoader,
|
|
28
30
|
ExperimentErrorRatesDataLoader,
|
|
31
|
+
ExperimentRepeatedRunGroupAnnotationSummariesDataLoader,
|
|
32
|
+
ExperimentRepeatedRunGroupsDataLoader,
|
|
33
|
+
ExperimentRepetitionCountsDataLoader,
|
|
29
34
|
ExperimentRunAnnotations,
|
|
30
35
|
ExperimentRunCountsDataLoader,
|
|
31
36
|
ExperimentSequenceNumberDataLoader,
|
|
@@ -52,6 +57,7 @@ from phoenix.server.api.dataloaders import (
|
|
|
52
57
|
SpanCostDetailSummaryEntriesBySpanDataLoader,
|
|
53
58
|
SpanCostDetailSummaryEntriesByTraceDataLoader,
|
|
54
59
|
SpanCostSummaryByExperimentDataLoader,
|
|
60
|
+
SpanCostSummaryByExperimentRepeatedRunGroupDataLoader,
|
|
55
61
|
SpanCostSummaryByExperimentRunDataLoader,
|
|
56
62
|
SpanCostSummaryByGenerativeModelDataLoader,
|
|
57
63
|
SpanCostSummaryByProjectDataLoader,
|
|
@@ -85,14 +91,25 @@ from phoenix.server.types import (
|
|
|
85
91
|
class DataLoaders:
|
|
86
92
|
annotation_configs_by_project: AnnotationConfigsByProjectDataLoader
|
|
87
93
|
annotation_summaries: AnnotationSummaryDataLoader
|
|
94
|
+
average_experiment_repeated_run_group_latency: (
|
|
95
|
+
AverageExperimentRepeatedRunGroupLatencyDataLoader
|
|
96
|
+
)
|
|
88
97
|
average_experiment_run_latency: AverageExperimentRunLatencyDataLoader
|
|
89
98
|
dataset_example_revisions: DatasetExampleRevisionsDataLoader
|
|
90
99
|
dataset_example_spans: DatasetExampleSpansDataLoader
|
|
100
|
+
dataset_examples_and_versions_by_experiment_run: (
|
|
101
|
+
DatasetExamplesAndVersionsByExperimentRunDataLoader
|
|
102
|
+
)
|
|
91
103
|
document_evaluation_summaries: DocumentEvaluationSummaryDataLoader
|
|
92
104
|
document_evaluations: DocumentEvaluationsDataLoader
|
|
93
105
|
document_retrieval_metrics: DocumentRetrievalMetricsDataLoader
|
|
94
106
|
experiment_annotation_summaries: ExperimentAnnotationSummaryDataLoader
|
|
95
107
|
experiment_error_rates: ExperimentErrorRatesDataLoader
|
|
108
|
+
experiment_repeated_run_group_annotation_summaries: (
|
|
109
|
+
ExperimentRepeatedRunGroupAnnotationSummariesDataLoader
|
|
110
|
+
)
|
|
111
|
+
experiment_repeated_run_groups: ExperimentRepeatedRunGroupsDataLoader
|
|
112
|
+
experiment_repetition_counts: ExperimentRepetitionCountsDataLoader
|
|
96
113
|
experiment_run_annotations: ExperimentRunAnnotations
|
|
97
114
|
experiment_run_counts: ExperimentRunCountsDataLoader
|
|
98
115
|
experiment_sequence_number: ExperimentSequenceNumberDataLoader
|
|
@@ -128,6 +145,9 @@ class DataLoaders:
|
|
|
128
145
|
span_cost_details_by_span_cost: SpanCostDetailsBySpanCostDataLoader
|
|
129
146
|
span_cost_fields: TableFieldsDataLoader
|
|
130
147
|
span_cost_summary_by_experiment: SpanCostSummaryByExperimentDataLoader
|
|
148
|
+
span_cost_summary_by_experiment_repeated_run_group: (
|
|
149
|
+
SpanCostSummaryByExperimentRepeatedRunGroupDataLoader
|
|
150
|
+
)
|
|
131
151
|
span_cost_summary_by_experiment_run: SpanCostSummaryByExperimentRunDataLoader
|
|
132
152
|
span_cost_summary_by_generative_model: SpanCostSummaryByGenerativeModelDataLoader
|
|
133
153
|
span_cost_summary_by_project: SpanCostSummaryByProjectDataLoader
|
|
@@ -6,9 +6,15 @@ from phoenix.server.api.dataloaders.span_cost_detail_summary_entries_by_project_
|
|
|
6
6
|
|
|
7
7
|
from .annotation_configs_by_project import AnnotationConfigsByProjectDataLoader
|
|
8
8
|
from .annotation_summaries import AnnotationSummaryCache, AnnotationSummaryDataLoader
|
|
9
|
+
from .average_experiment_repeated_run_group_latency import (
|
|
10
|
+
AverageExperimentRepeatedRunGroupLatencyDataLoader,
|
|
11
|
+
)
|
|
9
12
|
from .average_experiment_run_latency import AverageExperimentRunLatencyDataLoader
|
|
10
13
|
from .dataset_example_revisions import DatasetExampleRevisionsDataLoader
|
|
11
14
|
from .dataset_example_spans import DatasetExampleSpansDataLoader
|
|
15
|
+
from .dataset_examples_and_versions_by_experiment_run import (
|
|
16
|
+
DatasetExamplesAndVersionsByExperimentRunDataLoader,
|
|
17
|
+
)
|
|
12
18
|
from .document_evaluation_summaries import (
|
|
13
19
|
DocumentEvaluationSummaryCache,
|
|
14
20
|
DocumentEvaluationSummaryDataLoader,
|
|
@@ -17,6 +23,11 @@ from .document_evaluations import DocumentEvaluationsDataLoader
|
|
|
17
23
|
from .document_retrieval_metrics import DocumentRetrievalMetricsDataLoader
|
|
18
24
|
from .experiment_annotation_summaries import ExperimentAnnotationSummaryDataLoader
|
|
19
25
|
from .experiment_error_rates import ExperimentErrorRatesDataLoader
|
|
26
|
+
from .experiment_repeated_run_group_annotation_summaries import (
|
|
27
|
+
ExperimentRepeatedRunGroupAnnotationSummariesDataLoader,
|
|
28
|
+
)
|
|
29
|
+
from .experiment_repeated_run_groups import ExperimentRepeatedRunGroupsDataLoader
|
|
30
|
+
from .experiment_repetition_counts import ExperimentRepetitionCountsDataLoader
|
|
20
31
|
from .experiment_run_annotations import ExperimentRunAnnotations
|
|
21
32
|
from .experiment_run_counts import ExperimentRunCountsDataLoader
|
|
22
33
|
from .experiment_sequence_number import ExperimentSequenceNumberDataLoader
|
|
@@ -44,6 +55,9 @@ from .span_cost_detail_summary_entries_by_span import SpanCostDetailSummaryEntri
|
|
|
44
55
|
from .span_cost_detail_summary_entries_by_trace import SpanCostDetailSummaryEntriesByTraceDataLoader
|
|
45
56
|
from .span_cost_details_by_span_cost import SpanCostDetailsBySpanCostDataLoader
|
|
46
57
|
from .span_cost_summary_by_experiment import SpanCostSummaryByExperimentDataLoader
|
|
58
|
+
from .span_cost_summary_by_experiment_repeated_run_group import (
|
|
59
|
+
SpanCostSummaryByExperimentRepeatedRunGroupDataLoader,
|
|
60
|
+
)
|
|
47
61
|
from .span_cost_summary_by_experiment_run import SpanCostSummaryByExperimentRunDataLoader
|
|
48
62
|
from .span_cost_summary_by_generative_model import SpanCostSummaryByGenerativeModelDataLoader
|
|
49
63
|
from .span_cost_summary_by_project import SpanCostSummaryByProjectDataLoader, SpanCostSummaryCache
|
|
@@ -64,15 +78,20 @@ from .users import UsersDataLoader
|
|
|
64
78
|
__all__ = [
|
|
65
79
|
"AnnotationConfigsByProjectDataLoader",
|
|
66
80
|
"AnnotationSummaryDataLoader",
|
|
81
|
+
"AverageExperimentRepeatedRunGroupLatencyDataLoader",
|
|
67
82
|
"AverageExperimentRunLatencyDataLoader",
|
|
68
83
|
"CacheForDataLoaders",
|
|
69
84
|
"DatasetExampleRevisionsDataLoader",
|
|
70
85
|
"DatasetExampleSpansDataLoader",
|
|
86
|
+
"DatasetExamplesAndVersionsByExperimentRunDataLoader",
|
|
71
87
|
"DocumentEvaluationSummaryDataLoader",
|
|
72
88
|
"DocumentEvaluationsDataLoader",
|
|
73
89
|
"DocumentRetrievalMetricsDataLoader",
|
|
74
90
|
"ExperimentAnnotationSummaryDataLoader",
|
|
75
91
|
"ExperimentErrorRatesDataLoader",
|
|
92
|
+
"ExperimentRepeatedRunGroupsDataLoader",
|
|
93
|
+
"ExperimentRepeatedRunGroupAnnotationSummariesDataLoader",
|
|
94
|
+
"ExperimentRepetitionCountsDataLoader",
|
|
76
95
|
"ExperimentRunAnnotations",
|
|
77
96
|
"ExperimentRunCountsDataLoader",
|
|
78
97
|
"ExperimentSequenceNumberDataLoader",
|
|
@@ -99,6 +118,7 @@ __all__ = [
|
|
|
99
118
|
"SpanCostDetailSummaryEntriesByTraceDataLoader",
|
|
100
119
|
"SpanCostDetailsBySpanCostDataLoader",
|
|
101
120
|
"SpanCostSummaryByExperimentDataLoader",
|
|
121
|
+
"SpanCostSummaryByExperimentRepeatedRunGroupDataLoader",
|
|
102
122
|
"SpanCostSummaryByExperimentRunDataLoader",
|
|
103
123
|
"SpanCostSummaryByGenerativeModelDataLoader",
|
|
104
124
|
"SpanCostSummaryByProjectDataLoader",
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import func, select, tuple_
|
|
4
|
+
from strawberry.dataloader import DataLoader
|
|
5
|
+
from typing_extensions import TypeAlias
|
|
6
|
+
|
|
7
|
+
from phoenix.db import models
|
|
8
|
+
from phoenix.server.types import DbSessionFactory
|
|
9
|
+
|
|
10
|
+
ExperimentID: TypeAlias = int
|
|
11
|
+
DatasetExampleID: TypeAlias = int
|
|
12
|
+
RunLatency: TypeAlias = float
|
|
13
|
+
Key: TypeAlias = tuple[ExperimentID, DatasetExampleID]
|
|
14
|
+
Result: TypeAlias = Optional[RunLatency]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class AverageExperimentRepeatedRunGroupLatencyDataLoader(DataLoader[Key, Result]):
|
|
18
|
+
def __init__(
|
|
19
|
+
self,
|
|
20
|
+
db: DbSessionFactory,
|
|
21
|
+
) -> None:
|
|
22
|
+
super().__init__(load_fn=self._load_fn)
|
|
23
|
+
self._db = db
|
|
24
|
+
|
|
25
|
+
async def _load_fn(self, keys: list[Key]) -> list[Result]:
|
|
26
|
+
average_latency_query = (
|
|
27
|
+
select(
|
|
28
|
+
models.ExperimentRun.experiment_id.label("experiment_id"),
|
|
29
|
+
models.ExperimentRun.dataset_example_id.label("example_id"),
|
|
30
|
+
func.avg(models.ExperimentRun.latency_ms).label("average_repetition_latency_ms"),
|
|
31
|
+
)
|
|
32
|
+
.select_from(models.ExperimentRun)
|
|
33
|
+
.where(
|
|
34
|
+
tuple_(
|
|
35
|
+
models.ExperimentRun.experiment_id, models.ExperimentRun.dataset_example_id
|
|
36
|
+
).in_(set(keys))
|
|
37
|
+
)
|
|
38
|
+
.group_by(models.ExperimentRun.experiment_id, models.ExperimentRun.dataset_example_id)
|
|
39
|
+
)
|
|
40
|
+
async with self._db() as session:
|
|
41
|
+
average_run_latencies_ms = {
|
|
42
|
+
(experiment_id, example_id): average_run_latency_ms
|
|
43
|
+
async for experiment_id, example_id, average_run_latency_ms in await session.stream(
|
|
44
|
+
average_latency_query
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
return [
|
|
48
|
+
average_run_latencies_ms.get((experiment_id, example_id))
|
|
49
|
+
for experiment_id, example_id in keys
|
|
50
|
+
]
|
|
@@ -91,7 +91,6 @@ class DatasetExampleRevisionsDataLoader(DataLoader[Key, Result]):
|
|
|
91
91
|
onclause=revision_ids.c.version_id == models.DatasetVersion.id,
|
|
92
92
|
isouter=True, # keep rows where the version id is null
|
|
93
93
|
)
|
|
94
|
-
.where(models.DatasetExampleRevision.revision_kind != "DELETE")
|
|
95
94
|
)
|
|
96
95
|
async with self._db() as session:
|
|
97
96
|
results = {
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from sqlalchemy import select
|
|
2
|
+
from strawberry.dataloader import DataLoader
|
|
3
|
+
from typing_extensions import TypeAlias
|
|
4
|
+
|
|
5
|
+
from phoenix.db import models
|
|
6
|
+
from phoenix.server.types import DbSessionFactory
|
|
7
|
+
|
|
8
|
+
ExperimentRunID: TypeAlias = int
|
|
9
|
+
DatasetExampleID: TypeAlias = int
|
|
10
|
+
DatasetVersionID: TypeAlias = int
|
|
11
|
+
Key: TypeAlias = ExperimentRunID
|
|
12
|
+
Result: TypeAlias = tuple[models.DatasetExample, DatasetVersionID]
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class DatasetExamplesAndVersionsByExperimentRunDataLoader(DataLoader[Key, Result]):
|
|
16
|
+
def __init__(self, db: DbSessionFactory) -> None:
|
|
17
|
+
super().__init__(load_fn=self._load_fn)
|
|
18
|
+
self._db = db
|
|
19
|
+
|
|
20
|
+
async def _load_fn(self, keys: list[Key]) -> list[Result]:
|
|
21
|
+
experiment_run_ids = set(keys)
|
|
22
|
+
examples_and_versions_query = (
|
|
23
|
+
select(
|
|
24
|
+
models.ExperimentRun.id.label("experiment_run_id"),
|
|
25
|
+
models.DatasetExample,
|
|
26
|
+
models.Experiment.dataset_version_id.label("dataset_version_id"),
|
|
27
|
+
)
|
|
28
|
+
.select_from(models.ExperimentRun)
|
|
29
|
+
.join(
|
|
30
|
+
models.DatasetExample,
|
|
31
|
+
models.DatasetExample.id == models.ExperimentRun.dataset_example_id,
|
|
32
|
+
)
|
|
33
|
+
.join(
|
|
34
|
+
models.Experiment,
|
|
35
|
+
models.Experiment.id == models.ExperimentRun.experiment_id,
|
|
36
|
+
)
|
|
37
|
+
.where(models.ExperimentRun.id.in_(experiment_run_ids))
|
|
38
|
+
)
|
|
39
|
+
async with self._db() as session:
|
|
40
|
+
examples_and_versions = {
|
|
41
|
+
experiment_run_id: (example, version_id)
|
|
42
|
+
for experiment_run_id, example, version_id in (
|
|
43
|
+
await session.execute(examples_and_versions_query)
|
|
44
|
+
).all()
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return [examples_and_versions[key] for key in keys]
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from sqlalchemy import func, select, tuple_
|
|
5
|
+
from strawberry.dataloader import DataLoader
|
|
6
|
+
from typing_extensions import TypeAlias
|
|
7
|
+
|
|
8
|
+
from phoenix.db import models
|
|
9
|
+
from phoenix.server.types import DbSessionFactory
|
|
10
|
+
|
|
11
|
+
ExperimentID: TypeAlias = int
|
|
12
|
+
DatasetExampleID: TypeAlias = int
|
|
13
|
+
AnnotationName: TypeAlias = str
|
|
14
|
+
MeanAnnotationScore: TypeAlias = float
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@dataclass
|
|
18
|
+
class AnnotationSummary:
|
|
19
|
+
annotation_name: AnnotationName
|
|
20
|
+
mean_score: Optional[MeanAnnotationScore]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
Key: TypeAlias = tuple[ExperimentID, DatasetExampleID]
|
|
24
|
+
Result: TypeAlias = list[AnnotationSummary]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ExperimentRepeatedRunGroupAnnotationSummariesDataLoader(DataLoader[Key, Result]):
|
|
28
|
+
def __init__(
|
|
29
|
+
self,
|
|
30
|
+
db: DbSessionFactory,
|
|
31
|
+
) -> None:
|
|
32
|
+
super().__init__(load_fn=self._load_fn)
|
|
33
|
+
self._db = db
|
|
34
|
+
|
|
35
|
+
async def _load_fn(self, keys: list[Key]) -> list[Result]:
|
|
36
|
+
annotation_summaries_query = (
|
|
37
|
+
select(
|
|
38
|
+
models.ExperimentRun.experiment_id.label("experiment_id"),
|
|
39
|
+
models.ExperimentRun.dataset_example_id.label("dataset_example_id"),
|
|
40
|
+
models.ExperimentRunAnnotation.name.label("annotation_name"),
|
|
41
|
+
func.avg(models.ExperimentRunAnnotation.score).label("mean_score"),
|
|
42
|
+
)
|
|
43
|
+
.select_from(models.ExperimentRunAnnotation)
|
|
44
|
+
.join(
|
|
45
|
+
models.ExperimentRun,
|
|
46
|
+
models.ExperimentRunAnnotation.experiment_run_id == models.ExperimentRun.id,
|
|
47
|
+
)
|
|
48
|
+
.where(
|
|
49
|
+
tuple_(
|
|
50
|
+
models.ExperimentRun.experiment_id, models.ExperimentRun.dataset_example_id
|
|
51
|
+
).in_(set(keys))
|
|
52
|
+
)
|
|
53
|
+
.group_by(
|
|
54
|
+
models.ExperimentRun.experiment_id,
|
|
55
|
+
models.ExperimentRun.dataset_example_id,
|
|
56
|
+
models.ExperimentRunAnnotation.name,
|
|
57
|
+
)
|
|
58
|
+
)
|
|
59
|
+
async with self._db() as session:
|
|
60
|
+
annotation_summaries = (await session.execute(annotation_summaries_query)).all()
|
|
61
|
+
annotation_summaries_by_key: dict[Key, list[AnnotationSummary]] = {}
|
|
62
|
+
for summary in annotation_summaries:
|
|
63
|
+
key = (summary.experiment_id, summary.dataset_example_id)
|
|
64
|
+
gql_summary = AnnotationSummary(
|
|
65
|
+
annotation_name=summary.annotation_name,
|
|
66
|
+
mean_score=summary.mean_score,
|
|
67
|
+
)
|
|
68
|
+
if key not in annotation_summaries_by_key:
|
|
69
|
+
annotation_summaries_by_key[key] = []
|
|
70
|
+
annotation_summaries_by_key[key].append(gql_summary)
|
|
71
|
+
return [
|
|
72
|
+
sorted(
|
|
73
|
+
annotation_summaries_by_key.get(key, []),
|
|
74
|
+
key=lambda summary: summary.annotation_name,
|
|
75
|
+
)
|
|
76
|
+
for key in keys
|
|
77
|
+
]
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from sqlalchemy import select, tuple_
|
|
4
|
+
from sqlalchemy.orm import joinedload
|
|
5
|
+
from strawberry.dataloader import DataLoader
|
|
6
|
+
from typing_extensions import TypeAlias
|
|
7
|
+
|
|
8
|
+
from phoenix.db import models
|
|
9
|
+
from phoenix.server.types import DbSessionFactory
|
|
10
|
+
|
|
11
|
+
ExperimentID: TypeAlias = int
|
|
12
|
+
DatasetExampleID: TypeAlias = int
|
|
13
|
+
Key: TypeAlias = tuple[ExperimentID, DatasetExampleID]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
@dataclass
|
|
17
|
+
class ExperimentRepeatedRunGroup:
|
|
18
|
+
experiment_rowid: int
|
|
19
|
+
dataset_example_rowid: int
|
|
20
|
+
runs: list[models.ExperimentRun]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
Result: TypeAlias = ExperimentRepeatedRunGroup
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class ExperimentRepeatedRunGroupsDataLoader(DataLoader[Key, Result]):
|
|
27
|
+
def __init__(self, db: DbSessionFactory) -> None:
|
|
28
|
+
super().__init__(load_fn=self._load_fn)
|
|
29
|
+
self._db = db
|
|
30
|
+
|
|
31
|
+
async def _load_fn(self, keys: list[Key]) -> list[Result]:
|
|
32
|
+
repeated_run_groups_query = (
|
|
33
|
+
select(models.ExperimentRun)
|
|
34
|
+
.where(
|
|
35
|
+
tuple_(
|
|
36
|
+
models.ExperimentRun.experiment_id,
|
|
37
|
+
models.ExperimentRun.dataset_example_id,
|
|
38
|
+
).in_(set(keys))
|
|
39
|
+
)
|
|
40
|
+
.order_by(models.ExperimentRun.repetition_number)
|
|
41
|
+
.options(joinedload(models.ExperimentRun.trace).load_only(models.Trace.trace_id))
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
async with self._db() as session:
|
|
45
|
+
runs_by_key: dict[Key, list[models.ExperimentRun]] = {}
|
|
46
|
+
for run in (await session.scalars(repeated_run_groups_query)).all():
|
|
47
|
+
key = (run.experiment_id, run.dataset_example_id)
|
|
48
|
+
if key not in runs_by_key:
|
|
49
|
+
runs_by_key[key] = []
|
|
50
|
+
runs_by_key[key].append(run)
|
|
51
|
+
|
|
52
|
+
return [
|
|
53
|
+
ExperimentRepeatedRunGroup(
|
|
54
|
+
experiment_rowid=experiment_id,
|
|
55
|
+
dataset_example_rowid=dataset_example_id,
|
|
56
|
+
runs=runs_by_key.get((experiment_id, dataset_example_id), []),
|
|
57
|
+
)
|
|
58
|
+
for (experiment_id, dataset_example_id) in keys
|
|
59
|
+
]
|