arize-phoenix 5.2.2__py3-none-any.whl → 5.3.1__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-5.2.2.dist-info → arize_phoenix-5.3.1.dist-info}/METADATA +3 -1
- {arize_phoenix-5.2.2.dist-info → arize_phoenix-5.3.1.dist-info}/RECORD +36 -29
- phoenix/core/model_schema_adapter.py +2 -2
- phoenix/db/migrations/versions/10460e46d750_datasets.py +1 -1
- phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py +1 -1
- phoenix/db/migrations/versions/cf03bd6bae1d_init.py +1 -1
- phoenix/db/models.py +6 -6
- phoenix/server/api/input_types/ChatCompletionMessageInput.py +12 -0
- phoenix/server/api/input_types/InvocationParameters.py +20 -0
- phoenix/server/api/openapi/main.py +8 -13
- phoenix/server/api/queries.py +74 -0
- phoenix/server/api/schema.py +2 -0
- phoenix/server/api/subscriptions.py +449 -0
- phoenix/server/api/types/ChatCompletionMessageRole.py +11 -0
- phoenix/server/api/types/GenerativeModel.py +9 -0
- phoenix/server/api/types/GenerativeProvider.py +16 -0
- phoenix/server/app.py +36 -7
- phoenix/server/bearer_auth.py +12 -4
- phoenix/server/main.py +2 -2
- phoenix/server/static/.vite/manifest.json +35 -35
- phoenix/server/static/assets/{components-CPkaHQZs.js → components-CeBEsPFA.js} +153 -130
- phoenix/server/static/assets/{index-D4G-kYL9.js → index-CRTTIb3y.js} +2 -2
- phoenix/server/static/assets/{pages-B3HCyYqg.js → pages-vHjpYRiN.js} +361 -256
- phoenix/server/static/assets/vendor-D-NIjePD.js +872 -0
- phoenix/server/static/assets/{vendor-arizeai-D0FocbYu.js → vendor-arizeai-DoY5jUTO.js} +30 -28
- phoenix/server/static/assets/vendor-codemirror-CIhY_nEU.js +24 -0
- phoenix/server/static/assets/{vendor-recharts-JMOLUxWG.js → vendor-recharts-Dgcm35Jq.js} +1 -1
- phoenix/trace/fixtures.py +7 -9
- phoenix/utilities/client.py +2 -2
- phoenix/utilities/json.py +11 -0
- phoenix/utilities/template_formatters.py +70 -0
- phoenix/version.py +1 -1
- phoenix/server/static/assets/vendor-c0HJYYGN.js +0 -641
- phoenix/server/static/assets/vendor-codemirror-BbCMI-_D.js +0 -30
- {arize_phoenix-5.2.2.dist-info → arize_phoenix-5.3.1.dist-info}/WHEEL +0 -0
- {arize_phoenix-5.2.2.dist-info → arize_phoenix-5.3.1.dist-info}/entry_points.txt +0 -0
- {arize_phoenix-5.2.2.dist-info → arize_phoenix-5.3.1.dist-info}/licenses/IP_NOTICE +0 -0
- {arize_phoenix-5.2.2.dist-info → arize_phoenix-5.3.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: arize-phoenix
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.3.1
|
|
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
|
|
@@ -53,10 +53,12 @@ Requires-Dist: tqdm
|
|
|
53
53
|
Requires-Dist: typing-extensions>=4.6
|
|
54
54
|
Requires-Dist: umap-learn
|
|
55
55
|
Requires-Dist: uvicorn
|
|
56
|
+
Requires-Dist: websockets
|
|
56
57
|
Requires-Dist: wrapt
|
|
57
58
|
Provides-Extra: container
|
|
58
59
|
Requires-Dist: fast-hdbscan>=0.2.0; extra == 'container'
|
|
59
60
|
Requires-Dist: numba>=0.60.0; extra == 'container'
|
|
61
|
+
Requires-Dist: openai>=1.0.0; extra == 'container'
|
|
60
62
|
Requires-Dist: opentelemetry-exporter-otlp; extra == 'container'
|
|
61
63
|
Requires-Dist: opentelemetry-instrumentation-fastapi; extra == 'container'
|
|
62
64
|
Requires-Dist: opentelemetry-instrumentation-grpc; extra == 'container'
|
|
@@ -6,12 +6,12 @@ phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
|
|
|
6
6
|
phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
7
7
|
phoenix/services.py,sha256=aTxhcOA1pZHB6U-B3TEcp6fqDF5oT0xCUvEUNMZVTUQ,5175
|
|
8
8
|
phoenix/settings.py,sha256=ht-0oN-sMV6SPXrk7Tu1EZlngpAYkGNLYPhO8DyrdQI,661
|
|
9
|
-
phoenix/version.py,sha256=
|
|
9
|
+
phoenix/version.py,sha256=XehO8pb4GklFJT4padrwyHGgMITY1M6KU3ARht53Mw4,22
|
|
10
10
|
phoenix/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
phoenix/core/embedding_dimension.py,sha256=zKGbcvwOXgLf-yrJBpQyKtd-LEOPRKHnUToyAU8Owis,87
|
|
12
12
|
phoenix/core/model.py,sha256=km_a--PBHOuA337ClRw9xqhOHhrUT6Rl9pz_zV0JYkQ,4843
|
|
13
13
|
phoenix/core/model_schema.py,sha256=F2dbbVnkDLsPYoyZDv1q03uhvP8LcU1wXp0g-exiWs0,50551
|
|
14
|
-
phoenix/core/model_schema_adapter.py,sha256=
|
|
14
|
+
phoenix/core/model_schema_adapter.py,sha256=4bMkJldb-m46tH4oJRC43ytKU44rELDSwEQ9D2hqBkw,8448
|
|
15
15
|
phoenix/db/README.md,sha256=Mjrq0tG68uKQ81mN1Vmu3C795EEpZndmnE6CJXsPCXE,1909
|
|
16
16
|
phoenix/db/__init__.py,sha256=pDjEFXukHmJBM-1D8RjmXkvLsz85YWNxMQczt81ec3A,118
|
|
17
17
|
phoenix/db/alembic.ini,sha256=GIS6HpHaKaJbbuahZg1Rc1D2_QqyCkV9r58wdARGf6w,3262
|
|
@@ -21,7 +21,7 @@ phoenix/db/enums.py,sha256=wIpN2Hwoo0A7XR1lRFjwrjZXbu2-K9hjGRXd-NYJS88,425
|
|
|
21
21
|
phoenix/db/facilitator.py,sha256=Aulr9-sUvRn20Z7mjpWhW6TFE1amRzL8qSEjscvL-xw,4123
|
|
22
22
|
phoenix/db/helpers.py,sha256=2zSc4n5IJfu-CaOFoBfqTB35M1nTFcAc8tqLsNtF2Jw,3488
|
|
23
23
|
phoenix/db/migrate.py,sha256=lf6FFGzdyNjwtQ4TFi3mmHNGnnazMtG30PPB2qRF1Xc,2648
|
|
24
|
-
phoenix/db/models.py,sha256=
|
|
24
|
+
phoenix/db/models.py,sha256=zkT0sPcq3UKB24cts2e9XNpCw1TL2yUJt9nmDUAGQK8,26496
|
|
25
25
|
phoenix/db/insertion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
26
|
phoenix/db/insertion/constants.py,sha256=8wifm7X-1XvroZ__R2Gc96NsgLhTDn0zXl4lehlXtcA,70
|
|
27
27
|
phoenix/db/insertion/dataset.py,sha256=_vxy5e6W5jEuvO2fMKbbNCn9JvHkwI4LRKk_10eKFVg,7171
|
|
@@ -35,10 +35,10 @@ phoenix/db/insertion/types.py,sha256=4u5gvQnLQ1DE75PkWtmTp-J02m77669V9UBSibRn9P8
|
|
|
35
35
|
phoenix/db/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
36
|
phoenix/db/migrations/env.py,sha256=tFO3ceuCx9Es5_2w_BXclaQMmNQKNX21b1UEV5mYdeo,3387
|
|
37
37
|
phoenix/db/migrations/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
|
|
38
|
-
phoenix/db/migrations/versions/10460e46d750_datasets.py,sha256=
|
|
39
|
-
phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py,sha256=
|
|
38
|
+
phoenix/db/migrations/versions/10460e46d750_datasets.py,sha256=3wftHgat1sEeKBl0EcQ24r_oOK_T-Tcmd2Loo73RVCs,8679
|
|
39
|
+
phoenix/db/migrations/versions/3be8647b87d8_add_token_columns_to_spans_table.py,sha256=yRKdK6chzrSCGv3jEIFQeXXoCuH6bQuPg6O1SwNOLrA,3650
|
|
40
40
|
phoenix/db/migrations/versions/cd164e83824f_users_and_tokens.py,sha256=fkpmh5PgMZJiZpvLbZIaqlI2cucVpVbbNYpQ-Tznil8,5180
|
|
41
|
-
phoenix/db/migrations/versions/cf03bd6bae1d_init.py,sha256=
|
|
41
|
+
phoenix/db/migrations/versions/cf03bd6bae1d_init.py,sha256=lorqWUcujC0fsYIOriGZlZw2LKjS3nF34KHxi1fp_Z8,8646
|
|
42
42
|
phoenix/experiments/__init__.py,sha256=6JGwgUd7xCbGpuHqYZlsmErmYvVgv7N_j43bn3dUqsk,123
|
|
43
43
|
phoenix/experiments/functions.py,sha256=OEsBQAFZRDcrxGW21BaBIpUP3skQRzYZzAJZLQYjrJI,32478
|
|
44
44
|
phoenix/experiments/tracing.py,sha256=wVpt8Ie9WNPoi1djJdcrkwCokHdTO0bicXViLg3O-1Y,2831
|
|
@@ -73,13 +73,13 @@ phoenix/pointcloud/pointcloud.py,sha256=4zAIkKs2xOUbchpj4XDAV-iPMXrfAJ15TG6rlIYG
|
|
|
73
73
|
phoenix/pointcloud/projectors.py,sha256=TQgwc9cJDjJkin1WZyZzgl3HsYrLLiyWD7Czy4jNW3U,1088
|
|
74
74
|
phoenix/pointcloud/umap_parameters.py,sha256=3UQSjrysVOvq2V4KNpTMqNqNiK0BsTZnPBHWZ4fyJtQ,1708
|
|
75
75
|
phoenix/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
76
|
-
phoenix/server/app.py,sha256=
|
|
77
|
-
phoenix/server/bearer_auth.py,sha256=
|
|
76
|
+
phoenix/server/app.py,sha256=yfK6jXMFpFO2F06GngSHbsILw2JFRiAcqBLNWCS9Pv4,35084
|
|
77
|
+
phoenix/server/bearer_auth.py,sha256=zhXu-IXJD5WslknHgrITf7HdOiv09DFhcl3Qp5C0sJo,5916
|
|
78
78
|
phoenix/server/dml_event.py,sha256=MpjCFqljxvgb9OB5Cez9vJesb3oHb3XxXictynBfcis,2851
|
|
79
79
|
phoenix/server/dml_event_handler.py,sha256=yU23-DDwXcL35p5EPwFW0oZh6mxQxJrJAQPKcYZYJz4,8310
|
|
80
80
|
phoenix/server/grpc_server.py,sha256=nqeHg0FxGppjy8MqQUQ8DJtY4bkvJkR3tCxxmXGk6n0,3733
|
|
81
81
|
phoenix/server/jwt_store.py,sha256=lmcTRBPoxMHzSV7WT8Ew40ag4uxeMWPLDw-vPIoWL8s,16829
|
|
82
|
-
phoenix/server/main.py,sha256=
|
|
82
|
+
phoenix/server/main.py,sha256=d6I67MWrI38z9M5OEJfL5OB8dgCtkgIpspnmlVPveMk,15770
|
|
83
83
|
phoenix/server/oauth2.py,sha256=4zt6NEh0o2a3HUThYs-FPqOeDcvYM3YKKMg-s_Awls0,2043
|
|
84
84
|
phoenix/server/prometheus.py,sha256=x9zV3M8VeZ9GS32SLr5OxNdi1VaxvdHCZPx2zI8Hoa4,3549
|
|
85
85
|
phoenix/server/rate_limiters.py,sha256=7UJDH9YTmBIeGFLJX1759-LpS-XNp0zN1TlzxyqTnZc,7163
|
|
@@ -92,8 +92,9 @@ phoenix/server/api/auth.py,sha256=OhWmv_Hl-K-yhJeUWXKRYYiUOIPo-rYSQXdm4fjeTJ8,90
|
|
|
92
92
|
phoenix/server/api/context.py,sha256=g5tAYInMifMOdnGTlyfHdB7rDNlC9F2E5bU6IA_3Y0c,5337
|
|
93
93
|
phoenix/server/api/exceptions.py,sha256=TA0JuY2YRnj35qGuMSQ8d0ToHum9gWm9W--3fSKHrX0,1171
|
|
94
94
|
phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
|
|
95
|
-
phoenix/server/api/queries.py,sha256=
|
|
96
|
-
phoenix/server/api/schema.py,sha256=
|
|
95
|
+
phoenix/server/api/queries.py,sha256=sE_w4X9sz0QJBGNQbOMgiZiKpR24jvxCpv6AQeGeE9Y,27153
|
|
96
|
+
phoenix/server/api/schema.py,sha256=JKxcZd0UBX6VnVic9tnKAzehJ2fGYNWAu6Gr1tR1PMI,637
|
|
97
|
+
phoenix/server/api/subscriptions.py,sha256=l5t8f23J_3znUS6gFrK3XOPkkX9BN5dHHMteASWbhVk,17083
|
|
97
98
|
phoenix/server/api/utils.py,sha256=Kl47G-1A7QKTDrc75BU2QK6HupsG6MWuXxy351FOfKQ,858
|
|
98
99
|
phoenix/server/api/dataloaders/__init__.py,sha256=jNYvfXjnZzgA2HWTG7AZdqWGla3ZysBUDUei8Zkz6N8,3290
|
|
99
100
|
phoenix/server/api/dataloaders/annotation_summaries.py,sha256=Wv8AORZoGd5TJ4Y-em8iqJu87AMpZP7lWOTr-SML-x8,5560
|
|
@@ -126,6 +127,7 @@ phoenix/server/api/helpers/__init__.py,sha256=_V1eVkchZmTkhOfRC4QqR1sUB2xtIxdsMJ
|
|
|
126
127
|
phoenix/server/api/helpers/dataset_helpers.py,sha256=A6UzEyAb4gFtyc_AV63_yl9OpN0vn8Vw1BBCTNjg9J0,6875
|
|
127
128
|
phoenix/server/api/input_types/AddExamplesToDatasetInput.py,sha256=ZGXMV0H3DYHi4DdqGhejDzaWdFinyem1Mc8DVA7iCh0,436
|
|
128
129
|
phoenix/server/api/input_types/AddSpansToDatasetInput.py,sha256=C4oZ0WqYqca1kleNOCMIM2_aY6Qnc5n1xXG51_C1V0w,368
|
|
130
|
+
phoenix/server/api/input_types/ChatCompletionMessageInput.py,sha256=tzRwo9gth1ZkZULM_w3OE9txt_sW2PEBfrzx0pVyjEQ,362
|
|
129
131
|
phoenix/server/api/input_types/ClearProjectInput.py,sha256=cpPFRyQ3ffy2dLbCZgYpway-mCzhdm4QqnUg8caOBfQ,382
|
|
130
132
|
phoenix/server/api/input_types/ClusterInput.py,sha256=EL4ftvZxQ8mVdruUPcdhMhByORmSmM8S-X6RPqU6GX0,179
|
|
131
133
|
phoenix/server/api/input_types/Coordinates.py,sha256=meTwbIjwTfqx5DGD2DBlH9wQzdQVNM5a8x9dp1FfIgA,173
|
|
@@ -143,6 +145,7 @@ phoenix/server/api/input_types/DeleteExperimentsInput.py,sha256=yUbwMckIBvIL-R9t
|
|
|
143
145
|
phoenix/server/api/input_types/DimensionFilter.py,sha256=vcXgglSnZcB5pGh-6oEtRmGx95hISgFUR7BEPw01g7U,3143
|
|
144
146
|
phoenix/server/api/input_types/DimensionInput.py,sha256=Vfx5FmiMKey4-EHDQsQRPzSAMRJMN5oVMLDUl4NKAa8,164
|
|
145
147
|
phoenix/server/api/input_types/Granularity.py,sha256=6SVfZ5yTZYq1PI6vdpjfkBUc4YilLSkF-k6okuSNbbQ,2301
|
|
148
|
+
phoenix/server/api/input_types/InvocationParameters.py,sha256=Zz4Cd2BwriPxouBzsGIfQrvIasJGHHthyGFkjzGa0Dw,528
|
|
146
149
|
phoenix/server/api/input_types/PatchAnnotationInput.py,sha256=NWhkcbcGNPwfOYsN3wm5YFNNrSc5T-8Y5my74RK99HE,520
|
|
147
150
|
phoenix/server/api/input_types/PatchDatasetExamplesInput.py,sha256=E86aBGXDBC83jiEGwV5rilnoeQf6eqCfZ0aAVeIt2VI,890
|
|
148
151
|
phoenix/server/api/input_types/PatchDatasetInput.py,sha256=OURtTVY8Z_oFEDtKwT1LCMaOK5D4QYo5TVQ6mDrex-g,328
|
|
@@ -163,7 +166,7 @@ phoenix/server/api/mutations/span_annotations_mutations.py,sha256=HwXB_C0y9tK-ae
|
|
|
163
166
|
phoenix/server/api/mutations/trace_annotations_mutations.py,sha256=wZTotf4mWadMVIzr1Drv9vbntPsx7UUIeX7Q5drjc8I,5912
|
|
164
167
|
phoenix/server/api/mutations/user_mutations.py,sha256=32Fcuxn6GWwY2cl3OTYTQIyBANl23UF6wqxeaa3JrmE,13324
|
|
165
168
|
phoenix/server/api/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
166
|
-
phoenix/server/api/openapi/main.py,sha256=
|
|
169
|
+
phoenix/server/api/openapi/main.py,sha256=yKdzJYI4cxy_1mFcK4_7YObIcuRviBIfwNjB23RG14k,461
|
|
167
170
|
phoenix/server/api/openapi/schema.py,sha256=LJ3dRElQP2nXN-HaxOysiiQrvn5PxjuaLYT7q5jUjb8,490
|
|
168
171
|
phoenix/server/api/routers/__init__.py,sha256=YIzHsIFOOXuCRbDkMUHx-McrANFJK5UfUn6a4BNIzmo,277
|
|
169
172
|
phoenix/server/api/routers/auth.py,sha256=T774FE5mqrfRSSYo1snpR5NIp3YzAJnsLsY9FJB9GCA,11164
|
|
@@ -185,6 +188,7 @@ phoenix/server/api/types/AnnotationSummary.py,sha256=8B2LIROqcrPOi8hvYygsblKvSEB
|
|
|
185
188
|
phoenix/server/api/types/AnnotatorKind.py,sha256=rPgGdbN1Gvc109sGQ_ZH-gfJbp93V9wlarzTEJNtUwI,236
|
|
186
189
|
phoenix/server/api/types/ApiKey.py,sha256=76HIkWxyJqL3UjdMesX9l5y6XaD9QphwabXGQVY-MaQ,793
|
|
187
190
|
phoenix/server/api/types/AuthMethod.py,sha256=M25usT6FCNKi-QFMdtMqRjJVGfq1ACnVoSjHXGxfrUk,126
|
|
191
|
+
phoenix/server/api/types/ChatCompletionMessageRole.py,sha256=kmQOilOlVntlmqbaHkqXZuimfljfYaHc3kbo53uK8_0,227
|
|
188
192
|
phoenix/server/api/types/Cluster.py,sha256=ac4YfT1OH3xLVmex7EUmB6b9IpULnhLTt554LR0jglE,5689
|
|
189
193
|
phoenix/server/api/types/CreateDatasetPayload.py,sha256=R-6zCmuD0f76RU9Giu78xwTHlASQs6Aq8yzvX1Kxc3g,140
|
|
190
194
|
phoenix/server/api/types/DataQualityMetric.py,sha256=zRKsNvHBu-NdcsunuLhqFpZhi6ks-HMqA1PJD27jTak,590
|
|
@@ -214,6 +218,8 @@ phoenix/server/api/types/ExperimentRun.py,sha256=LkR7fBRZ3nH57ZoHJwePTGtJYcTMM-E
|
|
|
214
218
|
phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=iBxDaD9DgiF-Qymp5QyxWfJRGYXM1_CeWA_qzsZBqkI,1812
|
|
215
219
|
phoenix/server/api/types/ExportedFile.py,sha256=e3GTn7B5LgsTbqiwjhMCQH7VsiqXitrBO4aCMS1lHsg,163
|
|
216
220
|
phoenix/server/api/types/Functionality.py,sha256=tzV9xdhB8zqfsjWxP66NDC7EZsplYkYO7jRbLWJIeeg,382
|
|
221
|
+
phoenix/server/api/types/GenerativeModel.py,sha256=P7eBUMXbeqaLwSSGBKdZy3a5gOLd9I0fuP8o1st6H08,193
|
|
222
|
+
phoenix/server/api/types/GenerativeProvider.py,sha256=FYsx_2tUV2esmconK455yCYFzdHbXVHQJv6PKMXH4d4,269
|
|
217
223
|
phoenix/server/api/types/Inferences.py,sha256=BOMlOSsRtUV9XQxpnjmZxdBcJ1w-t9PiFfVOSTS160E,3367
|
|
218
224
|
phoenix/server/api/types/InferencesRole.py,sha256=Kj9aiXOpGhpeg9PHd9MDU7aXVIT28EjJxr4P6xybfzc,601
|
|
219
225
|
phoenix/server/api/types/LabelFraction.py,sha256=zsDxdFALrNiGA1eNykeP8o65gbA0HOhRp54MPH_iRAM,93
|
|
@@ -258,15 +264,15 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
|
|
|
258
264
|
phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
|
|
259
265
|
phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
|
|
260
266
|
phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
|
|
261
|
-
phoenix/server/static/.vite/manifest.json,sha256=
|
|
262
|
-
phoenix/server/static/assets/components-
|
|
263
|
-
phoenix/server/static/assets/index-
|
|
264
|
-
phoenix/server/static/assets/pages-
|
|
267
|
+
phoenix/server/static/.vite/manifest.json,sha256=SieG3iZksdblyz3-x7sbYAjWMF6-abUBPpCo2fI-M6M,1929
|
|
268
|
+
phoenix/server/static/assets/components-CeBEsPFA.js,sha256=vQY-UcFt8MuIlB-NCAw02xsIt8Tv26aLTlYCC8GwFQQ,272882
|
|
269
|
+
phoenix/server/static/assets/index-CRTTIb3y.js,sha256=_HHh0kyNV3oT1-vYiwkXC25jInuLGhLMyr62OLhRNS8,7162
|
|
270
|
+
phoenix/server/static/assets/pages-vHjpYRiN.js,sha256=WEnxplw-UwjrizzaVl3c6umZ_mEq4gl8sTo5vijmSLE,586223
|
|
271
|
+
phoenix/server/static/assets/vendor-D-NIjePD.js,sha256=tba6ip4z7SOnhlPkBkyt9CUJiDDzZwi6IRKCnbwHvuA,10898294
|
|
265
272
|
phoenix/server/static/assets/vendor-DxkFTwjz.css,sha256=nZrkr0u6NNElFGvpWHk9GTHeGoibCXCli1bE7mXZGZg,1816
|
|
266
|
-
phoenix/server/static/assets/vendor-arizeai-
|
|
267
|
-
phoenix/server/static/assets/vendor-
|
|
268
|
-
phoenix/server/static/assets/vendor-
|
|
269
|
-
phoenix/server/static/assets/vendor-recharts-JMOLUxWG.js,sha256=UAJkbccDXd2i7Fx3CJpuOtPeb1ty9rjrI0Vx2-NteAE,282859
|
|
273
|
+
phoenix/server/static/assets/vendor-arizeai-DoY5jUTO.js,sha256=RkuJgULcP6CtTAhyLSzI9bNRiJnq84MwkYCF6MQ2sCw,306507
|
|
274
|
+
phoenix/server/static/assets/vendor-codemirror-CIhY_nEU.js,sha256=6g23qgUXzCj6VuoJC9Uhq7Y9qb3_WN3u767NLDhfGkM,392703
|
|
275
|
+
phoenix/server/static/assets/vendor-recharts-Dgcm35Jq.js,sha256=9ifuAYGnEKtBtbTV9sFe95rP4e1NR9j8DOVEb-hRKzM,282859
|
|
270
276
|
phoenix/server/static/assets/vendor-three-DwGkEfCM.js,sha256=0D12ZgKzfKCTSdSTKJBFR2RZO_xxeMXrqDp0AszZqHY,620972
|
|
271
277
|
phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
272
278
|
phoenix/server/templates/index.html,sha256=ULNlp0-agU8pH4wCIapE1goqnwkbctAoQRgrfwH_irg,4379
|
|
@@ -280,7 +286,7 @@ phoenix/trace/attributes.py,sha256=B_OrzVaxZwFkrAFXZyicYoIti1UdUysURsvUS2GyW1U,1
|
|
|
280
286
|
phoenix/trace/errors.py,sha256=wB1z8qdPckngdfU-TORToekvg3344oNFAA83_hC2yFY,180
|
|
281
287
|
phoenix/trace/evaluation_conventions.py,sha256=t8jydM3U0-T5YpiQKRJ3tWdWGlHtzKyttYdw-ddvPOk,1048
|
|
282
288
|
phoenix/trace/exporter.py,sha256=bUXh8fjJIbHurrnt4bAm-cCWqUN5FqNsIc8DZzzklkQ,4695
|
|
283
|
-
phoenix/trace/fixtures.py,sha256=
|
|
289
|
+
phoenix/trace/fixtures.py,sha256=qKYXz33MD7FYkSni7ccyFjXMV5iub7serp1zMGqh1P8,18982
|
|
284
290
|
phoenix/trace/otel.py,sha256=c3Iy9sUTYBliwYfChZIQ9_6xTti1BijY7t_4s2tqbyw,10028
|
|
285
291
|
phoenix/trace/projects.py,sha256=2BwlNjFE-uwpqYtCu5YyBiYZk9wRPpM13vh3-Cv7GkA,2157
|
|
286
292
|
phoenix/trace/schemas.py,sha256=HpWSyzec0yDHEQXEDuwyLbhpvKrqkGps8BJqGiIFj8Y,5978
|
|
@@ -298,17 +304,18 @@ phoenix/trace/v1/__init__.py,sha256=-IbAD0ruESMjvQLvGAg9CTfjBUATFDx1OXseDPis6-0,
|
|
|
298
304
|
phoenix/trace/v1/evaluation_pb2.py,sha256=8sXvv2BW_vqD30MOMbmkeE2zpmm7ncik21kl3e-HzeQ,2254
|
|
299
305
|
phoenix/trace/v1/evaluation_pb2.pyi,sha256=cCbbx06gwQmaH14s3J1X25TtaARh-k1abbxQdQCXGm8,4500
|
|
300
306
|
phoenix/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
301
|
-
phoenix/utilities/client.py,sha256=
|
|
307
|
+
phoenix/utilities/client.py,sha256=kr95EgpTJtCbb7CLoxC-KiyB2Wco03DZGIlcEmozHFs,5605
|
|
302
308
|
phoenix/utilities/deprecation.py,sha256=cFuTVvjSYyRlrdxdJewjJVieIEHPk30BukSRGRydQ3k,1046
|
|
303
309
|
phoenix/utilities/error_handling.py,sha256=7b5rpGFj9EWZ8yrZK1IHvxB89suWk3lggDayUQcvZds,1946
|
|
304
|
-
phoenix/utilities/json.py,sha256
|
|
310
|
+
phoenix/utilities/json.py,sha256=-_LkuoipOMNlC-PWInFez9mMZkAK8fr3Z8bv6ri6la8,2361
|
|
305
311
|
phoenix/utilities/logging.py,sha256=B8t2WPULOwVyuGLRLbwKsw5N41N26vtgF-lCAYgWTEk,508
|
|
306
312
|
phoenix/utilities/project.py,sha256=8IJuMM4yUMoooPi37sictGj8Etu9rGmq6RFtc9848cQ,436
|
|
307
313
|
phoenix/utilities/re.py,sha256=nr_B0txj_7CXc45953X6vr2KCRSWMuaXJSEkL8s8Sjc,2036
|
|
308
314
|
phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
309
|
-
|
|
310
|
-
arize_phoenix-5.
|
|
311
|
-
arize_phoenix-5.
|
|
312
|
-
arize_phoenix-5.
|
|
313
|
-
arize_phoenix-5.
|
|
314
|
-
arize_phoenix-5.
|
|
315
|
+
phoenix/utilities/template_formatters.py,sha256=zWY6gjAMmspYqlmn-ZjKeY5SExylwePk7a1BUdDxVGI,2236
|
|
316
|
+
arize_phoenix-5.3.1.dist-info/METADATA,sha256=8vSIv2Shr5LH4dkS6cshYjQos1ERiCIaQcLc6RZryds,12052
|
|
317
|
+
arize_phoenix-5.3.1.dist-info/WHEEL,sha256=1yFddiXMmvYK7QYTqtRNtX66WJ0Mz8PYEiEUoOUUxRY,87
|
|
318
|
+
arize_phoenix-5.3.1.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
|
|
319
|
+
arize_phoenix-5.3.1.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
|
|
320
|
+
arize_phoenix-5.3.1.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
|
|
321
|
+
arize_phoenix-5.3.1.dist-info/RECORD,,
|
|
@@ -6,10 +6,10 @@ import pandas as pd
|
|
|
6
6
|
from pandas.api.types import is_object_dtype
|
|
7
7
|
from typing_extensions import TypeAlias, TypeGuard
|
|
8
8
|
|
|
9
|
-
from phoenix import EmbeddingColumnNames, Inferences
|
|
10
9
|
from phoenix.core.model import _get_embedding_dimensions
|
|
11
10
|
from phoenix.core.model_schema import Embedding, Model, RetrievalEmbedding, Schema
|
|
12
|
-
from phoenix.inferences.
|
|
11
|
+
from phoenix.inferences.inferences import Inferences
|
|
12
|
+
from phoenix.inferences.schema import EmbeddingColumnNames, RetrievalEmbeddingColumnNames
|
|
13
13
|
from phoenix.inferences.schema import Schema as InferencesSchema
|
|
14
14
|
|
|
15
15
|
InferencesName: TypeAlias = str
|
phoenix/db/models.py
CHANGED
|
@@ -50,7 +50,7 @@ class JSONB(JSON):
|
|
|
50
50
|
__visit_name__ = "JSONB"
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
@compiles(JSONB, "sqlite")
|
|
53
|
+
@compiles(JSONB, "sqlite")
|
|
54
54
|
def _(*args: Any, **kwargs: Any) -> str:
|
|
55
55
|
# See https://docs.sqlalchemy.org/en/20/core/custom_types.html
|
|
56
56
|
return "JSONB"
|
|
@@ -271,7 +271,7 @@ class LatencyMs(expression.FunctionElement[float]):
|
|
|
271
271
|
name = "latency_ms"
|
|
272
272
|
|
|
273
273
|
|
|
274
|
-
@compiles(LatencyMs)
|
|
274
|
+
@compiles(LatencyMs)
|
|
275
275
|
def _(element: Any, compiler: Any, **kw: Any) -> Any:
|
|
276
276
|
# See https://docs.sqlalchemy.org/en/20/core/compiler.html
|
|
277
277
|
start_time, end_time = list(element.clauses)
|
|
@@ -287,7 +287,7 @@ def _(element: Any, compiler: Any, **kw: Any) -> Any:
|
|
|
287
287
|
)
|
|
288
288
|
|
|
289
289
|
|
|
290
|
-
@compiles(LatencyMs, "sqlite")
|
|
290
|
+
@compiles(LatencyMs, "sqlite")
|
|
291
291
|
def _(element: Any, compiler: Any, **kw: Any) -> Any:
|
|
292
292
|
# See https://docs.sqlalchemy.org/en/20/core/compiler.html
|
|
293
293
|
start_time, end_time = list(element.clauses)
|
|
@@ -308,21 +308,21 @@ class TextContains(expression.FunctionElement[str]):
|
|
|
308
308
|
name = "text_contains"
|
|
309
309
|
|
|
310
310
|
|
|
311
|
-
@compiles(TextContains)
|
|
311
|
+
@compiles(TextContains)
|
|
312
312
|
def _(element: Any, compiler: Any, **kw: Any) -> Any:
|
|
313
313
|
# See https://docs.sqlalchemy.org/en/20/core/compiler.html
|
|
314
314
|
string, substring = list(element.clauses)
|
|
315
315
|
return compiler.process(string.contains(substring), **kw)
|
|
316
316
|
|
|
317
317
|
|
|
318
|
-
@compiles(TextContains, "postgresql")
|
|
318
|
+
@compiles(TextContains, "postgresql")
|
|
319
319
|
def _(element: Any, compiler: Any, **kw: Any) -> Any:
|
|
320
320
|
# See https://docs.sqlalchemy.org/en/20/core/compiler.html
|
|
321
321
|
string, substring = list(element.clauses)
|
|
322
322
|
return compiler.process(func.strpos(string, substring) > 0, **kw)
|
|
323
323
|
|
|
324
324
|
|
|
325
|
-
@compiles(TextContains, "sqlite")
|
|
325
|
+
@compiles(TextContains, "sqlite")
|
|
326
326
|
def _(element: Any, compiler: Any, **kw: Any) -> Any:
|
|
327
327
|
# See https://docs.sqlalchemy.org/en/20/core/compiler.html
|
|
328
328
|
string, substring = list(element.clauses)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import strawberry
|
|
2
|
+
from strawberry.scalars import JSON
|
|
3
|
+
|
|
4
|
+
from phoenix.server.api.types.ChatCompletionMessageRole import ChatCompletionMessageRole
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@strawberry.input
|
|
8
|
+
class ChatCompletionMessageInput:
|
|
9
|
+
role: ChatCompletionMessageRole
|
|
10
|
+
content: JSON = strawberry.field(
|
|
11
|
+
description="The content of the message as JSON to support text and tools",
|
|
12
|
+
)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
from typing import List, Optional
|
|
2
|
+
|
|
3
|
+
import strawberry
|
|
4
|
+
from strawberry import UNSET
|
|
5
|
+
from strawberry.scalars import JSON
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
@strawberry.input
|
|
9
|
+
class InvocationParameters:
|
|
10
|
+
"""
|
|
11
|
+
Invocation parameters interface shared between different providers.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
temperature: Optional[float] = UNSET
|
|
15
|
+
max_completion_tokens: Optional[int] = UNSET
|
|
16
|
+
max_tokens: Optional[int] = UNSET
|
|
17
|
+
top_p: Optional[float] = UNSET
|
|
18
|
+
stop: Optional[List[str]] = UNSET
|
|
19
|
+
seed: Optional[int] = UNSET
|
|
20
|
+
tool_choice: Optional[JSON] = UNSET
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
import json
|
|
2
2
|
from argparse import ArgumentParser
|
|
3
|
-
from typing import Optional, Tuple
|
|
4
3
|
|
|
5
|
-
from .schema import get_openapi_schema
|
|
4
|
+
from phoenix.server.api.openapi.schema import get_openapi_schema
|
|
6
5
|
|
|
7
6
|
if __name__ == "__main__":
|
|
8
7
|
parser = ArgumentParser()
|
|
9
8
|
parser.add_argument(
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
"-o",
|
|
10
|
+
"--output",
|
|
11
|
+
type=str,
|
|
12
|
+
required=True,
|
|
13
|
+
help="Path to the output file (e.g., openapi.json)",
|
|
13
14
|
)
|
|
14
15
|
args = parser.parse_args()
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
separator: Optional[Tuple[str, str]] = None
|
|
18
|
-
if args.compress:
|
|
19
|
-
separator = (",", ":")
|
|
20
|
-
else:
|
|
21
|
-
indent = 2
|
|
22
|
-
print(json.dumps(get_openapi_schema(), indent=indent, separators=separator))
|
|
16
|
+
with open(args.output, "w") as f:
|
|
17
|
+
json.dump(get_openapi_schema(), f, indent=2)
|
phoenix/server/api/queries.py
CHANGED
|
@@ -58,6 +58,11 @@ from phoenix.server.api.types.Experiment import Experiment
|
|
|
58
58
|
from phoenix.server.api.types.ExperimentComparison import ExperimentComparison, RunComparisonItem
|
|
59
59
|
from phoenix.server.api.types.ExperimentRun import ExperimentRun, to_gql_experiment_run
|
|
60
60
|
from phoenix.server.api.types.Functionality import Functionality
|
|
61
|
+
from phoenix.server.api.types.GenerativeModel import GenerativeModel
|
|
62
|
+
from phoenix.server.api.types.GenerativeProvider import (
|
|
63
|
+
GenerativeProvider,
|
|
64
|
+
GenerativeProviderKey,
|
|
65
|
+
)
|
|
61
66
|
from phoenix.server.api.types.InferencesRole import AncillaryInferencesRole, InferencesRole
|
|
62
67
|
from phoenix.server.api.types.Model import Model
|
|
63
68
|
from phoenix.server.api.types.node import from_global_id, from_global_id_with_expected_type
|
|
@@ -76,8 +81,77 @@ from phoenix.server.api.types.UserApiKey import UserApiKey, to_gql_api_key
|
|
|
76
81
|
from phoenix.server.api.types.UserRole import UserRole
|
|
77
82
|
|
|
78
83
|
|
|
84
|
+
@strawberry.input
|
|
85
|
+
class ModelsInput:
|
|
86
|
+
provider_key: Optional[GenerativeProviderKey]
|
|
87
|
+
|
|
88
|
+
|
|
79
89
|
@strawberry.type
|
|
80
90
|
class Query:
|
|
91
|
+
@strawberry.field
|
|
92
|
+
async def model_providers(self) -> List[GenerativeProvider]:
|
|
93
|
+
return [
|
|
94
|
+
GenerativeProvider(
|
|
95
|
+
name="OpenAI",
|
|
96
|
+
key=GenerativeProviderKey.OPENAI,
|
|
97
|
+
),
|
|
98
|
+
GenerativeProvider(
|
|
99
|
+
name="Azure OpenAI",
|
|
100
|
+
key=GenerativeProviderKey.AZURE_OPENAI,
|
|
101
|
+
),
|
|
102
|
+
GenerativeProvider(
|
|
103
|
+
name="Anthropic",
|
|
104
|
+
key=GenerativeProviderKey.ANTHROPIC,
|
|
105
|
+
),
|
|
106
|
+
]
|
|
107
|
+
|
|
108
|
+
@strawberry.field
|
|
109
|
+
async def models(self, input: Optional[ModelsInput] = None) -> List[GenerativeModel]:
|
|
110
|
+
openai_models = [
|
|
111
|
+
"o1-preview",
|
|
112
|
+
"o1-preview-2024-09-12",
|
|
113
|
+
"o1-mini",
|
|
114
|
+
"o1-mini-2024-09-12",
|
|
115
|
+
"gpt-4o",
|
|
116
|
+
"gpt-4o-2024-08-06",
|
|
117
|
+
"gpt-4o-2024-05-13",
|
|
118
|
+
"chatgpt-4o-latest",
|
|
119
|
+
"gpt-4o-mini",
|
|
120
|
+
"gpt-4o-mini-2024-07-18",
|
|
121
|
+
"gpt-4-turbo",
|
|
122
|
+
"gpt-4-turbo-2024-04-09",
|
|
123
|
+
"gpt-4-turbo-preview",
|
|
124
|
+
"gpt-4-0125-preview",
|
|
125
|
+
"gpt-4-1106-preview",
|
|
126
|
+
"gpt-4",
|
|
127
|
+
"gpt-4-0613",
|
|
128
|
+
"gpt-3.5-turbo-0125",
|
|
129
|
+
"gpt-3.5-turbo",
|
|
130
|
+
"gpt-3.5-turbo-1106",
|
|
131
|
+
"gpt-3.5-turbo-instruct",
|
|
132
|
+
]
|
|
133
|
+
anthropic_models = [
|
|
134
|
+
"claude-3-5-sonnet-20240620",
|
|
135
|
+
"claude-3-opus-20240229",
|
|
136
|
+
"claude-3-sonnet-20240229",
|
|
137
|
+
"claude-3-haiku-20240307",
|
|
138
|
+
]
|
|
139
|
+
openai_generative_models = [
|
|
140
|
+
GenerativeModel(name=model_name, provider_key=GenerativeProviderKey.OPENAI)
|
|
141
|
+
for model_name in openai_models
|
|
142
|
+
]
|
|
143
|
+
anthropic_generative_models = [
|
|
144
|
+
GenerativeModel(name=model_name, provider_key=GenerativeProviderKey.ANTHROPIC)
|
|
145
|
+
for model_name in anthropic_models
|
|
146
|
+
]
|
|
147
|
+
|
|
148
|
+
all_models = openai_generative_models + anthropic_generative_models
|
|
149
|
+
|
|
150
|
+
if input is not None and input.provider_key is not None:
|
|
151
|
+
return [model for model in all_models if model.provider_key == input.provider_key]
|
|
152
|
+
|
|
153
|
+
return all_models
|
|
154
|
+
|
|
81
155
|
@strawberry.field(permission_classes=[IsAdmin]) # type: ignore
|
|
82
156
|
async def users(
|
|
83
157
|
self,
|
phoenix/server/api/schema.py
CHANGED
|
@@ -3,6 +3,7 @@ import strawberry
|
|
|
3
3
|
from phoenix.server.api.exceptions import get_mask_errors_extension
|
|
4
4
|
from phoenix.server.api.mutations import Mutation
|
|
5
5
|
from phoenix.server.api.queries import Query
|
|
6
|
+
from phoenix.server.api.subscriptions import Subscription
|
|
6
7
|
|
|
7
8
|
# This is the schema for generating `schema.graphql`.
|
|
8
9
|
# See https://strawberry.rocks/docs/guides/schema-export
|
|
@@ -12,4 +13,5 @@ schema = strawberry.Schema(
|
|
|
12
13
|
query=Query,
|
|
13
14
|
mutation=Mutation,
|
|
14
15
|
extensions=[get_mask_errors_extension()],
|
|
16
|
+
subscription=Subscription,
|
|
15
17
|
)
|