arize-phoenix 4.12.1rc1__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.12.1rc1.dist-info → arize_phoenix-4.15.0.dist-info}/METADATA +10 -6
- {arize_phoenix-4.12.1rc1.dist-info → arize_phoenix-4.15.0.dist-info}/RECORD +70 -68
- phoenix/db/bulk_inserter.py +5 -4
- phoenix/db/engines.py +2 -1
- phoenix/experiments/evaluators/base.py +4 -0
- phoenix/experiments/evaluators/code_evaluators.py +80 -0
- phoenix/experiments/evaluators/llm_evaluators.py +77 -1
- phoenix/experiments/evaluators/utils.py +70 -21
- phoenix/experiments/functions.py +17 -16
- phoenix/server/api/context.py +5 -3
- phoenix/server/api/dataloaders/__init__.py +2 -0
- phoenix/server/api/dataloaders/average_experiment_run_latency.py +25 -25
- 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 +32 -14
- phoenix/server/api/dataloaders/experiment_run_counts.py +20 -9
- 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/input_types/{CreateSpanAnnotationsInput.py → CreateSpanAnnotationInput.py} +4 -2
- phoenix/server/api/input_types/{CreateTraceAnnotationsInput.py → CreateTraceAnnotationInput.py} +4 -2
- phoenix/server/api/input_types/{PatchAnnotationsInput.py → PatchAnnotationInput.py} +4 -2
- phoenix/server/api/mutations/span_annotations_mutations.py +20 -9
- phoenix/server/api/mutations/trace_annotations_mutations.py +20 -9
- phoenix/server/api/routers/v1/datasets.py +132 -10
- phoenix/server/api/routers/v1/evaluations.py +3 -5
- phoenix/server/api/routers/v1/experiments.py +1 -1
- phoenix/server/api/types/Experiment.py +2 -2
- phoenix/server/api/types/Inferences.py +1 -2
- phoenix/server/api/types/Model.py +1 -2
- phoenix/server/api/types/Span.py +5 -0
- phoenix/server/api/utils.py +4 -4
- phoenix/server/app.py +21 -18
- 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-C8sm_r1F.js → components-kGgeFkHp.js} +150 -110
- phoenix/server/static/assets/index-BctFO6S7.js +100 -0
- phoenix/server/static/assets/{pages-bN7juCjh.js → pages-DabDCmVd.js} +432 -255
- phoenix/server/static/assets/{vendor-CUDAPm8e.js → vendor-CP0b0YG0.js} +2 -2
- phoenix/server/static/assets/{vendor-arizeai-Do2HOmcL.js → vendor-arizeai-B5Hti8OB.js} +27 -27
- phoenix/server/static/assets/vendor-codemirror-DtdPDzrv.js +15 -0
- phoenix/server/static/assets/{vendor-recharts-PKRvByVe.js → vendor-recharts-A0DA1O99.js} +1 -1
- phoenix/server/types.py +18 -0
- phoenix/session/client.py +9 -6
- phoenix/session/session.py +2 -2
- phoenix/trace/dsl/filter.py +40 -25
- 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 -157
- phoenix/server/static/assets/index-BEKPzgQs.js +0 -100
- phoenix/server/static/assets/vendor-codemirror-CrdxOlMs.js +0 -12
- {arize_phoenix-4.12.1rc1.dist-info → arize_phoenix-4.15.0.dist-info}/WHEEL +0 -0
- {arize_phoenix-4.12.1rc1.dist-info → arize_phoenix-4.15.0.dist-info}/licenses/IP_NOTICE +0 -0
- {arize_phoenix-4.12.1rc1.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
|
|
@@ -48,7 +48,7 @@ Requires-Dist: scipy
|
|
|
48
48
|
Requires-Dist: sqlalchemy[asyncio]<3,>=2.0.4
|
|
49
49
|
Requires-Dist: sqlean-py>=3.45.1
|
|
50
50
|
Requires-Dist: starlette
|
|
51
|
-
Requires-Dist: strawberry-graphql==0.
|
|
51
|
+
Requires-Dist: strawberry-graphql==0.236.0
|
|
52
52
|
Requires-Dist: tqdm
|
|
53
53
|
Requires-Dist: typing-extensions>=4.5; python_version < '3.12'
|
|
54
54
|
Requires-Dist: typing-extensions>=4.6; python_version >= '3.12'
|
|
@@ -65,11 +65,12 @@ Requires-Dist: opentelemetry-sdk; extra == 'container'
|
|
|
65
65
|
Requires-Dist: opentelemetry-semantic-conventions; extra == 'container'
|
|
66
66
|
Requires-Dist: prometheus-client; extra == 'container'
|
|
67
67
|
Requires-Dist: py-grpc-prometheus; extra == 'container'
|
|
68
|
-
Requires-Dist: strawberry-graphql[opentelemetry]==0.
|
|
68
|
+
Requires-Dist: strawberry-graphql[opentelemetry]==0.236.0; extra == 'container'
|
|
69
69
|
Requires-Dist: uvloop; (platform_system != 'Windows') and extra == 'container'
|
|
70
70
|
Provides-Extra: dev
|
|
71
71
|
Requires-Dist: anthropic; extra == 'dev'
|
|
72
72
|
Requires-Dist: arize[autoembeddings,llm-evaluation]; extra == 'dev'
|
|
73
|
+
Requires-Dist: asgi-lifespan; extra == 'dev'
|
|
73
74
|
Requires-Dist: asyncpg; extra == 'dev'
|
|
74
75
|
Requires-Dist: gcsfs; extra == 'dev'
|
|
75
76
|
Requires-Dist: google-cloud-aiplatform>=1.3; extra == 'dev'
|
|
@@ -78,6 +79,7 @@ Requires-Dist: jupyter; extra == 'dev'
|
|
|
78
79
|
Requires-Dist: langchain>=0.0.334; extra == 'dev'
|
|
79
80
|
Requires-Dist: litellm>=1.0.3; extra == 'dev'
|
|
80
81
|
Requires-Dist: llama-index>=0.10.3; extra == 'dev'
|
|
82
|
+
Requires-Dist: mypy==1.11.0; extra == 'dev'
|
|
81
83
|
Requires-Dist: nbqa; extra == 'dev'
|
|
82
84
|
Requires-Dist: pandas-stubs==2.0.3.230814; (python_version < '3.9') and extra == 'dev'
|
|
83
85
|
Requires-Dist: pandas-stubs==2.2.2.240603; (python_version >= '3.9') and extra == 'dev'
|
|
@@ -88,9 +90,9 @@ Requires-Dist: psycopg[binary]; extra == 'dev'
|
|
|
88
90
|
Requires-Dist: pytest-asyncio; extra == 'dev'
|
|
89
91
|
Requires-Dist: pytest-cov; extra == 'dev'
|
|
90
92
|
Requires-Dist: pytest-postgresql; extra == 'dev'
|
|
91
|
-
Requires-Dist: pytest==8.
|
|
92
|
-
Requires-Dist: ruff==0.4
|
|
93
|
-
Requires-Dist: strawberry-graphql[debug-server,opentelemetry]==0.
|
|
93
|
+
Requires-Dist: pytest==8.3.1; extra == 'dev'
|
|
94
|
+
Requires-Dist: ruff==0.5.4; extra == 'dev'
|
|
95
|
+
Requires-Dist: strawberry-graphql[debug-server,opentelemetry]==0.236.0; extra == 'dev'
|
|
94
96
|
Requires-Dist: tabulate; extra == 'dev'
|
|
95
97
|
Requires-Dist: types-tabulate; extra == 'dev'
|
|
96
98
|
Provides-Extra: evals
|
|
@@ -138,6 +140,8 @@ Phoenix is an open-source AI observability platform designed for experimentation
|
|
|
138
140
|
|
|
139
141
|
- **_Tracing_** - Trace your LLM application's runtime using OpenTelemetry-based instrumentation.
|
|
140
142
|
- **_Evaluation_** - Leverage LLMs to benchmark your application's performance using response and retrieval evals.
|
|
143
|
+
- **_Datasets_** - Create versioned datasets of examples for experimentation, evaluation, and fine-tuning.
|
|
144
|
+
- **_Experiments_** - Track and evaluate changes to prompts, LLMs, and retrieval.
|
|
141
145
|
- **_Inference Analysis_** - Visualize inferences and embeddings using dimensionality reduction and clustering to identify drift and performance degradation.
|
|
142
146
|
|
|
143
147
|
Phoenix is vendor and language agnostic with out-of-the-box support for popular frameworks (🦙LlamaIndex, 🦜⛓LangChain, 🧩DSPy) and LLM providers (OpenAI, Bedrock, and more). For details on auto-instrumentation, check out the [OpenInference](https://github.com/Arize-ai/openinference) project.
|
|
@@ -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,15 +31,15 @@ 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
|
|
38
38
|
phoenix/experiments/evaluators/__init__.py,sha256=j63fi3fa3U7-itVPHa82GowhjQRU-wO6yhO34u_lhsA,714
|
|
39
|
-
phoenix/experiments/evaluators/base.py,sha256=
|
|
40
|
-
phoenix/experiments/evaluators/code_evaluators.py,sha256=
|
|
41
|
-
phoenix/experiments/evaluators/llm_evaluators.py,sha256=
|
|
42
|
-
phoenix/experiments/evaluators/utils.py,sha256=
|
|
39
|
+
phoenix/experiments/evaluators/base.py,sha256=jAwJs-V7jCp2UBChL0S3813Xyd9GN4rU4IEhX0nkFGs,5549
|
|
40
|
+
phoenix/experiments/evaluators/code_evaluators.py,sha256=O7ZtFk7ZEf3OjgrZeJTIDKeYfcQet8omlGG0s9vEywQ,6683
|
|
41
|
+
phoenix/experiments/evaluators/llm_evaluators.py,sha256=zyGhxXBDNi1qoj_8I95PRSwjfVaCzpFoAVUQeFT0XSM,13176
|
|
42
|
+
phoenix/experiments/evaluators/utils.py,sha256=XYqB0bOljyR0GewmR_mm9Ndl_q95EkjjDqfXd7YVqTk,9303
|
|
43
43
|
phoenix/inferences/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
44
44
|
phoenix/inferences/errors.py,sha256=cGp9vxnw4SewFoWBV3ZGMkhE0Kh73lPIv3Ppz_H_RoA,8261
|
|
45
45
|
phoenix/inferences/fixtures.py,sha256=FC2eRL4dpobKQHYOilFtDexUWFkMZ_w6jun_4WkbMk0,20792
|
|
@@ -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
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
|
|
@@ -105,8 +107,8 @@ phoenix/server/api/input_types/ClearProjectInput.py,sha256=cpPFRyQ3ffy2dLbCZgYpw
|
|
|
105
107
|
phoenix/server/api/input_types/ClusterInput.py,sha256=EL4ftvZxQ8mVdruUPcdhMhByORmSmM8S-X6RPqU6GX0,179
|
|
106
108
|
phoenix/server/api/input_types/Coordinates.py,sha256=meTwbIjwTfqx5DGD2DBlH9wQzdQVNM5a8x9dp1FfIgA,173
|
|
107
109
|
phoenix/server/api/input_types/CreateDatasetInput.py,sha256=Q3MwouIx9jTQBRWDju75iMQXEGJCrL4aD4ESQp771nc,248
|
|
108
|
-
phoenix/server/api/input_types/
|
|
109
|
-
phoenix/server/api/input_types/
|
|
110
|
+
phoenix/server/api/input_types/CreateSpanAnnotationInput.py,sha256=bKgT7bdA9-gYpJmqnMq9TEfjNDEYoldc17EjAglXVlU,474
|
|
111
|
+
phoenix/server/api/input_types/CreateTraceAnnotationInput.py,sha256=iSukKAxt-gTTykpkttse3MVOTD3AOk6fWD-N5PaZ2yY,476
|
|
110
112
|
phoenix/server/api/input_types/DataQualityMetricInput.py,sha256=LazvmQCCM5m9SDZTpyxQXO1rYF4cmsc3lsR2S9S65X4,1292
|
|
111
113
|
phoenix/server/api/input_types/DatasetExampleInput.py,sha256=9oJ6pCFxFd02IWJuK4YAUvz-jCgFGDUCDDb2--GAzCw,289
|
|
112
114
|
phoenix/server/api/input_types/DatasetSort.py,sha256=KDKjx5L8WFNwx7O-g1pDzCMMwY-ErgDd1_HkkZBAvCY,333
|
|
@@ -118,7 +120,7 @@ phoenix/server/api/input_types/DeleteExperimentsInput.py,sha256=yUbwMckIBvIL-R9t
|
|
|
118
120
|
phoenix/server/api/input_types/DimensionFilter.py,sha256=vcXgglSnZcB5pGh-6oEtRmGx95hISgFUR7BEPw01g7U,3143
|
|
119
121
|
phoenix/server/api/input_types/DimensionInput.py,sha256=Vfx5FmiMKey4-EHDQsQRPzSAMRJMN5oVMLDUl4NKAa8,164
|
|
120
122
|
phoenix/server/api/input_types/Granularity.py,sha256=6SVfZ5yTZYq1PI6vdpjfkBUc4YilLSkF-k6okuSNbbQ,2301
|
|
121
|
-
phoenix/server/api/input_types/
|
|
123
|
+
phoenix/server/api/input_types/PatchAnnotationInput.py,sha256=NWhkcbcGNPwfOYsN3wm5YFNNrSc5T-8Y5my74RK99HE,520
|
|
122
124
|
phoenix/server/api/input_types/PatchDatasetExamplesInput.py,sha256=E86aBGXDBC83jiEGwV5rilnoeQf6eqCfZ0aAVeIt2VI,890
|
|
123
125
|
phoenix/server/api/input_types/PatchDatasetInput.py,sha256=OURtTVY8Z_oFEDtKwT1LCMaOK5D4QYo5TVQ6mDrex-g,328
|
|
124
126
|
phoenix/server/api/input_types/PerformanceMetricInput.py,sha256=fElsLTSEYYgGFGMYTEGcYid39tXUKFdV_JkdHavMcbA,591
|
|
@@ -131,20 +133,19 @@ 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
139
|
phoenix/server/api/openapi/main.py,sha256=KNutA_7AvV_WlGX8cOkvvDujcJKQ7AD1HT6rTpCpR8A,616
|
|
138
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
143
|
phoenix/server/api/routers/v1/__init__.py,sha256=nb49zcOdAi3DSGuC9gUubN9Yri-o7-WFdlGak4jGuFw,1462
|
|
142
|
-
phoenix/server/api/routers/v1/
|
|
143
|
-
phoenix/server/api/routers/v1/
|
|
144
|
-
phoenix/server/api/routers/v1/evaluations.py,sha256=xNhS_VOA8S0BIijb1NSAOW677PzLOVl39Fl00g_T7Vo,9553
|
|
144
|
+
phoenix/server/api/routers/v1/datasets.py,sha256=QG6QeyfPi1tfBvVoa3jpNOcwtR5ntNfd3IW9rzP735Q,36920
|
|
145
|
+
phoenix/server/api/routers/v1/evaluations.py,sha256=xfBoieGa9bmkvomJFfveGIS6LcC4AgjS4OeoUsTlJWk,9484
|
|
145
146
|
phoenix/server/api/routers/v1/experiment_evaluations.py,sha256=xoVhU71U3c1QJSXiKsAa4yiH-UAqkyVc7uKPyIHjrYY,4682
|
|
146
147
|
phoenix/server/api/routers/v1/experiment_runs.py,sha256=7qvLYgqH58nxqhTnJ0hPf0PBfVmZnbxquodSnEGoQxk,6059
|
|
147
|
-
phoenix/server/api/routers/v1/experiments.py,sha256=
|
|
148
|
+
phoenix/server/api/routers/v1/experiments.py,sha256=AFJb8Pi6SDKbIbkDRWUtPjikZIoRhc7cFLWm40l3mPk,9817
|
|
148
149
|
phoenix/server/api/routers/v1/pydantic_compat.py,sha256=FeK8oe2brqu-djsoqRxiKL4tw5cHmi89OHVfCFxYsAo,2890
|
|
149
150
|
phoenix/server/api/routers/v1/spans.py,sha256=yMs3Sm6s6JLV2nlmpnQ-ZJ_In0aTY5M3uOlLi-Wzb9c,8967
|
|
150
151
|
phoenix/server/api/routers/v1/traces.py,sha256=Zl_hGHd-4rA0tXegH_GVoN9Ij84vbPB8oHu28fzGHA8,8029
|
|
@@ -173,17 +174,17 @@ phoenix/server/api/types/EvaluationSummary.py,sha256=EFucuzAhcxR9sdEn6WNAtmAGJk-
|
|
|
173
174
|
phoenix/server/api/types/Event.py,sha256=XdYgaIxcVIW-YFViCkxj5l9OaVNepyIrCtm5Iqg2le8,3989
|
|
174
175
|
phoenix/server/api/types/EventMetadata.py,sha256=-J0tYF9eZTHwCjwxQHY7Gckr2_MNW5OoWT1mydweZNM,635
|
|
175
176
|
phoenix/server/api/types/ExampleRevisionInterface.py,sha256=gV3Gt9-3Oi5wjaVtepC6nOt3FzTzZFD1KebNnqiw56E,294
|
|
176
|
-
phoenix/server/api/types/Experiment.py,sha256=
|
|
177
|
+
phoenix/server/api/types/Experiment.py,sha256=K-3w6dniPRSMO4v-4ToDRwH2xr4fPaDumoyeT4We7g4,5228
|
|
177
178
|
phoenix/server/api/types/ExperimentAnnotationSummary.py,sha256=Uk3JtxIrsMoZT5tqc4nJdUOM3XegVzjUyoV3pkjNotE,256
|
|
178
179
|
phoenix/server/api/types/ExperimentComparison.py,sha256=0sFz6MoBDw39dds0qVyaqhVs9qqO5rkG1FMSjmfBeCc,441
|
|
179
180
|
phoenix/server/api/types/ExperimentRun.py,sha256=122_SID7SLKPUq2dJ2Y4BBw40DNUtcxo6QCZuO8UbBs,2997
|
|
180
181
|
phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=iBxDaD9DgiF-Qymp5QyxWfJRGYXM1_CeWA_qzsZBqkI,1812
|
|
181
182
|
phoenix/server/api/types/ExportedFile.py,sha256=e3GTn7B5LgsTbqiwjhMCQH7VsiqXitrBO4aCMS1lHsg,163
|
|
182
183
|
phoenix/server/api/types/Functionality.py,sha256=tzV9xdhB8zqfsjWxP66NDC7EZsplYkYO7jRbLWJIeeg,382
|
|
183
|
-
phoenix/server/api/types/Inferences.py,sha256=
|
|
184
|
+
phoenix/server/api/types/Inferences.py,sha256=BOMlOSsRtUV9XQxpnjmZxdBcJ1w-t9PiFfVOSTS160E,3367
|
|
184
185
|
phoenix/server/api/types/InferencesRole.py,sha256=Kj9aiXOpGhpeg9PHd9MDU7aXVIT28EjJxr4P6xybfzc,601
|
|
185
186
|
phoenix/server/api/types/MimeType.py,sha256=Zpi6zCalkSFgsvhzvOs-O1gYA04usAi9H__QZUmFlO0,365
|
|
186
|
-
phoenix/server/api/types/Model.py,sha256=
|
|
187
|
+
phoenix/server/api/types/Model.py,sha256=BRIzH5xSGiDrAUYvhwDpwxT6--ddS3Xr3vCvP8_vzdo,8051
|
|
187
188
|
phoenix/server/api/types/NumericRange.py,sha256=afEjgF97Go_OvmjMggbPBt-zGM8IONewAyEiKEHRds0,192
|
|
188
189
|
phoenix/server/api/types/PerformanceMetric.py,sha256=W92B7OghEOgzFvmY0LCqpgavHaQggTGshdgfD0yqHX4,350
|
|
189
190
|
phoenix/server/api/types/Project.py,sha256=R2_nart3H4m8QYRbBe-SRnYvIjH4BCipcj_tKe6GaC8,14516
|
|
@@ -192,7 +193,7 @@ phoenix/server/api/types/Retrieval.py,sha256=OhMK2ncjoyp5h1yjKhjlKpoTbQrMHuxmgSF
|
|
|
192
193
|
phoenix/server/api/types/ScalarDriftMetricEnum.py,sha256=IUAcRPpgL41WdoIgK6cNk2Te38SspXGyEs-S1fY23_A,232
|
|
193
194
|
phoenix/server/api/types/Segments.py,sha256=m2yoegrxA1Tn7ZAy1rMjjD1isc752MaAXMoffkBlvrM,2921
|
|
194
195
|
phoenix/server/api/types/SortDir.py,sha256=OUpXhlCzCxPoXSDkJJygEs9Rw9pMymfaZUG5zPTrw4Y,152
|
|
195
|
-
phoenix/server/api/types/Span.py,sha256=
|
|
196
|
+
phoenix/server/api/types/Span.py,sha256=0Ka8usQ8RscoeqZfz_AEHpfI2BXy0Q7caIAyo8LBc38,14511
|
|
196
197
|
phoenix/server/api/types/SpanAnnotation.py,sha256=6b5G-b_OoRvDL2ayWk7MkbqarLK-F-pQMx21CpUuNGY,1168
|
|
197
198
|
phoenix/server/api/types/TimeSeries.py,sha256=wjzuxHFqCey0O7Ys25qiXyuqXK8an-osyNWUE8A_8G4,5227
|
|
198
199
|
phoenix/server/api/types/Trace.py,sha256=ep-mPexub1ijxAnBvc2KrGsNVXO2SfDR1WxqER2wcD8,2376
|
|
@@ -214,29 +215,29 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
|
|
|
214
215
|
phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
|
|
215
216
|
phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
|
|
216
217
|
phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
|
|
217
|
-
phoenix/server/static/.vite/manifest.json,sha256=
|
|
218
|
-
phoenix/server/static/assets/components-
|
|
219
|
-
phoenix/server/static/assets/index-
|
|
220
|
-
phoenix/server/static/assets/pages-
|
|
221
|
-
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
|
|
222
223
|
phoenix/server/static/assets/vendor-DxkFTwjz.css,sha256=nZrkr0u6NNElFGvpWHk9GTHeGoibCXCli1bE7mXZGZg,1816
|
|
223
|
-
phoenix/server/static/assets/vendor-arizeai-
|
|
224
|
-
phoenix/server/static/assets/vendor-codemirror-
|
|
225
|
-
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
|
|
226
227
|
phoenix/server/static/assets/vendor-three-DwGkEfCM.js,sha256=0D12ZgKzfKCTSdSTKJBFR2RZO_xxeMXrqDp0AszZqHY,620972
|
|
227
228
|
phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
228
229
|
phoenix/server/templates/index.html,sha256=gVpjB8pCMiubdMh2DA9mTCtV5AVTXJH_9u5PmG2t7Vk,4238
|
|
229
230
|
phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
230
|
-
phoenix/session/client.py,sha256=
|
|
231
|
+
phoenix/session/client.py,sha256=RSaEALbFu-En5oJLv7K4BmwdkrsIC5ZbjMX7Mlny8_Y,32665
|
|
231
232
|
phoenix/session/data_extractor.py,sha256=gkEM3WWZAlWGMfRgQopAQlid4cSi6GNco-sdrGir0qc,2788
|
|
232
233
|
phoenix/session/evaluation.py,sha256=aKeV8UVOyq3b7CYOwt3cWuLz0xzvMjX7vlEPILJ_fcs,5311
|
|
233
|
-
phoenix/session/session.py,sha256=
|
|
234
|
+
phoenix/session/session.py,sha256=RstuZpkdZcuyZXhWdY59YOr46wjGsRJObIC5Rr5QRO0,26733
|
|
234
235
|
phoenix/trace/__init__.py,sha256=ujk_uYjM8gmm-YqnyXxF-kekfwid0bcaPMTtNNcaw6U,407
|
|
235
236
|
phoenix/trace/attributes.py,sha256=B_OrzVaxZwFkrAFXZyicYoIti1UdUysURsvUS2GyW1U,12488
|
|
236
237
|
phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
|
|
237
238
|
phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKyttYdw-ddvPOk,1048
|
|
238
239
|
phoenix/trace/exporter.py,sha256=eAYemdvDCHMugDJiaR29BFFMTQBdf3oerdkz34Cl3hE,4736
|
|
239
|
-
phoenix/trace/fixtures.py,sha256=
|
|
240
|
+
phoenix/trace/fixtures.py,sha256=LABY-H6BdDA-fS9dZ13uTovXCPTdfWcvU8HsJ_qPspc,14106
|
|
240
241
|
phoenix/trace/otel.py,sha256=WA720jvRadiZBAKjsYoPyXzypHwbyEK2OZRVUwtbjB8,9976
|
|
241
242
|
phoenix/trace/projects.py,sha256=2BwlNjFE-uwpqYtCu5YyBiYZk9wRPpM13vh3-Cv7GkA,2157
|
|
242
243
|
phoenix/trace/schemas.py,sha256=HpWSyzec0yDHEQXEDuwyLbhpvKrqkGps8BJqGiIFj8Y,5978
|
|
@@ -244,10 +245,10 @@ phoenix/trace/span_evaluations.py,sha256=GaADtJLi2njra4aYaie0BIwkSgdxPB_SNseglI4
|
|
|
244
245
|
phoenix/trace/span_json_decoder.py,sha256=jkpYSmOUsSptvahOvetrPjVkPIuI4h6b87eizL8wHp8,3230
|
|
245
246
|
phoenix/trace/span_json_encoder.py,sha256=tzSCIQJbeFBm33K68G8A5M12n_86tCDyuU0WAobxEz4,2010
|
|
246
247
|
phoenix/trace/trace_dataset.py,sha256=Wq89jJ4hYQ1Qt-Uj11ZNzKQYQeKmGY6NqWStQiiTlMw,14351
|
|
247
|
-
phoenix/trace/utils.py,sha256=
|
|
248
|
+
phoenix/trace/utils.py,sha256=1SEQr37cdHOM0P3BdL1dszArj3Zm-VJQyb1BcJs_qO8,1833
|
|
248
249
|
phoenix/trace/dsl/README.md,sha256=ihmP9zGUC5V-TDbzKla76LuyDqPDQIBUH2BORwxNI68,2902
|
|
249
250
|
phoenix/trace/dsl/__init__.py,sha256=WIQIjJg362XD3s50OsPJJ0xbDsGp41bSv7vDllLrPuA,144
|
|
250
|
-
phoenix/trace/dsl/filter.py,sha256=
|
|
251
|
+
phoenix/trace/dsl/filter.py,sha256=DTDERSAexxDbTy5QvC48NSKhnr2pfIRDZ4PS-s3ZW80,32642
|
|
251
252
|
phoenix/trace/dsl/helpers.py,sha256=ULAhqWULPqYWCSNX7y50DVKIqfySx86nqb6hDvZPnVk,3896
|
|
252
253
|
phoenix/trace/dsl/query.py,sha256=W0t-tiXh2WIVb96lzFAGQOQ-U46uKux78d4KL3rW-PE,30316
|
|
253
254
|
phoenix/trace/langchain/__init__.py,sha256=F37GfD1pd5Kuw7R7iRUM1zXXpO8xEcycNZh5dwqBXNk,109
|
|
@@ -260,15 +261,16 @@ phoenix/trace/v1/__init__.py,sha256=-IbAD0ruESMjvQLvGAg9CTfjBUATFDx1OXseDPis6-0,
|
|
|
260
261
|
phoenix/trace/v1/evaluation_pb2.py,sha256=8sXvv2BW_vqD30MOMbmkeE2zpmm7ncik21kl3e-HzeQ,2254
|
|
261
262
|
phoenix/trace/v1/evaluation_pb2.pyi,sha256=cCbbx06gwQmaH14s3J1X25TtaARh-k1abbxQdQCXGm8,4500
|
|
262
263
|
phoenix/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
264
|
+
phoenix/utilities/client.py,sha256=6Swxe4TVA481eKnmkCox83WY52b2nA-DWIzkkGu6wwo,4935
|
|
263
265
|
phoenix/utilities/deprecation.py,sha256=cFuTVvjSYyRlrdxdJewjJVieIEHPk30BukSRGRydQ3k,1046
|
|
264
266
|
phoenix/utilities/error_handling.py,sha256=7b5rpGFj9EWZ8yrZK1IHvxB89suWk3lggDayUQcvZds,1946
|
|
265
267
|
phoenix/utilities/json.py,sha256=y_w-McDfvlTeGJT28sCtyjzVkwFicakxERG-sGRc8Ak,1948
|
|
266
268
|
phoenix/utilities/logging.py,sha256=lDXd6EGaamBNcQxL4vP1au9-i_SXe0OraUDiJOcszSw,222
|
|
267
|
-
phoenix/utilities/project.py,sha256=
|
|
269
|
+
phoenix/utilities/project.py,sha256=8IJuMM4yUMoooPi37sictGj8Etu9rGmq6RFtc9848cQ,436
|
|
268
270
|
phoenix/utilities/re.py,sha256=PDve_OLjRTM8yQQJHC8-n3HdIONi7aNils3ZKRZ5uBM,2045
|
|
269
271
|
phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
270
|
-
arize_phoenix-4.
|
|
271
|
-
arize_phoenix-4.
|
|
272
|
-
arize_phoenix-4.
|
|
273
|
-
arize_phoenix-4.
|
|
274
|
-
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] = (),
|
|
@@ -105,8 +104,10 @@ class BulkInserter:
|
|
|
105
104
|
)
|
|
106
105
|
|
|
107
106
|
async def __aexit__(self, *args: Any) -> None:
|
|
108
|
-
self._operations = None
|
|
109
107
|
self._running = False
|
|
108
|
+
if self._task:
|
|
109
|
+
self._task.cancel()
|
|
110
|
+
self._task = None
|
|
110
111
|
|
|
111
112
|
def _enqueue_operation(self, operation: DataManipulation) -> None:
|
|
112
113
|
cast("Queue[DataManipulation]", self._operations).put_nowait(operation)
|
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:
|
|
@@ -90,11 +90,15 @@ class Evaluator(ABC):
|
|
|
90
90
|
if super_cls in (LLMEvaluator, Evaluator):
|
|
91
91
|
break
|
|
92
92
|
if evaluate := super_cls.__dict__.get(Evaluator.evaluate.__name__):
|
|
93
|
+
if isinstance(evaluate, classmethod):
|
|
94
|
+
evaluate = evaluate.__func__
|
|
93
95
|
assert callable(evaluate), "`evaluate()` method should be callable"
|
|
94
96
|
# need to remove the first param, i.e. `self`
|
|
95
97
|
_validate_sig(functools.partial(evaluate, None), "evaluate")
|
|
96
98
|
return
|
|
97
99
|
if async_evaluate := super_cls.__dict__.get(Evaluator.async_evaluate.__name__):
|
|
100
|
+
if isinstance(async_evaluate, classmethod):
|
|
101
|
+
async_evaluate = async_evaluate.__func__
|
|
98
102
|
assert callable(async_evaluate), "`async_evaluate()` method should be callable"
|
|
99
103
|
# need to remove the first param, i.e. `self`
|
|
100
104
|
_validate_sig(functools.partial(async_evaluate, None), "async_evaluate")
|
|
@@ -9,6 +9,19 @@ from phoenix.experiments.types import EvaluationResult, TaskOutput
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class JSONParsable(CodeEvaluator):
|
|
12
|
+
"""
|
|
13
|
+
An evaluator that checks if the output of an experiment run is a JSON-parsable string.
|
|
14
|
+
|
|
15
|
+
Example:
|
|
16
|
+
|
|
17
|
+
.. code-block:: python
|
|
18
|
+
from phoenix.experiments import run_experiment
|
|
19
|
+
from phoenix.experiments.evaluators import JSONParsable
|
|
20
|
+
|
|
21
|
+
run_experiment(dataset, task, evaluators=[JSONParsable])
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
12
25
|
def evaluate(self, *, output: Optional[TaskOutput] = None, **_: Any) -> EvaluationResult:
|
|
13
26
|
assert isinstance(output, str), "Experiment run output must be a string"
|
|
14
27
|
try:
|
|
@@ -22,6 +35,22 @@ class JSONParsable(CodeEvaluator):
|
|
|
22
35
|
|
|
23
36
|
|
|
24
37
|
class ContainsKeyword(CodeEvaluator):
|
|
38
|
+
"""
|
|
39
|
+
An evaluator that checks if a keyword is present in the output of an experiment run.
|
|
40
|
+
|
|
41
|
+
Args:
|
|
42
|
+
keyword (str): The keyword to search for in the output.
|
|
43
|
+
name (str, optional): An optional name for the evaluator. Defaults to "Contains(<keyword>)".
|
|
44
|
+
|
|
45
|
+
Example:
|
|
46
|
+
|
|
47
|
+
.. code-block:: python
|
|
48
|
+
from phoenix.experiments import run_experiment
|
|
49
|
+
from phoenix.experiments.evaluators import ContainsKeyword
|
|
50
|
+
|
|
51
|
+
run_experiment(dataset, task, evaluators=[ContainsKeyword("foo")])
|
|
52
|
+
"""
|
|
53
|
+
|
|
25
54
|
def __init__(self, keyword: str, name: Optional[str] = None) -> None:
|
|
26
55
|
self.keyword = keyword
|
|
27
56
|
self._name = name or f"Contains({repr(keyword)})"
|
|
@@ -39,6 +68,23 @@ class ContainsKeyword(CodeEvaluator):
|
|
|
39
68
|
|
|
40
69
|
|
|
41
70
|
class ContainsAnyKeyword(CodeEvaluator):
|
|
71
|
+
"""
|
|
72
|
+
An evaluator that checks if any of the keywords are present in the output of an experiment run.
|
|
73
|
+
|
|
74
|
+
Args:
|
|
75
|
+
keywords (List[str]): The keywords to search for in the output.
|
|
76
|
+
name (str, optional): An optional name for the evaluator. Defaults to
|
|
77
|
+
"ContainsAny(<keywords>)".
|
|
78
|
+
|
|
79
|
+
Example:
|
|
80
|
+
|
|
81
|
+
.. code-block:: python
|
|
82
|
+
from phoenix.experiments import run_experiment
|
|
83
|
+
from phoenix.experiments.evaluators import ContainsAnyKeyword
|
|
84
|
+
|
|
85
|
+
run_experiment(dataset, task, evaluators=[ContainsAnyKeyword(["foo", "bar"])])
|
|
86
|
+
"""
|
|
87
|
+
|
|
42
88
|
def __init__(self, keywords: List[str], name: Optional[str] = None) -> None:
|
|
43
89
|
self.keywords = keywords
|
|
44
90
|
self._name = name or f"ContainsAny({keywords})"
|
|
@@ -57,6 +103,23 @@ class ContainsAnyKeyword(CodeEvaluator):
|
|
|
57
103
|
|
|
58
104
|
|
|
59
105
|
class ContainsAllKeywords(CodeEvaluator):
|
|
106
|
+
"""
|
|
107
|
+
An evaluator that checks if all of the keywords are present in the output of an experiment run.
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
keywords (List[str]): The keywords to search for in the output.
|
|
111
|
+
name (str, optional): An optional name for the evaluator. Defaults to
|
|
112
|
+
"ContainsAll(<keywords>)".
|
|
113
|
+
|
|
114
|
+
Example:
|
|
115
|
+
.. code-block:: python
|
|
116
|
+
|
|
117
|
+
from phoenix.experiments import run_experiment
|
|
118
|
+
from phoenix.experiments.evaluators import ContainsAllKeywords
|
|
119
|
+
|
|
120
|
+
run_experiment(dataset, task, evaluators=[ContainsAllKeywords(["foo", "bar"])])
|
|
121
|
+
"""
|
|
122
|
+
|
|
60
123
|
def __init__(self, keywords: List[str], name: Optional[str] = None) -> None:
|
|
61
124
|
self.keywords = keywords
|
|
62
125
|
self._name = name or f"ContainsAll({keywords})"
|
|
@@ -77,6 +140,23 @@ class ContainsAllKeywords(CodeEvaluator):
|
|
|
77
140
|
|
|
78
141
|
|
|
79
142
|
class MatchesRegex(CodeEvaluator):
|
|
143
|
+
r"""
|
|
144
|
+
An experiment evaluator that checks if the output of an experiment run matches a regex pattern.
|
|
145
|
+
|
|
146
|
+
Args:
|
|
147
|
+
pattern (Union[str, re.Pattern[str]]): The regex pattern to match the output against.
|
|
148
|
+
name (str, optional): An optional name for the evaluator. Defaults to "matches_({pattern})".
|
|
149
|
+
|
|
150
|
+
Example:
|
|
151
|
+
.. code-block:: python
|
|
152
|
+
|
|
153
|
+
from phoenix.experiments import run_experiment
|
|
154
|
+
from phoenix.experiments.evaluators import MatchesRegex
|
|
155
|
+
|
|
156
|
+
phone_number_evaluator = MatchesRegex(r"\d{3}-\d{3}-\d{4}", name="valid-phone-number")
|
|
157
|
+
run_experiment(dataset, task, evaluators=[phone_number_evaluator])
|
|
158
|
+
"""
|
|
159
|
+
|
|
80
160
|
def __init__(self, pattern: Union[str, re.Pattern[str]], name: Optional[str] = None) -> None:
|
|
81
161
|
if isinstance(pattern, str):
|
|
82
162
|
pattern = re.compile(pattern)
|