arize-phoenix 4.14.1__py3-none-any.whl → 4.15.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of arize-phoenix might be problematic. Click here for more details.
- {arize_phoenix-4.14.1.dist-info → arize_phoenix-4.15.0.dist-info}/METADATA +4 -3
- {arize_phoenix-4.14.1.dist-info → arize_phoenix-4.15.0.dist-info}/RECORD +69 -66
- phoenix/db/bulk_inserter.py +2 -3
- phoenix/db/engines.py +2 -1
- phoenix/experiments/functions.py +3 -2
- phoenix/server/api/context.py +7 -9
- phoenix/server/api/dataloaders/__init__.py +2 -0
- phoenix/server/api/dataloaders/average_experiment_run_latency.py +3 -3
- phoenix/server/api/dataloaders/dataset_example_revisions.py +2 -4
- phoenix/server/api/dataloaders/dataset_example_spans.py +2 -4
- phoenix/server/api/dataloaders/document_evaluation_summaries.py +2 -4
- phoenix/server/api/dataloaders/document_evaluations.py +2 -4
- phoenix/server/api/dataloaders/document_retrieval_metrics.py +2 -4
- phoenix/server/api/dataloaders/evaluation_summaries.py +2 -4
- phoenix/server/api/dataloaders/experiment_annotation_summaries.py +2 -4
- phoenix/server/api/dataloaders/experiment_error_rates.py +2 -4
- phoenix/server/api/dataloaders/experiment_run_counts.py +2 -4
- phoenix/server/api/dataloaders/experiment_sequence_number.py +2 -4
- phoenix/server/api/dataloaders/latency_ms_quantile.py +2 -3
- phoenix/server/api/dataloaders/min_start_or_max_end_times.py +2 -4
- phoenix/server/api/dataloaders/project_by_name.py +3 -3
- phoenix/server/api/dataloaders/record_counts.py +2 -4
- phoenix/server/api/dataloaders/span_annotations.py +2 -4
- phoenix/server/api/dataloaders/span_dataset_examples.py +36 -0
- phoenix/server/api/dataloaders/span_descendants.py +2 -4
- phoenix/server/api/dataloaders/span_evaluations.py +2 -4
- phoenix/server/api/dataloaders/span_projects.py +3 -3
- phoenix/server/api/dataloaders/token_counts.py +2 -4
- phoenix/server/api/dataloaders/trace_evaluations.py +2 -4
- phoenix/server/api/dataloaders/trace_row_ids.py +2 -4
- phoenix/server/api/mutations/span_annotations_mutations.py +8 -3
- phoenix/server/api/mutations/trace_annotations_mutations.py +8 -3
- phoenix/server/api/openapi/main.py +18 -2
- phoenix/server/api/openapi/schema.py +12 -12
- phoenix/server/api/routers/v1/__init__.py +36 -83
- phoenix/server/api/routers/v1/datasets.py +515 -509
- phoenix/server/api/routers/v1/evaluations.py +75 -70
- phoenix/server/api/routers/v1/experiment_evaluations.py +68 -91
- phoenix/server/api/routers/v1/experiment_runs.py +98 -155
- phoenix/server/api/routers/v1/experiments.py +132 -181
- phoenix/server/api/routers/v1/pydantic_compat.py +78 -0
- phoenix/server/api/routers/v1/spans.py +144 -173
- phoenix/server/api/routers/v1/traces.py +115 -128
- phoenix/server/api/routers/v1/utils.py +95 -0
- phoenix/server/api/types/Span.py +5 -0
- phoenix/server/api/utils.py +4 -4
- phoenix/server/app.py +170 -192
- phoenix/server/grpc_server.py +2 -2
- phoenix/server/main.py +5 -9
- phoenix/server/static/.vite/manifest.json +31 -31
- phoenix/server/static/assets/{components-DeS0YEmv.js → components-kGgeFkHp.js} +150 -110
- phoenix/server/static/assets/{index-CQgXRwU0.js → index-BctFO6S7.js} +2 -2
- phoenix/server/static/assets/{pages-hdjlFZhO.js → pages-DabDCmVd.js} +372 -272
- phoenix/server/static/assets/{vendor-DPvSDRn3.js → vendor-CP0b0YG0.js} +2 -2
- phoenix/server/static/assets/{vendor-arizeai-CkvPT67c.js → vendor-arizeai-B5Hti8OB.js} +27 -27
- phoenix/server/static/assets/vendor-codemirror-DtdPDzrv.js +15 -0
- phoenix/server/static/assets/{vendor-recharts-5jlNaZuF.js → vendor-recharts-A0DA1O99.js} +1 -1
- phoenix/server/thread_server.py +2 -2
- phoenix/server/types.py +18 -0
- phoenix/session/client.py +5 -3
- phoenix/session/session.py +2 -2
- phoenix/trace/fixtures.py +17 -23
- phoenix/trace/utils.py +23 -0
- phoenix/utilities/client.py +116 -0
- phoenix/utilities/project.py +1 -1
- phoenix/version.py +1 -1
- phoenix/server/api/routers/v1/dataset_examples.py +0 -178
- phoenix/server/openapi/docs.py +0 -221
- phoenix/server/static/assets/vendor-codemirror-Cqwpwlua.js +0 -12
- {arize_phoenix-4.14.1.dist-info → arize_phoenix-4.15.0.dist-info}/WHEEL +0 -0
- {arize_phoenix-4.14.1.dist-info → arize_phoenix-4.15.0.dist-info}/licenses/IP_NOTICE +0 -0
- {arize_phoenix-4.14.1.dist-info → arize_phoenix-4.15.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: arize-phoenix
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.15.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
|
|
@@ -22,6 +22,7 @@ Requires-Dist: aiosqlite
|
|
|
22
22
|
Requires-Dist: alembic<2,>=1.3.0
|
|
23
23
|
Requires-Dist: arize-phoenix-evals>=0.13.1
|
|
24
24
|
Requires-Dist: cachetools
|
|
25
|
+
Requires-Dist: fastapi
|
|
25
26
|
Requires-Dist: grpcio
|
|
26
27
|
Requires-Dist: hdbscan>=0.8.33
|
|
27
28
|
Requires-Dist: httpx
|
|
@@ -40,8 +41,8 @@ Requires-Dist: pandas>=1.0
|
|
|
40
41
|
Requires-Dist: protobuf<6.0,>=3.20
|
|
41
42
|
Requires-Dist: psutil
|
|
42
43
|
Requires-Dist: pyarrow
|
|
44
|
+
Requires-Dist: pydantic!=2.0.*,<3,>=1.0
|
|
43
45
|
Requires-Dist: python-multipart
|
|
44
|
-
Requires-Dist: pyyaml
|
|
45
46
|
Requires-Dist: scikit-learn
|
|
46
47
|
Requires-Dist: scipy
|
|
47
48
|
Requires-Dist: sqlalchemy[asyncio]<3,>=2.0.4
|
|
@@ -56,9 +57,9 @@ Requires-Dist: uvicorn
|
|
|
56
57
|
Requires-Dist: wrapt
|
|
57
58
|
Provides-Extra: container
|
|
58
59
|
Requires-Dist: opentelemetry-exporter-otlp; extra == 'container'
|
|
60
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi; extra == 'container'
|
|
59
61
|
Requires-Dist: opentelemetry-instrumentation-grpc; extra == 'container'
|
|
60
62
|
Requires-Dist: opentelemetry-instrumentation-sqlalchemy; extra == 'container'
|
|
61
|
-
Requires-Dist: opentelemetry-instrumentation-starlette; extra == 'container'
|
|
62
63
|
Requires-Dist: opentelemetry-proto>=1.12.0; extra == 'container'
|
|
63
64
|
Requires-Dist: opentelemetry-sdk; extra == 'container'
|
|
64
65
|
Requires-Dist: opentelemetry-semantic-conventions; extra == 'container'
|
|
@@ -5,7 +5,7 @@ phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
|
|
|
5
5
|
phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
6
6
|
phoenix/services.py,sha256=aTxhcOA1pZHB6U-B3TEcp6fqDF5oT0xCUvEUNMZVTUQ,5175
|
|
7
7
|
phoenix/settings.py,sha256=cO-qgis_S27nHirTobYI9hHPfZH18R--WMmxNdsVUwc,273
|
|
8
|
-
phoenix/version.py,sha256=
|
|
8
|
+
phoenix/version.py,sha256=n9j59G6rZwNZUyNaaFWTiRnQ1XtoroCAMfk4OtFuagc,23
|
|
9
9
|
phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
10
|
phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
|
|
11
11
|
phoenix/core/model.py,sha256=km_a--PBHOuA337ClRw9xqhOHhrUT6Rl9pz_zV0JYkQ,4843
|
|
@@ -14,8 +14,8 @@ phoenix/core/model_schema_adapter.py,sha256=0Tm_Y_gV-WED8fKBCaFXAEFwE3CTEZS1dowq
|
|
|
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=
|
|
18
|
-
phoenix/db/engines.py,sha256=
|
|
17
|
+
phoenix/db/bulk_inserter.py,sha256=Hagqne0MiHXi9Y1uVsXpzIqNF9HpSZcmqv00TuHChTc,11285
|
|
18
|
+
phoenix/db/engines.py,sha256=R3btYTSOSd6BwRA59EmhhojL0HCQ7NnzFIXQrPYS0iU,4812
|
|
19
19
|
phoenix/db/helpers.py,sha256=mTBhPzdy_aU9gD7hNzUZJkAnV77ko5CdaXyoWH3snPA,2982
|
|
20
20
|
phoenix/db/migrate.py,sha256=MuhtNWnR24riROvarvKfbRb4_D5xuQi6P760vBUKl1E,2270
|
|
21
21
|
phoenix/db/models.py,sha256=7DBWbxY3cx3ve2P1I0kkDKXzlt04zEFJuRPJWsVpH-I,20422
|
|
@@ -31,7 +31,7 @@ phoenix/db/migrations/types.py,sha256=Frq1AKSyBKQQ0FLzON-EmgTqE4kNkOpHMsbWnI-WgC
|
|
|
31
31
|
phoenix/db/migrations/versions/10460e46d750_datasets.py,sha256=l69yZfScFrjfZZpY0gnqwhsDUEctLeo02qMgA_aOGDg,8155
|
|
32
32
|
phoenix/db/migrations/versions/cf03bd6bae1d_init.py,sha256=CbWT3ZTR0CZqeT3zWLoTWhboFmnOy3Ju1z6Ztpq8WIM,8122
|
|
33
33
|
phoenix/experiments/__init__.py,sha256=6JGwgUd7xCbGpuHqYZlsmErmYvVgv7N_j43bn3dUqsk,123
|
|
34
|
-
phoenix/experiments/functions.py,sha256=
|
|
34
|
+
phoenix/experiments/functions.py,sha256=4XaOLE1Co9sW_yjM1sypQClmOLtt9kwoxmhIEJ3f_rk,32209
|
|
35
35
|
phoenix/experiments/tracing.py,sha256=wVpt8Ie9WNPoi1djJdcrkwCokHdTO0bicXViLg3O-1Y,2831
|
|
36
36
|
phoenix/experiments/types.py,sha256=VuvDCcvUGeHIQuXS_xpz7Jq5xHdt3qu-O_C7IQ3DvF8,23397
|
|
37
37
|
phoenix/experiments/utils.py,sha256=wLu5Kvt1b4a8rGPRWq5G8RQ9XSiV8fCIVm51zWBI3-g,758
|
|
@@ -60,41 +60,43 @@ phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYG
|
|
|
60
60
|
phoenix/pointcloud/projectors.py,sha256=zO_RrtDYSv2rqVOfIP2_9Cv11Dc8EmcZR94xhFcBYPU,1057
|
|
61
61
|
phoenix/pointcloud/umap_parameters.py,sha256=3UQSjrysVOvq2V4KNpTMqNqNiK0BsTZnPBHWZ4fyJtQ,1708
|
|
62
62
|
phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
63
|
-
phoenix/server/app.py,sha256=
|
|
64
|
-
phoenix/server/grpc_server.py,sha256=
|
|
65
|
-
phoenix/server/main.py,sha256=
|
|
63
|
+
phoenix/server/app.py,sha256=DaYK3-2YJVB6AWE_oJ1pX96H20pap9D60DoCm20p12A,19041
|
|
64
|
+
phoenix/server/grpc_server.py,sha256=jllxDNkpLQxDkvej4RhTokobowbvydF-SU8gSw1MTCc,3378
|
|
65
|
+
phoenix/server/main.py,sha256=dvjv3g8ANpkvSGCUN02S2Yse643Nlwrp_bj4iXBSVTE,11082
|
|
66
66
|
phoenix/server/prometheus.py,sha256=j9DHB2fERuq_ZKmwVaqR-9wx5WcPPuU1Cm5Bhg5241Y,2996
|
|
67
67
|
phoenix/server/telemetry.py,sha256=T_2OKrxNViAeaANlNspEekg_Y5uZIFWvKAnpz8Aoqvk,2762
|
|
68
|
-
phoenix/server/thread_server.py,sha256=
|
|
68
|
+
phoenix/server/thread_server.py,sha256=RwXQGP_QhGD7le6WB7xEygEEuwBl5Ck_Zo8xGIYGi9M,2135
|
|
69
|
+
phoenix/server/types.py,sha256=o3uwy8NvfLO-j86v2Dl3irko6er0hvB_x4Df3S1DveM,460
|
|
69
70
|
phoenix/server/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
70
|
-
phoenix/server/api/context.py,sha256=
|
|
71
|
+
phoenix/server/api/context.py,sha256=IZNZB8VMOL_mKzTkvyS5RyIcZcI0gwUt2qZ6jppBDWc,2853
|
|
71
72
|
phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
|
|
72
73
|
phoenix/server/api/queries.py,sha256=eq2xHaQF-x4k6AGSY6b6mU2pie9bj-AJML6P2Mr0_DM,19886
|
|
73
74
|
phoenix/server/api/schema.py,sha256=BcxdqO5CSGqpKd-AAJHMjFlzaK9oJA8GJuxmMfcdjn4,434
|
|
74
|
-
phoenix/server/api/utils.py,sha256=
|
|
75
|
-
phoenix/server/api/dataloaders/__init__.py,sha256=
|
|
76
|
-
phoenix/server/api/dataloaders/average_experiment_run_latency.py,sha256=
|
|
77
|
-
phoenix/server/api/dataloaders/dataset_example_revisions.py,sha256=
|
|
78
|
-
phoenix/server/api/dataloaders/dataset_example_spans.py,sha256
|
|
79
|
-
phoenix/server/api/dataloaders/document_evaluation_summaries.py,sha256=
|
|
80
|
-
phoenix/server/api/dataloaders/document_evaluations.py,sha256=
|
|
81
|
-
phoenix/server/api/dataloaders/document_retrieval_metrics.py,sha256=
|
|
82
|
-
phoenix/server/api/dataloaders/evaluation_summaries.py,sha256=
|
|
83
|
-
phoenix/server/api/dataloaders/experiment_annotation_summaries.py,sha256=
|
|
84
|
-
phoenix/server/api/dataloaders/experiment_error_rates.py,sha256=
|
|
85
|
-
phoenix/server/api/dataloaders/experiment_run_counts.py,sha256=
|
|
86
|
-
phoenix/server/api/dataloaders/experiment_sequence_number.py,sha256=
|
|
87
|
-
phoenix/server/api/dataloaders/latency_ms_quantile.py,sha256=
|
|
88
|
-
phoenix/server/api/dataloaders/min_start_or_max_end_times.py,sha256=
|
|
89
|
-
phoenix/server/api/dataloaders/project_by_name.py,sha256=
|
|
90
|
-
phoenix/server/api/dataloaders/record_counts.py,sha256=
|
|
91
|
-
phoenix/server/api/dataloaders/span_annotations.py,sha256=
|
|
92
|
-
phoenix/server/api/dataloaders/
|
|
93
|
-
phoenix/server/api/dataloaders/
|
|
94
|
-
phoenix/server/api/dataloaders/
|
|
95
|
-
phoenix/server/api/dataloaders/
|
|
96
|
-
phoenix/server/api/dataloaders/
|
|
97
|
-
phoenix/server/api/dataloaders/
|
|
75
|
+
phoenix/server/api/utils.py,sha256=Kl47G-1A7QKTDrc75BU2QK6HupsG6MWuXxy351FOfKQ,858
|
|
76
|
+
phoenix/server/api/dataloaders/__init__.py,sha256=C48-E6wkXSfAweypgH3BE_m0bAOLBVbIVzJxkva6t4g,5038
|
|
77
|
+
phoenix/server/api/dataloaders/average_experiment_run_latency.py,sha256=q091UmkXx37OBKh7L-GJ5LXHyRXfX2w4XTk1NMHtPpw,1827
|
|
78
|
+
phoenix/server/api/dataloaders/dataset_example_revisions.py,sha256=i0g8F4akEf3kQOzAvBjO27QwXNsq-kJEM8dtzduxQgY,3720
|
|
79
|
+
phoenix/server/api/dataloaders/dataset_example_spans.py,sha256=-TjdyyJv2c2JiN1OXu6MMmQ-BEKlHXucEDcuObeRVsU,1416
|
|
80
|
+
phoenix/server/api/dataloaders/document_evaluation_summaries.py,sha256=5XOom2KRAmCwPmtlraiZOSl3vhfaW-eiiYkmetAEalw,5616
|
|
81
|
+
phoenix/server/api/dataloaders/document_evaluations.py,sha256=V6sE34jON_qFxt7eArJbktykAsty-gnBZHlEkORcj0E,1296
|
|
82
|
+
phoenix/server/api/dataloaders/document_retrieval_metrics.py,sha256=JqDqkUuoeG6WfcmWSrmQptfF6IPX8XgzYzyECXTAjgg,4202
|
|
83
|
+
phoenix/server/api/dataloaders/evaluation_summaries.py,sha256=FEfUMKgk0uqQlJCS5ynmjkBoJVkqW9EVQ8vhgQ2ReKY,5656
|
|
84
|
+
phoenix/server/api/dataloaders/experiment_annotation_summaries.py,sha256=qDEBRo0XKJMYBYlXBgJ-69jwPK-0r4pi9ZhbjC_vx6M,2813
|
|
85
|
+
phoenix/server/api/dataloaders/experiment_error_rates.py,sha256=wWTFOO2UxGIYUu53nnzzLk04-mJxw-BQgJELA9gT5bY,1949
|
|
86
|
+
phoenix/server/api/dataloaders/experiment_run_counts.py,sha256=8VlKRaXwD56-7q_uonRr7L6QlEkyEQubkFKmKx6vuz0,1661
|
|
87
|
+
phoenix/server/api/dataloaders/experiment_sequence_number.py,sha256=hSpKyOz3ES4UTfOzOfHeQ1ZXat-bzcdKybVSbYmhrBw,1563
|
|
88
|
+
phoenix/server/api/dataloaders/latency_ms_quantile.py,sha256=5Y2OQ_GeH1My2573eOm7zPbqpwDZ_WeMLoZMq3KDoNQ,7403
|
|
89
|
+
phoenix/server/api/dataloaders/min_start_or_max_end_times.py,sha256=k82jVllBWkGI6xu2MAltqxdIqyw3DqoVCQcKbi-JsmM,2834
|
|
90
|
+
phoenix/server/api/dataloaders/project_by_name.py,sha256=9p6DW_zXrsB9YGILFV0wkRwiapyHbZ1IgWK9HuHxl30,1105
|
|
91
|
+
phoenix/server/api/dataloaders/record_counts.py,sha256=64OsyiQRDZASlibpQAXtRkzyA_ch89A3TvhSUByxoTI,4215
|
|
92
|
+
phoenix/server/api/dataloaders/span_annotations.py,sha256=QsbAGPFitFxOCI9yJPPlueuMh0LqN18hMo-Vx2P8EsI,1194
|
|
93
|
+
phoenix/server/api/dataloaders/span_dataset_examples.py,sha256=BtLZp11fyyeaWGGBPZj2StzFM0m5jxt52zB2nFMVybo,1306
|
|
94
|
+
phoenix/server/api/dataloaders/span_descendants.py,sha256=b7jGTn0Hi22gv2yskloLnf3BG3upS9z5hnKLMT9Sxac,2094
|
|
95
|
+
phoenix/server/api/dataloaders/span_evaluations.py,sha256=IfwXW23GQaWti8F49wSJocWf7Tklf2ZJ0F6aB4cSVHs,1248
|
|
96
|
+
phoenix/server/api/dataloaders/span_projects.py,sha256=LbQWiboCFqq4CHS18OzvRUwL9yORqP26fh5p7JbpFdg,1244
|
|
97
|
+
phoenix/server/api/dataloaders/token_counts.py,sha256=riJC3jGRJv2eyenk8Gkx7xwDaulb9SWla58wfcXZeCE,4947
|
|
98
|
+
phoenix/server/api/dataloaders/trace_evaluations.py,sha256=vraPehNsausR4dbdvq-HudRVNARJUbep3T-Ud9jwWYY,1262
|
|
99
|
+
phoenix/server/api/dataloaders/trace_row_ids.py,sha256=RODX4NULlBzMxHMrsq0dp1ij6ZlLH4ZzQBnafGdxOvU,1100
|
|
98
100
|
phoenix/server/api/dataloaders/cache/__init__.py,sha256=SYoOM9n8FJaMdQarma5d1blu-jIg2GB8Shqg5ezSzZ8,106
|
|
99
101
|
phoenix/server/api/dataloaders/cache/two_tier_cache.py,sha256=I38L1RsOis98OQftE7n1Q9QBZfFJO6OW_qIINkuJllo,2295
|
|
100
102
|
phoenix/server/api/helpers/__init__.py,sha256=_V1eVkchZmTkhOfRC4QqR1sUB2xtIxdsMJkDouZq_IE,251
|
|
@@ -131,22 +133,23 @@ phoenix/server/api/mutations/dataset_mutations.py,sha256=CuKhxsYfvwVcdN_9EXhKxB6
|
|
|
131
133
|
phoenix/server/api/mutations/experiment_mutations.py,sha256=vV2lbJ7ccXZqe-LY7nXx6QxWqhKQE4UNZAFcML-KQ8I,3011
|
|
132
134
|
phoenix/server/api/mutations/export_events_mutations.py,sha256=t_wYBxaqvBJYRoHslh3Bmoxmwlzoy0u8SsBKWIKN5hE,4028
|
|
133
135
|
phoenix/server/api/mutations/project_mutations.py,sha256=d_xtYkYfZ5flpVgEkGknKB8rsEux-zZraczzqAs4e8A,2255
|
|
134
|
-
phoenix/server/api/mutations/span_annotations_mutations.py,sha256=
|
|
135
|
-
phoenix/server/api/mutations/trace_annotations_mutations.py,sha256=
|
|
136
|
+
phoenix/server/api/mutations/span_annotations_mutations.py,sha256=DJ1wLlvx7zZJZclw9cFHzrBFtSf98a7grHBb0rd-Hyc,5339
|
|
137
|
+
phoenix/server/api/mutations/trace_annotations_mutations.py,sha256=GtI_kDpzLDBFjh0CkYjCgVfdBCog7aKHlIVsEM2x92k,5379
|
|
136
138
|
phoenix/server/api/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
137
|
-
phoenix/server/api/openapi/main.py,sha256=
|
|
138
|
-
phoenix/server/api/openapi/schema.py,sha256=
|
|
139
|
+
phoenix/server/api/openapi/main.py,sha256=KNutA_7AvV_WlGX8cOkvvDujcJKQ7AD1HT6rTpCpR8A,616
|
|
140
|
+
phoenix/server/api/openapi/schema.py,sha256=oVZoflWMfzOrLKMIrjr3iLnJ13rmN-t_DOe9g6KoN5s,471
|
|
139
141
|
phoenix/server/api/routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
140
142
|
phoenix/server/api/routers/utils.py,sha256=M41BoH-fl37izhRuN2aX7lWm7jOC20A_3uClv9TVUUY,583
|
|
141
|
-
phoenix/server/api/routers/v1/__init__.py,sha256=
|
|
142
|
-
phoenix/server/api/routers/v1/
|
|
143
|
-
phoenix/server/api/routers/v1/
|
|
144
|
-
phoenix/server/api/routers/v1/
|
|
145
|
-
phoenix/server/api/routers/v1/
|
|
146
|
-
phoenix/server/api/routers/v1/
|
|
147
|
-
phoenix/server/api/routers/v1/
|
|
148
|
-
phoenix/server/api/routers/v1/spans.py,sha256=
|
|
149
|
-
phoenix/server/api/routers/v1/traces.py,sha256=
|
|
143
|
+
phoenix/server/api/routers/v1/__init__.py,sha256=nb49zcOdAi3DSGuC9gUubN9Yri-o7-WFdlGak4jGuFw,1462
|
|
144
|
+
phoenix/server/api/routers/v1/datasets.py,sha256=QG6QeyfPi1tfBvVoa3jpNOcwtR5ntNfd3IW9rzP735Q,36920
|
|
145
|
+
phoenix/server/api/routers/v1/evaluations.py,sha256=xfBoieGa9bmkvomJFfveGIS6LcC4AgjS4OeoUsTlJWk,9484
|
|
146
|
+
phoenix/server/api/routers/v1/experiment_evaluations.py,sha256=xoVhU71U3c1QJSXiKsAa4yiH-UAqkyVc7uKPyIHjrYY,4682
|
|
147
|
+
phoenix/server/api/routers/v1/experiment_runs.py,sha256=7qvLYgqH58nxqhTnJ0hPf0PBfVmZnbxquodSnEGoQxk,6059
|
|
148
|
+
phoenix/server/api/routers/v1/experiments.py,sha256=AFJb8Pi6SDKbIbkDRWUtPjikZIoRhc7cFLWm40l3mPk,9817
|
|
149
|
+
phoenix/server/api/routers/v1/pydantic_compat.py,sha256=FeK8oe2brqu-djsoqRxiKL4tw5cHmi89OHVfCFxYsAo,2890
|
|
150
|
+
phoenix/server/api/routers/v1/spans.py,sha256=yMs3Sm6s6JLV2nlmpnQ-ZJ_In0aTY5M3uOlLi-Wzb9c,8967
|
|
151
|
+
phoenix/server/api/routers/v1/traces.py,sha256=Zl_hGHd-4rA0tXegH_GVoN9Ij84vbPB8oHu28fzGHA8,8029
|
|
152
|
+
phoenix/server/api/routers/v1/utils.py,sha256=xvl2v-BKUkqmFVMmgmmWGFKuRBTrUdoiAeT3mCYEE68,3086
|
|
150
153
|
phoenix/server/api/types/Annotation.py,sha256=7Ym7iuVcbwHlw2yIRylz4nATAF_Cm-Z17qcjiooj1cc,751
|
|
151
154
|
phoenix/server/api/types/AnnotatorKind.py,sha256=rPgGdbN1Gvc109sGQ_ZH-gfJbp93V9wlarzTEJNtUwI,236
|
|
152
155
|
phoenix/server/api/types/Cluster.py,sha256=ac4YfT1OH3xLVmex7EUmB6b9IpULnhLTt554LR0jglE,5689
|
|
@@ -190,7 +193,7 @@ phoenix/server/api/types/Retrieval.py,sha256=OhMK2ncjoyp5h1yjKhjlKpoTbQrMHuxmgSF
|
|
|
190
193
|
phoenix/server/api/types/ScalarDriftMetricEnum.py,sha256=IUAcRPpgL41WdoIgK6cNk2Te38SspXGyEs-S1fY23_A,232
|
|
191
194
|
phoenix/server/api/types/Segments.py,sha256=m2yoegrxA1Tn7ZAy1rMjjD1isc752MaAXMoffkBlvrM,2921
|
|
192
195
|
phoenix/server/api/types/SortDir.py,sha256=OUpXhlCzCxPoXSDkJJygEs9Rw9pMymfaZUG5zPTrw4Y,152
|
|
193
|
-
phoenix/server/api/types/Span.py,sha256=
|
|
196
|
+
phoenix/server/api/types/Span.py,sha256=0Ka8usQ8RscoeqZfz_AEHpfI2BXy0Q7caIAyo8LBc38,14511
|
|
194
197
|
phoenix/server/api/types/SpanAnnotation.py,sha256=6b5G-b_OoRvDL2ayWk7MkbqarLK-F-pQMx21CpUuNGY,1168
|
|
195
198
|
phoenix/server/api/types/TimeSeries.py,sha256=wjzuxHFqCey0O7Ys25qiXyuqXK8an-osyNWUE8A_8G4,5227
|
|
196
199
|
phoenix/server/api/types/Trace.py,sha256=ep-mPexub1ijxAnBvc2KrGsNVXO2SfDR1WxqER2wcD8,2376
|
|
@@ -202,7 +205,6 @@ phoenix/server/api/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
202
205
|
phoenix/server/api/types/node.py,sha256=V0Xh9U4cGkz3iMg-vzEXtcs6cumU29JFPiU-JuGzjWI,848
|
|
203
206
|
phoenix/server/api/types/pagination.py,sha256=PcaJ0s4exsTKgCZC4aFm1cgZNrGpHSdo6PbkWzPcweg,9077
|
|
204
207
|
phoenix/server/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
205
|
-
phoenix/server/openapi/docs.py,sha256=fTb9q2oOSKC5bLVQy2Dsg3Bs0mGkCOKX1ypX7731sE0,7044
|
|
206
208
|
phoenix/server/static/apple-touch-icon-114x114.png,sha256=xtFVXAYQnJkpUApg2D1hltSTuyO4Is4sD4A0ZkikiVU,9486
|
|
207
209
|
phoenix/server/static/apple-touch-icon-120x120.png,sha256=iqZVAk634BbjJMozA8aHYyw15JjhIlIrG41FA2DFFaE,9957
|
|
208
210
|
phoenix/server/static/apple-touch-icon-144x144.png,sha256=VgARtkHKoU8zikb3_G83h_cb02kpPcoJqO78yRh1AfU,10047
|
|
@@ -213,29 +215,29 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
|
|
|
213
215
|
phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
|
|
214
216
|
phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
|
|
215
217
|
phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
|
|
216
|
-
phoenix/server/static/.vite/manifest.json,sha256=
|
|
217
|
-
phoenix/server/static/assets/components-
|
|
218
|
-
phoenix/server/static/assets/index-
|
|
219
|
-
phoenix/server/static/assets/pages-
|
|
220
|
-
phoenix/server/static/assets/vendor-
|
|
218
|
+
phoenix/server/static/.vite/manifest.json,sha256=9PYR8RFuxdsTxW7Ofs1P8Ehx2DktABRYGTx0jGtAX84,1929
|
|
219
|
+
phoenix/server/static/assets/components-kGgeFkHp.js,sha256=xUfFn5d7Q4ZltPMMQYFCHfXwGTeclBTSKjRQID0Fz9c,165411
|
|
220
|
+
phoenix/server/static/assets/index-BctFO6S7.js,sha256=Y3BkQU18R8sJnJAuq0cU7sVPFjDcqhskG0AmAtv5Q8k,6337
|
|
221
|
+
phoenix/server/static/assets/pages-DabDCmVd.js,sha256=cAiGKj0vFph9REng2JjQAVOax5IhgdSxkEBVs8u1Hh0,433015
|
|
222
|
+
phoenix/server/static/assets/vendor-CP0b0YG0.js,sha256=hoxXvVgcHofQrVahK5Q4hAMDaQiH6GygbQvdiXlhQAo,1355423
|
|
221
223
|
phoenix/server/static/assets/vendor-DxkFTwjz.css,sha256=nZrkr0u6NNElFGvpWHk9GTHeGoibCXCli1bE7mXZGZg,1816
|
|
222
|
-
phoenix/server/static/assets/vendor-arizeai-
|
|
223
|
-
phoenix/server/static/assets/vendor-codemirror-
|
|
224
|
-
phoenix/server/static/assets/vendor-recharts-
|
|
224
|
+
phoenix/server/static/assets/vendor-arizeai-B5Hti8OB.js,sha256=H1iwTiHB40STvEBQe1BnZpej-9slXsuOgEZvvVvnz3Y,296355
|
|
225
|
+
phoenix/server/static/assets/vendor-codemirror-DtdPDzrv.js,sha256=ngcX7xxWUANIvplBuEqkDowqRkknIoX3gXUeQk-jtMQ,503031
|
|
226
|
+
phoenix/server/static/assets/vendor-recharts-A0DA1O99.js,sha256=Zp6oIbsFZPDN-M7VNovxGfJkg9XUISg1fM7eRMtHCaw,282859
|
|
225
227
|
phoenix/server/static/assets/vendor-three-DwGkEfCM.js,sha256=0D12ZgKzfKCTSdSTKJBFR2RZO_xxeMXrqDp0AszZqHY,620972
|
|
226
228
|
phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
227
229
|
phoenix/server/templates/index.html,sha256=gVpjB8pCMiubdMh2DA9mTCtV5AVTXJH_9u5PmG2t7Vk,4238
|
|
228
230
|
phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
229
|
-
phoenix/session/client.py,sha256=
|
|
231
|
+
phoenix/session/client.py,sha256=RSaEALbFu-En5oJLv7K4BmwdkrsIC5ZbjMX7Mlny8_Y,32665
|
|
230
232
|
phoenix/session/data_extractor.py,sha256=gkEM3WWZAlWGMfRgQopAQlid4cSi6GNco-sdrGir0qc,2788
|
|
231
233
|
phoenix/session/evaluation.py,sha256=aKeV8UVOyq3b7CYOwt3cWuLz0xzvMjX7vlEPILJ_fcs,5311
|
|
232
|
-
phoenix/session/session.py,sha256=
|
|
234
|
+
phoenix/session/session.py,sha256=RstuZpkdZcuyZXhWdY59YOr46wjGsRJObIC5Rr5QRO0,26733
|
|
233
235
|
phoenix/trace/__init__.py,sha256=ujk_uYjM8gmm-YqnyXxF-kekfwid0bcaPMTtNNcaw6U,407
|
|
234
236
|
phoenix/trace/attributes.py,sha256=B_OrzVaxZwFkrAFXZyicYoIti1UdUysURsvUS2GyW1U,12488
|
|
235
237
|
phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
|
|
236
238
|
phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKyttYdw-ddvPOk,1048
|
|
237
239
|
phoenix/trace/exporter.py,sha256=eAYemdvDCHMugDJiaR29BFFMTQBdf3oerdkz34Cl3hE,4736
|
|
238
|
-
phoenix/trace/fixtures.py,sha256=
|
|
240
|
+
phoenix/trace/fixtures.py,sha256=LABY-H6BdDA-fS9dZ13uTovXCPTdfWcvU8HsJ_qPspc,14106
|
|
239
241
|
phoenix/trace/otel.py,sha256=WA720jvRadiZBAKjsYoPyXzypHwbyEK2OZRVUwtbjB8,9976
|
|
240
242
|
phoenix/trace/projects.py,sha256=2BwlNjFE-uwpqYtCu5YyBiYZk9wRPpM13vh3-Cv7GkA,2157
|
|
241
243
|
phoenix/trace/schemas.py,sha256=HpWSyzec0yDHEQXEDuwyLbhpvKrqkGps8BJqGiIFj8Y,5978
|
|
@@ -243,7 +245,7 @@ phoenix/trace/span_evaluations.py,sha256=GaADtJLi2njra4aYaie0BIwkSgdxPB_SNseglI4
|
|
|
243
245
|
phoenix/trace/span_json_decoder.py,sha256=jkpYSmOUsSptvahOvetrPjVkPIuI4h6b87eizL8wHp8,3230
|
|
244
246
|
phoenix/trace/span_json_encoder.py,sha256=tzSCIQJbeFBm33K68G8A5M12n_86tCDyuU0WAobxEz4,2010
|
|
245
247
|
phoenix/trace/trace_dataset.py,sha256=Wq89jJ4hYQ1Qt-Uj11ZNzKQYQeKmGY6NqWStQiiTlMw,14351
|
|
246
|
-
phoenix/trace/utils.py,sha256=
|
|
248
|
+
phoenix/trace/utils.py,sha256=1SEQr37cdHOM0P3BdL1dszArj3Zm-VJQyb1BcJs_qO8,1833
|
|
247
249
|
phoenix/trace/dsl/README.md,sha256=ihmP9zGUC5V-TDbzKla76LuyDqPDQIBUH2BORwxNI68,2902
|
|
248
250
|
phoenix/trace/dsl/__init__.py,sha256=WIQIjJg362XD3s50OsPJJ0xbDsGp41bSv7vDllLrPuA,144
|
|
249
251
|
phoenix/trace/dsl/filter.py,sha256=DTDERSAexxDbTy5QvC48NSKhnr2pfIRDZ4PS-s3ZW80,32642
|
|
@@ -259,15 +261,16 @@ phoenix/trace/v1/__init__.py,sha256=-IbAD0ruESMjvQLvGAg9CTfjBUATFDx1OXseDPis6-0,
|
|
|
259
261
|
phoenix/trace/v1/evaluation_pb2.py,sha256=8sXvv2BW_vqD30MOMbmkeE2zpmm7ncik21kl3e-HzeQ,2254
|
|
260
262
|
phoenix/trace/v1/evaluation_pb2.pyi,sha256=cCbbx06gwQmaH14s3J1X25TtaARh-k1abbxQdQCXGm8,4500
|
|
261
263
|
phoenix/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
264
|
+
phoenix/utilities/client.py,sha256=6Swxe4TVA481eKnmkCox83WY52b2nA-DWIzkkGu6wwo,4935
|
|
262
265
|
phoenix/utilities/deprecation.py,sha256=cFuTVvjSYyRlrdxdJewjJVieIEHPk30BukSRGRydQ3k,1046
|
|
263
266
|
phoenix/utilities/error_handling.py,sha256=7b5rpGFj9EWZ8yrZK1IHvxB89suWk3lggDayUQcvZds,1946
|
|
264
267
|
phoenix/utilities/json.py,sha256=y_w-McDfvlTeGJT28sCtyjzVkwFicakxERG-sGRc8Ak,1948
|
|
265
268
|
phoenix/utilities/logging.py,sha256=lDXd6EGaamBNcQxL4vP1au9-i_SXe0OraUDiJOcszSw,222
|
|
266
|
-
phoenix/utilities/project.py,sha256=
|
|
269
|
+
phoenix/utilities/project.py,sha256=8IJuMM4yUMoooPi37sictGj8Etu9rGmq6RFtc9848cQ,436
|
|
267
270
|
phoenix/utilities/re.py,sha256=PDve_OLjRTM8yQQJHC8-n3HdIONi7aNils3ZKRZ5uBM,2045
|
|
268
271
|
phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
269
|
-
arize_phoenix-4.
|
|
270
|
-
arize_phoenix-4.
|
|
271
|
-
arize_phoenix-4.
|
|
272
|
-
arize_phoenix-4.
|
|
273
|
-
arize_phoenix-4.
|
|
272
|
+
arize_phoenix-4.15.0.dist-info/METADATA,sha256=dGRIIc2CR5BuCgVqrzfF5kJphORO_AmyoqhVX7mVrS0,11775
|
|
273
|
+
arize_phoenix-4.15.0.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
274
|
+
arize_phoenix-4.15.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
|
|
275
|
+
arize_phoenix-4.15.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
|
|
276
|
+
arize_phoenix-4.15.0.dist-info/RECORD,,
|
phoenix/db/bulk_inserter.py
CHANGED
|
@@ -7,7 +7,6 @@ from itertools import islice
|
|
|
7
7
|
from time import perf_counter
|
|
8
8
|
from typing import (
|
|
9
9
|
Any,
|
|
10
|
-
AsyncContextManager,
|
|
11
10
|
Awaitable,
|
|
12
11
|
Callable,
|
|
13
12
|
Iterable,
|
|
@@ -19,7 +18,6 @@ from typing import (
|
|
|
19
18
|
)
|
|
20
19
|
|
|
21
20
|
from cachetools import LRUCache
|
|
22
|
-
from sqlalchemy.ext.asyncio import AsyncSession
|
|
23
21
|
from typing_extensions import TypeAlias
|
|
24
22
|
|
|
25
23
|
import phoenix.trace.v1 as pb
|
|
@@ -31,6 +29,7 @@ from phoenix.db.insertion.evaluation import (
|
|
|
31
29
|
from phoenix.db.insertion.helpers import DataManipulation, DataManipulationEvent
|
|
32
30
|
from phoenix.db.insertion.span import SpanInsertionEvent, insert_span
|
|
33
31
|
from phoenix.server.api.dataloaders import CacheForDataLoaders
|
|
32
|
+
from phoenix.server.types import DbSessionFactory
|
|
34
33
|
from phoenix.trace.schemas import Span
|
|
35
34
|
|
|
36
35
|
logger = logging.getLogger(__name__)
|
|
@@ -46,7 +45,7 @@ class TransactionResult:
|
|
|
46
45
|
class BulkInserter:
|
|
47
46
|
def __init__(
|
|
48
47
|
self,
|
|
49
|
-
db:
|
|
48
|
+
db: DbSessionFactory,
|
|
50
49
|
*,
|
|
51
50
|
cache_for_dataloaders: Optional[CacheForDataLoaders] = None,
|
|
52
51
|
initial_batch_of_operations: Iterable[DataManipulation] = (),
|
phoenix/db/engines.py
CHANGED
|
@@ -8,7 +8,7 @@ from typing import Any
|
|
|
8
8
|
import aiosqlite
|
|
9
9
|
import numpy as np
|
|
10
10
|
import sqlean
|
|
11
|
-
from sqlalchemy import URL, event, make_url
|
|
11
|
+
from sqlalchemy import URL, StaticPool, event, make_url
|
|
12
12
|
from sqlalchemy.ext.asyncio import AsyncEngine, create_async_engine
|
|
13
13
|
from typing_extensions import assert_never
|
|
14
14
|
|
|
@@ -105,6 +105,7 @@ def aio_sqlite_engine(
|
|
|
105
105
|
echo=echo,
|
|
106
106
|
json_serializer=_dumps,
|
|
107
107
|
async_creator=async_creator,
|
|
108
|
+
poolclass=StaticPool,
|
|
108
109
|
)
|
|
109
110
|
event.listen(engine.sync_engine, "connect", set_sqlite_pragma)
|
|
110
111
|
if not migrate:
|
phoenix/experiments/functions.py
CHANGED
|
@@ -72,15 +72,16 @@ from phoenix.experiments.types import (
|
|
|
72
72
|
)
|
|
73
73
|
from phoenix.experiments.utils import get_dataset_experiments_url, get_experiment_url, get_func_name
|
|
74
74
|
from phoenix.trace.attributes import flatten
|
|
75
|
+
from phoenix.utilities.client import VersionedAsyncClient, VersionedClient
|
|
75
76
|
from phoenix.utilities.json import jsonify
|
|
76
77
|
|
|
77
78
|
|
|
78
79
|
def _phoenix_clients() -> Tuple[httpx.Client, httpx.AsyncClient]:
|
|
79
80
|
headers = get_env_client_headers()
|
|
80
|
-
return
|
|
81
|
+
return VersionedClient(
|
|
81
82
|
base_url=get_base_url(),
|
|
82
83
|
headers=headers,
|
|
83
|
-
),
|
|
84
|
+
), VersionedAsyncClient(
|
|
84
85
|
base_url=get_base_url(),
|
|
85
86
|
headers=headers,
|
|
86
87
|
)
|
phoenix/server/api/context.py
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
from dataclasses import dataclass
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import
|
|
4
|
+
from typing import Callable, Optional
|
|
5
5
|
|
|
6
|
-
from
|
|
7
|
-
from starlette.requests import Request
|
|
8
|
-
from starlette.responses import Response
|
|
9
|
-
from starlette.websockets import WebSocket
|
|
6
|
+
from strawberry.fastapi import BaseContext
|
|
10
7
|
from typing_extensions import TypeAlias
|
|
11
8
|
|
|
12
9
|
from phoenix.core.model_schema import Model
|
|
@@ -28,6 +25,7 @@ from phoenix.server.api.dataloaders import (
|
|
|
28
25
|
ProjectByNameDataLoader,
|
|
29
26
|
RecordCountDataLoader,
|
|
30
27
|
SpanAnnotationsDataLoader,
|
|
28
|
+
SpanDatasetExamplesDataLoader,
|
|
31
29
|
SpanDescendantsDataLoader,
|
|
32
30
|
SpanEvaluationsDataLoader,
|
|
33
31
|
SpanProjectsDataLoader,
|
|
@@ -35,6 +33,7 @@ from phoenix.server.api.dataloaders import (
|
|
|
35
33
|
TraceEvaluationsDataLoader,
|
|
36
34
|
TraceRowIdsDataLoader,
|
|
37
35
|
)
|
|
36
|
+
from phoenix.server.types import DbSessionFactory
|
|
38
37
|
|
|
39
38
|
|
|
40
39
|
@dataclass
|
|
@@ -53,6 +52,7 @@ class DataLoaders:
|
|
|
53
52
|
latency_ms_quantile: LatencyMsQuantileDataLoader
|
|
54
53
|
min_start_or_max_end_times: MinStartOrMaxEndTimeDataLoader
|
|
55
54
|
record_counts: RecordCountDataLoader
|
|
55
|
+
span_dataset_examples: SpanDatasetExamplesDataLoader
|
|
56
56
|
span_descendants: SpanDescendantsDataLoader
|
|
57
57
|
span_evaluations: SpanEvaluationsDataLoader
|
|
58
58
|
span_projects: SpanProjectsDataLoader
|
|
@@ -67,10 +67,8 @@ ProjectRowId: TypeAlias = int
|
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
@dataclass
|
|
70
|
-
class Context:
|
|
71
|
-
|
|
72
|
-
response: Optional[Response]
|
|
73
|
-
db: Callable[[], AsyncContextManager[AsyncSession]]
|
|
70
|
+
class Context(BaseContext):
|
|
71
|
+
db: DbSessionFactory
|
|
74
72
|
data_loaders: DataLoaders
|
|
75
73
|
cache_for_dataloaders: Optional[CacheForDataLoaders]
|
|
76
74
|
model: Model
|
|
@@ -27,6 +27,7 @@ from .min_start_or_max_end_times import MinStartOrMaxEndTimeCache, MinStartOrMax
|
|
|
27
27
|
from .project_by_name import ProjectByNameDataLoader
|
|
28
28
|
from .record_counts import RecordCountCache, RecordCountDataLoader
|
|
29
29
|
from .span_annotations import SpanAnnotationsDataLoader
|
|
30
|
+
from .span_dataset_examples import SpanDatasetExamplesDataLoader
|
|
30
31
|
from .span_descendants import SpanDescendantsDataLoader
|
|
31
32
|
from .span_evaluations import SpanEvaluationsDataLoader
|
|
32
33
|
from .span_projects import SpanProjectsDataLoader
|
|
@@ -50,6 +51,7 @@ __all__ = [
|
|
|
50
51
|
"LatencyMsQuantileDataLoader",
|
|
51
52
|
"MinStartOrMaxEndTimeDataLoader",
|
|
52
53
|
"RecordCountDataLoader",
|
|
54
|
+
"SpanDatasetExamplesDataLoader",
|
|
53
55
|
"SpanDescendantsDataLoader",
|
|
54
56
|
"SpanEvaluationsDataLoader",
|
|
55
57
|
"SpanProjectsDataLoader",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
from typing import
|
|
1
|
+
from typing import List, Optional
|
|
2
2
|
|
|
3
3
|
from sqlalchemy import func, select
|
|
4
|
-
from sqlalchemy.ext.asyncio import AsyncSession
|
|
5
4
|
from strawberry.dataloader import DataLoader
|
|
6
5
|
from typing_extensions import TypeAlias
|
|
7
6
|
|
|
8
7
|
from phoenix.db import models
|
|
8
|
+
from phoenix.server.types import DbSessionFactory
|
|
9
9
|
|
|
10
10
|
ExperimentID: TypeAlias = int
|
|
11
11
|
RunLatency: TypeAlias = Optional[float]
|
|
@@ -16,7 +16,7 @@ Result: TypeAlias = RunLatency
|
|
|
16
16
|
class AverageExperimentRunLatencyDataLoader(DataLoader[Key, Result]):
|
|
17
17
|
def __init__(
|
|
18
18
|
self,
|
|
19
|
-
db:
|
|
19
|
+
db: DbSessionFactory,
|
|
20
20
|
) -> None:
|
|
21
21
|
super().__init__(load_fn=self._load_fn)
|
|
22
22
|
self._db = db
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
from typing import (
|
|
2
|
-
AsyncContextManager,
|
|
3
|
-
Callable,
|
|
4
2
|
List,
|
|
5
3
|
Optional,
|
|
6
4
|
Tuple,
|
|
@@ -8,12 +6,12 @@ from typing import (
|
|
|
8
6
|
)
|
|
9
7
|
|
|
10
8
|
from sqlalchemy import Integer, case, func, literal, or_, select, union
|
|
11
|
-
from sqlalchemy.ext.asyncio import AsyncSession
|
|
12
9
|
from strawberry.dataloader import DataLoader
|
|
13
10
|
from typing_extensions import TypeAlias
|
|
14
11
|
|
|
15
12
|
from phoenix.db import models
|
|
16
13
|
from phoenix.server.api.types.DatasetExampleRevision import DatasetExampleRevision
|
|
14
|
+
from phoenix.server.types import DbSessionFactory
|
|
17
15
|
|
|
18
16
|
ExampleID: TypeAlias = int
|
|
19
17
|
VersionID: TypeAlias = Optional[int]
|
|
@@ -22,7 +20,7 @@ Result: TypeAlias = DatasetExampleRevision
|
|
|
22
20
|
|
|
23
21
|
|
|
24
22
|
class DatasetExampleRevisionsDataLoader(DataLoader[Key, Result]):
|
|
25
|
-
def __init__(self, db:
|
|
23
|
+
def __init__(self, db: DbSessionFactory) -> None:
|
|
26
24
|
super().__init__(load_fn=self._load_fn)
|
|
27
25
|
self._db = db
|
|
28
26
|
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
from typing import (
|
|
2
|
-
AsyncContextManager,
|
|
3
|
-
Callable,
|
|
4
2
|
List,
|
|
5
3
|
Optional,
|
|
6
4
|
)
|
|
7
5
|
|
|
8
6
|
from sqlalchemy import select
|
|
9
|
-
from sqlalchemy.ext.asyncio import AsyncSession
|
|
10
7
|
from sqlalchemy.orm import joinedload
|
|
11
8
|
from strawberry.dataloader import DataLoader
|
|
12
9
|
from typing_extensions import TypeAlias
|
|
13
10
|
|
|
14
11
|
from phoenix.db import models
|
|
12
|
+
from phoenix.server.types import DbSessionFactory
|
|
15
13
|
|
|
16
14
|
ExampleID: TypeAlias = int
|
|
17
15
|
Key: TypeAlias = ExampleID
|
|
@@ -19,7 +17,7 @@ Result: TypeAlias = Optional[models.Span]
|
|
|
19
17
|
|
|
20
18
|
|
|
21
19
|
class DatasetExampleSpansDataLoader(DataLoader[Key, Result]):
|
|
22
|
-
def __init__(self, db:
|
|
20
|
+
def __init__(self, db: DbSessionFactory) -> None:
|
|
23
21
|
super().__init__(load_fn=self._load_fn)
|
|
24
22
|
self._db = db
|
|
25
23
|
|
|
@@ -2,8 +2,6 @@ from collections import defaultdict
|
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
from typing import (
|
|
4
4
|
Any,
|
|
5
|
-
AsyncContextManager,
|
|
6
|
-
Callable,
|
|
7
5
|
DefaultDict,
|
|
8
6
|
List,
|
|
9
7
|
Optional,
|
|
@@ -14,7 +12,6 @@ import numpy as np
|
|
|
14
12
|
from aioitertools.itertools import groupby
|
|
15
13
|
from cachetools import LFUCache, TTLCache
|
|
16
14
|
from sqlalchemy import Select, select
|
|
17
|
-
from sqlalchemy.ext.asyncio import AsyncSession
|
|
18
15
|
from strawberry.dataloader import AbstractCache, DataLoader
|
|
19
16
|
from typing_extensions import TypeAlias
|
|
20
17
|
|
|
@@ -24,6 +21,7 @@ from phoenix.metrics.retrieval_metrics import RetrievalMetrics
|
|
|
24
21
|
from phoenix.server.api.dataloaders.cache import TwoTierCache
|
|
25
22
|
from phoenix.server.api.input_types.TimeRange import TimeRange
|
|
26
23
|
from phoenix.server.api.types.DocumentEvaluationSummary import DocumentEvaluationSummary
|
|
24
|
+
from phoenix.server.types import DbSessionFactory
|
|
27
25
|
from phoenix.trace.dsl import SpanFilter
|
|
28
26
|
|
|
29
27
|
ProjectRowId: TypeAlias = int
|
|
@@ -77,7 +75,7 @@ class DocumentEvaluationSummaryCache(
|
|
|
77
75
|
class DocumentEvaluationSummaryDataLoader(DataLoader[Key, Result]):
|
|
78
76
|
def __init__(
|
|
79
77
|
self,
|
|
80
|
-
db:
|
|
78
|
+
db: DbSessionFactory,
|
|
81
79
|
cache_map: Optional[AbstractCache[Key, Result]] = None,
|
|
82
80
|
) -> None:
|
|
83
81
|
super().__init__(
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
from collections import defaultdict
|
|
2
2
|
from typing import (
|
|
3
|
-
AsyncContextManager,
|
|
4
|
-
Callable,
|
|
5
3
|
DefaultDict,
|
|
6
4
|
List,
|
|
7
5
|
)
|
|
8
6
|
|
|
9
7
|
from sqlalchemy import select
|
|
10
|
-
from sqlalchemy.ext.asyncio import AsyncSession
|
|
11
8
|
from strawberry.dataloader import DataLoader
|
|
12
9
|
from typing_extensions import TypeAlias
|
|
13
10
|
|
|
14
11
|
from phoenix.db import models
|
|
15
12
|
from phoenix.server.api.types.Evaluation import DocumentEvaluation
|
|
13
|
+
from phoenix.server.types import DbSessionFactory
|
|
16
14
|
|
|
17
15
|
Key: TypeAlias = int
|
|
18
16
|
Result: TypeAlias = List[DocumentEvaluation]
|
|
19
17
|
|
|
20
18
|
|
|
21
19
|
class DocumentEvaluationsDataLoader(DataLoader[Key, Result]):
|
|
22
|
-
def __init__(self, db:
|
|
20
|
+
def __init__(self, db: DbSessionFactory) -> None:
|
|
23
21
|
super().__init__(load_fn=self._load_fn)
|
|
24
22
|
self._db = db
|
|
25
23
|
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
from collections import defaultdict
|
|
2
2
|
from typing import (
|
|
3
|
-
AsyncContextManager,
|
|
4
|
-
Callable,
|
|
5
3
|
DefaultDict,
|
|
6
4
|
Dict,
|
|
7
5
|
List,
|
|
@@ -13,13 +11,13 @@ from typing import (
|
|
|
13
11
|
import numpy as np
|
|
14
12
|
from aioitertools.itertools import groupby
|
|
15
13
|
from sqlalchemy import select
|
|
16
|
-
from sqlalchemy.ext.asyncio import AsyncSession
|
|
17
14
|
from strawberry.dataloader import DataLoader
|
|
18
15
|
from typing_extensions import TypeAlias
|
|
19
16
|
|
|
20
17
|
from phoenix.db import models
|
|
21
18
|
from phoenix.metrics.retrieval_metrics import RetrievalMetrics
|
|
22
19
|
from phoenix.server.api.types.DocumentRetrievalMetrics import DocumentRetrievalMetrics
|
|
20
|
+
from phoenix.server.types import DbSessionFactory
|
|
23
21
|
|
|
24
22
|
RowId: TypeAlias = int
|
|
25
23
|
NumDocs: TypeAlias = int
|
|
@@ -30,7 +28,7 @@ Result: TypeAlias = List[DocumentRetrievalMetrics]
|
|
|
30
28
|
|
|
31
29
|
|
|
32
30
|
class DocumentRetrievalMetricsDataLoader(DataLoader[Key, Result]):
|
|
33
|
-
def __init__(self, db:
|
|
31
|
+
def __init__(self, db: DbSessionFactory) -> None:
|
|
34
32
|
super().__init__(load_fn=self._load_fn)
|
|
35
33
|
self._db = db
|
|
36
34
|
|
|
@@ -2,8 +2,6 @@ from collections import defaultdict
|
|
|
2
2
|
from datetime import datetime
|
|
3
3
|
from typing import (
|
|
4
4
|
Any,
|
|
5
|
-
AsyncContextManager,
|
|
6
|
-
Callable,
|
|
7
5
|
DefaultDict,
|
|
8
6
|
List,
|
|
9
7
|
Literal,
|
|
@@ -15,7 +13,6 @@ import pandas as pd
|
|
|
15
13
|
from aioitertools.itertools import groupby
|
|
16
14
|
from cachetools import LFUCache, TTLCache
|
|
17
15
|
from sqlalchemy import Select, func, or_, select
|
|
18
|
-
from sqlalchemy.ext.asyncio import AsyncSession
|
|
19
16
|
from strawberry.dataloader import AbstractCache, DataLoader
|
|
20
17
|
from typing_extensions import TypeAlias, assert_never
|
|
21
18
|
|
|
@@ -23,6 +20,7 @@ from phoenix.db import models
|
|
|
23
20
|
from phoenix.server.api.dataloaders.cache import TwoTierCache
|
|
24
21
|
from phoenix.server.api.input_types.TimeRange import TimeRange
|
|
25
22
|
from phoenix.server.api.types.EvaluationSummary import EvaluationSummary
|
|
23
|
+
from phoenix.server.types import DbSessionFactory
|
|
26
24
|
from phoenix.trace.dsl import SpanFilter
|
|
27
25
|
|
|
28
26
|
Kind: TypeAlias = Literal["span", "trace"]
|
|
@@ -77,7 +75,7 @@ class EvaluationSummaryCache(
|
|
|
77
75
|
class EvaluationSummaryDataLoader(DataLoader[Key, Result]):
|
|
78
76
|
def __init__(
|
|
79
77
|
self,
|
|
80
|
-
db:
|
|
78
|
+
db: DbSessionFactory,
|
|
81
79
|
cache_map: Optional[AbstractCache[Key, Result]] = None,
|
|
82
80
|
) -> None:
|
|
83
81
|
super().__init__(
|