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