arize-phoenix 6.0.0__py3-none-any.whl → 6.2.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.

Files changed (25) hide show
  1. {arize_phoenix-6.0.0.dist-info → arize_phoenix-6.2.0.dist-info}/METADATA +7 -6
  2. {arize_phoenix-6.0.0.dist-info → arize_phoenix-6.2.0.dist-info}/RECORD +24 -23
  3. phoenix/config.py +4 -1
  4. phoenix/db/engines.py +1 -1
  5. phoenix/db/migrate.py +4 -1
  6. phoenix/metrics/wrappers.py +7 -1
  7. phoenix/server/api/mutations/chat_mutations.py +5 -0
  8. phoenix/server/api/subscriptions.py +6 -0
  9. phoenix/server/api/types/EmbeddingDimension.py +1 -1
  10. phoenix/server/static/.vite/manifest.json +40 -31
  11. phoenix/server/static/assets/{components-Bo-xjXoV.js → components-DrwPLMB6.js} +248 -183
  12. phoenix/server/static/assets/index-CTN-OfBU.js +93 -0
  13. phoenix/server/static/assets/{pages-BfYVoiUE.js → pages-Cmqh2i4E.js} +346 -344
  14. phoenix/server/static/assets/vendor-Cdrqqth8.js +894 -0
  15. phoenix/server/static/assets/{vendor-arizeai-gSIqhzZY.js → vendor-arizeai-BSCL03yQ.js} +1 -1
  16. phoenix/server/static/assets/{vendor-codemirror-fSYjW3f-.js → vendor-codemirror-Utqu7Snw.js} +5 -5
  17. phoenix/server/static/assets/{vendor-recharts-CVVyA2X0.js → vendor-recharts-CNNUvc5T.js} +1 -1
  18. phoenix/server/static/assets/{vendor-UNccFYqq.js → vendor-shiki-B6bHerDK.js} +5 -872
  19. phoenix/session/client.py +13 -4
  20. phoenix/version.py +1 -1
  21. phoenix/server/static/assets/index-i2KbnOZd.js +0 -101
  22. {arize_phoenix-6.0.0.dist-info → arize_phoenix-6.2.0.dist-info}/WHEEL +0 -0
  23. {arize_phoenix-6.0.0.dist-info → arize_phoenix-6.2.0.dist-info}/entry_points.txt +0 -0
  24. {arize_phoenix-6.0.0.dist-info → arize_phoenix-6.2.0.dist-info}/licenses/IP_NOTICE +0 -0
  25. {arize_phoenix-6.0.0.dist-info → arize_phoenix-6.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arize-phoenix
3
- Version: 6.0.0
3
+ Version: 6.2.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
@@ -49,7 +49,8 @@ Requires-Dist: tqdm
49
49
  Requires-Dist: typing-extensions>=4.6
50
50
  Requires-Dist: uvicorn
51
51
  Requires-Dist: websockets
52
- Requires-Dist: wrapt
52
+ Requires-Dist: wrapt; sys_platform != 'darwin'
53
+ Requires-Dist: wrapt<1.17; sys_platform == 'darwin'
53
54
  Provides-Extra: container
54
55
  Requires-Dist: anthropic; extra == 'container'
55
56
  Requires-Dist: fast-hdbscan>=0.2.0; extra == 'container'
@@ -130,11 +131,11 @@ Description-Content-Type: text/markdown
130
131
  <a href="https://docs.arize.com/phoenix/">
131
132
  <img src="https://img.shields.io/static/v1?message=Docs&logo=data:image/png;base64,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&labelColor=grey&color=blue&logoColor=white&label=%20"/>
132
133
  </a>
133
- <a target="_blank" href="https://join.slack.com/t/arize-ai/shared_invite/zt-22vj03k4k-MlrNEwv5WeswapTs0kNCBw">
134
+ <a target="_blank" href="https://arize-ai.slack.com/join/shared_invite/zt-11t1vbu4x-xkBIHmOREQnYnYDH1GDfCg?__hstc=259489365.a667dfafcfa0169c8aee4178d115dc81.1733501603539.1733501603539.1733501603539.1&__hssc=259489365.1.1733501603539&__hsfp=3822854628&submissionGuid=381a0676-8f38-437b-96f2-fc10875658df#/shared-invite/email">
134
135
  <img src="https://img.shields.io/static/v1?message=Community&logo=slack&labelColor=grey&color=blue&logoColor=white&label=%20"/>
135
136
  </a>
136
137
  <a target="_blank" href="https://twitter.com/ArizePhoenix">
137
- <img src="https://img.shields.io/badge/-ArizePhoenix-blue.svg?color=blue&labelColor=gray&logo=twitter">
138
+ <img src="https://img.shields.io/badge/-ArizePhoenix-blue.svg?color=blue&labelColor=gray&logo=x">
138
139
  </a>
139
140
  <a target="_blank" href="https://pypi.org/project/arize-phoenix/">
140
141
  <img src="https://img.shields.io/pypi/v/arize-phoenix?color=blue">
@@ -196,8 +197,8 @@ Phoenix container images are available via [Docker Hub](https://hub.docker.com/r
196
197
  | Projects | ✅ |
197
198
  | [Self-Hosting](https://docs.arize.com/phoenix/deployment) | ✅ |
198
199
  | Jupyter Notebooks | ✅ |
200
+ | [Prompt Playground](https://docs.arize.com/phoenix/prompt-engineering/overview-prompts) | ✅ |
199
201
  | [Sessions](https://github.com/Arize-ai/phoenix/issues/2619) | In Progress 🚧 |
200
- | [Prompt Playground](https://github.com/Arize-ai/phoenix/issues/3435) | In Progress 🚧 |
201
202
  | Prompt Management | Coming soon ⏱️ |
202
203
 
203
204
  ## Tracing Integrations
@@ -236,7 +237,7 @@ For details about tracing integrations and example applications, see the [OpenIn
236
237
 
237
238
  Join our community to connect with thousands of AI builders.
238
239
 
239
- - 🌍 Join our [Slack community](https://join.slack.com/t/arize-ai/shared_invite/zt-22vj03k4k-MlrNEwv5WeswapTs0kNCBw).
240
+ - 🌍 Join our [Slack community](https://arize-ai.slack.com/join/shared_invite/zt-11t1vbu4x-xkBIHmOREQnYnYDH1GDfCg?__hstc=259489365.a667dfafcfa0169c8aee4178d115dc81.1733501603539.1733501603539.1733501603539.1&__hssc=259489365.1.1733501603539&__hsfp=3822854628&submissionGuid=381a0676-8f38-437b-96f2-fc10875658df#/shared-invite/email).
240
241
  - 📚 Read our [documentation](https://docs.arize.com/phoenix).
241
242
  - 💡 Ask questions and provide feedback in the _#phoenix-support_ channel.
242
243
  - 🌟 Leave a star on our [GitHub](https://github.com/Arize-ai/phoenix).
@@ -1,12 +1,12 @@
1
1
  phoenix/__init__.py,sha256=X3eUEwd2rG8KKWWYVNNDJoqo08ihfjgHhlP29dcdNJE,5481
2
2
  phoenix/auth.py,sha256=JpkwJbis2INlIXWcQ-M_Nk5Ln9LBgHMdWNnaAQp0D2w,10940
3
- phoenix/config.py,sha256=QLaKuc7N3qZsaAzJnsUVyFuWaROYTVlZsVXTr0Re6d8,26191
3
+ phoenix/config.py,sha256=CIm9WnLMu5PIh93ATlJYGSPJiXRej6Ij-VjH8Z__dJk,26337
4
4
  phoenix/datetime_utils.py,sha256=iJzNG6YJ6V7_u8B2iA7P2Z26FyxYbOPtx0dhJ7kNDHA,3398
5
5
  phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
6
6
  phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
7
7
  phoenix/services.py,sha256=kpW1WL0kiB8XJsO6XycvZVJ-lBkNoenhQ7atCvBoSe8,5365
8
8
  phoenix/settings.py,sha256=ht-0oN-sMV6SPXrk7Tu1EZlngpAYkGNLYPhO8DyrdQI,661
9
- phoenix/version.py,sha256=eSyQRXyZR8d0tJQPRLwDd_1tXyRgb7TUvtlI-hfN620,22
9
+ phoenix/version.py,sha256=5H_IrrHNTfYkLbC3nRLonK3TwkV0TTf0xGbx1a13Scw,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=qBFraOtmwCCnWJltKNP18DDG0mULXigytlFsa6YOz6k,4837
@@ -16,11 +16,11 @@ 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
18
18
  phoenix/db/bulk_inserter.py,sha256=faNjuwLqqsw4ky8sa4D0h9u5TvEDTOjrccUW89L008E,12725
19
- phoenix/db/engines.py,sha256=BYFiHFGABtNuCo7OB8fLc46gMxur4rePK_sJxrMrMjA,6508
19
+ phoenix/db/engines.py,sha256=uuz_TpFtjcJpx3eO-56vysuxaS2Ea0t5ydhrWhnyySA,6521
20
20
  phoenix/db/enums.py,sha256=tt7iovXLhVTLZ3_LbHNGgcI44SnNjXfkKtLAZG57T54,428
21
21
  phoenix/db/facilitator.py,sha256=sAYqzBXYSVBKPTQVYrd7ZmtqMAr1zP9dVJwjfNGW7hc,4207
22
22
  phoenix/db/helpers.py,sha256=daKbpY2QhTPo9a_T1xNHKI4WzWHkMmmrGIws7Hw-RZ4,4884
23
- phoenix/db/migrate.py,sha256=lf6FFGzdyNjwtQ4TFi3mmHNGnnazMtG30PPB2qRF1Xc,2648
23
+ phoenix/db/migrate.py,sha256=oUrXH8yEbcpL4eh09aSCuUiSrhFli0eT5D_j4ZmYChY,2797
24
24
  phoenix/db/models.py,sha256=wx2XQgf6qhUO2ZQ4oUENoAguf440qaR0Ea_q1XB1bBU,26484
25
25
  phoenix/db/insertion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  phoenix/db/insertion/constants.py,sha256=8wifm7X-1XvroZ__R2Gc96NsgLhTDn0zXl4lehlXtcA,70
@@ -66,7 +66,7 @@ phoenix/metrics/metrics.py,sha256=IMfLgaeZ13jo0zNb_96bLoK6dYaOOCSUmsOP5nVLfdQ,79
66
66
  phoenix/metrics/mixins.py,sha256=opSLWfW90GUIFmpxX4cyLs_1TmDPOGxCJWh6ZHBt2tc,7455
67
67
  phoenix/metrics/retrieval_metrics.py,sha256=3kHk_cqOEonLT3UGEVIFN1n1EGODjKkPBFfd-OzvpD4,4411
68
68
  phoenix/metrics/timeseries.py,sha256=Knw6mNodB2pkYFkHqYNZumDKsBbvWix6o2uyVj5Kt1U,6297
69
- phoenix/metrics/wrappers.py,sha256=IB6ewohLJ1fwunUUpRVtd6md6aXCxFxkwFI1CNjzLY8,8373
69
+ phoenix/metrics/wrappers.py,sha256=kMgKTiMlDIItAnfo5oVWcSXGmqkD2Pt1MymuK6E1Luc,8525
70
70
  phoenix/pointcloud/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
71
71
  phoenix/pointcloud/clustering.py,sha256=Ss7LQHgCE7GZTztExiJ85F2K5iGKrRADkOquUjqj1tg,805
72
72
  phoenix/pointcloud/pointcloud.py,sha256=SN_1wXZcwKrtSnHGZLDZGx71orqE1WyVF7E-D58dJeE,2202
@@ -94,7 +94,7 @@ phoenix/server/api/exceptions.py,sha256=TA0JuY2YRnj35qGuMSQ8d0ToHum9gWm9W--3fSKH
94
94
  phoenix/server/api/interceptor.py,sha256=ykDnoC_apUd-llVli3m1CW18kNSIgjz2qZ6m5JmPDu8,1294
95
95
  phoenix/server/api/queries.py,sha256=4KJz8TUz3VUTup9MDjr_GoKX0SttWSvHBq2ncWZGxf8,27343
96
96
  phoenix/server/api/schema.py,sha256=tHyw2jTbue_-gu0fe9Sw7LUYtzJUCwp9SvccDgOkNPw,1696
97
- phoenix/server/api/subscriptions.py,sha256=nsiByh2rTPc1PS7OrPyuyyfFfYUUXeGmai19IfYP0dA,23201
97
+ phoenix/server/api/subscriptions.py,sha256=NJXCWrbBERyTwmi3H_9jNpml4klIxs_kpynwXRoH9pc,23572
98
98
  phoenix/server/api/utils.py,sha256=quCBRcusc6PUq9tJq7M8PgwFZp7nXgVAxtbw8feribY,833
99
99
  phoenix/server/api/dataloaders/__init__.py,sha256=jNYvfXjnZzgA2HWTG7AZdqWGla3ZysBUDUei8Zkz6N8,3290
100
100
  phoenix/server/api/dataloaders/annotation_summaries.py,sha256=2sHmIDX7n8tuPeBTs9bMKtlMKWn_Ph9awTZqmwn2Owc,5505
@@ -164,7 +164,7 @@ phoenix/server/api/input_types/UserRoleInput.py,sha256=xxhFe0ITZOgRVEJbVem_W6F1I
164
164
  phoenix/server/api/input_types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
165
  phoenix/server/api/mutations/__init__.py,sha256=1wClieLNA3_Tin4Ah67rkrQvwSSZAdPU0EPsRiUxyAA,1103
166
166
  phoenix/server/api/mutations/api_key_mutations.py,sha256=OmPipsmlQIb6DKvAgO58mZUwkYJihlJB2N4lTyeUlAA,6164
167
- phoenix/server/api/mutations/chat_mutations.py,sha256=YUZGgoUoA-652UVo5p7qWNnN4u7tdU6XfhDnTIxvbqU,22831
167
+ phoenix/server/api/mutations/chat_mutations.py,sha256=X8Rq0_gBYX_Ey2U9EIuWuOt2JeTVAvnD69gY4NHrOQo,23039
168
168
  phoenix/server/api/mutations/dataset_mutations.py,sha256=OkVek-GtDf_1eloI7Sdz6W6l5FFmwU_41LJM8-fw3q4,26088
169
169
  phoenix/server/api/mutations/experiment_mutations.py,sha256=p3CoLAa8nFPa3D759Y2A7De_PVJNGOL98mA3HoZBrRQ,3188
170
170
  phoenix/server/api/mutations/export_events_mutations.py,sha256=xoDnVWC7eA_8wNQP0-oyiHojyUZ0EhVVSrsAnztetC0,3993
@@ -212,7 +212,7 @@ phoenix/server/api/types/DimensionType.py,sha256=JLikZUBVqbHlUWcYYd8d60gB1_hmAcu
212
212
  phoenix/server/api/types/DimensionWithValue.py,sha256=4_koirnDrZBBdFkIWka2f-OeqZ6IzQXwqz3ccjdgHrc,484
213
213
  phoenix/server/api/types/DocumentEvaluationSummary.py,sha256=dx4Btlfw9_XsfmibjfWvMOvUfrvr9oGJq8jYmIL2o-Q,3494
214
214
  phoenix/server/api/types/DocumentRetrievalMetrics.py,sha256=amkpC3H5IU5-9GvO0telpbq00m6lIcv_2v446OpwFwc,1822
215
- phoenix/server/api/types/EmbeddingDimension.py,sha256=z0sfRdX1J0uVxJgWQkGhNUM73fskGGKYhlriR8FNGKA,19019
215
+ phoenix/server/api/types/EmbeddingDimension.py,sha256=XOd85EkFfrOtPSjdRuV-ri2HnXi4Goe25ABEh-cPgnc,19055
216
216
  phoenix/server/api/types/EmbeddingMetadata.py,sha256=fJvNNYCbkf3SJalArLy9rcBq9Uj1SNac60zjqe1PFnM,461
217
217
  phoenix/server/api/types/Evaluation.py,sha256=rLJptUSRUPPx9sdUyc4UPWxzkr9gcKtkpAS5Zi_EyFQ,2406
218
218
  phoenix/server/api/types/EvaluationSummary.py,sha256=vILYejnfPvMwWEXOwhQZsANvYe3AdO2OkMR2rcgp1H4,1512
@@ -273,20 +273,21 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
273
273
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
274
274
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
275
275
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
276
- phoenix/server/static/.vite/manifest.json,sha256=I8csmeLbMfXrOtIwIEqwR8H9yF364xgi1vt-F7T2DvE,1929
277
- phoenix/server/static/assets/components-Bo-xjXoV.js,sha256=-zGBOrc-bOd4e9dKbaw__9lCm8wNu1W-UROzW9UoXR4,312092
278
- phoenix/server/static/assets/index-i2KbnOZd.js,sha256=E8LWCCrBJl_AwuE2eVr3JU-tzQM9u9GWRBgjBXptjMc,8305
279
- phoenix/server/static/assets/pages-BfYVoiUE.js,sha256=UKyvB-BB5eyPwrYLIDc1ZN_HsdSs_7CnB7Q_5ddtixk,633454
276
+ phoenix/server/static/.vite/manifest.json,sha256=OHnaSfFCgMjSBfa90MdnYJDMisFjQ0KsBhgAJqRxCXo,2163
277
+ phoenix/server/static/assets/components-DrwPLMB6.js,sha256=8Z11dkkE4K_rxpp63EcjuRXrq7HhCiRWPnqP9k10kMo,316774
278
+ phoenix/server/static/assets/index-CTN-OfBU.js,sha256=F5Q2Ru7h1CGEA_nJCVjXpzNhbH5DxudUB6NnCwHFZt0,7954
279
+ phoenix/server/static/assets/pages-Cmqh2i4E.js,sha256=GI_-PAJ9vx1c3_tZxgmmtXke31-baxkeI3pbk6Suv3s,632754
280
+ phoenix/server/static/assets/vendor-Cdrqqth8.js,sha256=XSrmzfFJlLftuuErU4XHtyYlKYyjh0QWF57SHxkF40c,2061915
280
281
  phoenix/server/static/assets/vendor-DxkFTwjz.css,sha256=nZrkr0u6NNElFGvpWHk9GTHeGoibCXCli1bE7mXZGZg,1816
281
- phoenix/server/static/assets/vendor-UNccFYqq.js,sha256=vzJ1ZI0VHzIhXJyu35Z8nG2iFAk2oq_u_1IE_h4ZovY,10899274
282
- phoenix/server/static/assets/vendor-arizeai-gSIqhzZY.js,sha256=p5nkI7UHuepmzGlED1HiNeSRCFKtZx4yD9i4C5NC6po,308489
283
- phoenix/server/static/assets/vendor-codemirror-fSYjW3f-.js,sha256=R0vjkRdXIPclHQMbu_0vy9EUfMwOYoH7iejIOgl3CT4,392709
284
- phoenix/server/static/assets/vendor-recharts-CVVyA2X0.js,sha256=ApyczsmduDBWHOZ0KyZqKT7rL3fDMtCyzor77olD9MA,282859
282
+ phoenix/server/static/assets/vendor-arizeai-BSCL03yQ.js,sha256=Dc98gjSV20cL0_jum75PB6YzkxVrjjmWBIWUjZOW4CE,308489
283
+ phoenix/server/static/assets/vendor-codemirror-Utqu7Snw.js,sha256=yakF-gdRQqJHvaxwXGwCq57p6ETOTqvbTFQf4kx7pt8,392748
284
+ phoenix/server/static/assets/vendor-recharts-CNNUvc5T.js,sha256=RwJTuhF_tFrGfEKZEIbnWxXP6_IoWKuFtALElwXyzUc,282859
285
+ phoenix/server/static/assets/vendor-shiki-B6bHerDK.js,sha256=X1XflS-vSyEn9DOgrz0CyvVlkm0BAxvfDW8b_1852UI,8980328
285
286
  phoenix/server/static/assets/vendor-three-DwGkEfCM.js,sha256=0D12ZgKzfKCTSdSTKJBFR2RZO_xxeMXrqDp0AszZqHY,620972
286
287
  phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
287
288
  phoenix/server/templates/index.html,sha256=ram6sfy2obf_F053ay35V30v-mnRWZ86rK-PstXLy1c,4457
288
289
  phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
289
- phoenix/session/client.py,sha256=rsncDzCz8jb7P5e4z3EeZzpSpgluJFXcp00v7RqDYHI,35012
290
+ phoenix/session/client.py,sha256=jGc-jQuFUPdJc4AGcPPkVbnw7Qui8Lm7V6fjPntxkzo,35330
290
291
  phoenix/session/data_extractor.py,sha256=Y0RzYFaNy9fQj8PEIeQ76TBZ90_E1FW7bXu3K5x0EZY,2782
291
292
  phoenix/session/evaluation.py,sha256=Q3fOMNELvqkk-b6a6PKc8pDJdsNQ0ZbTpseUSA2NKqs,5300
292
293
  phoenix/session/session.py,sha256=1HMKmN4Sn6W3szajitR5EQ130ia1HxIhTUB_tew6P00,27474
@@ -322,9 +323,9 @@ phoenix/utilities/project.py,sha256=auVpARXkDb-JgeX5f2aStyFIkeKvGwN9l7qrFeJMVxI,
322
323
  phoenix/utilities/re.py,sha256=x8Xbk-Wa6qDMAtUd_7JtZvKtrYEuMY-bchB0n163_5c,2006
323
324
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
324
325
  phoenix/utilities/template_formatters.py,sha256=gh9PJD6WEGw7TEYXfSst1UR4pWWwmjxMLrDVQ_CkpkQ,2779
325
- arize_phoenix-6.0.0.dist-info/METADATA,sha256=0q5IT7ux_4-FeqEvPjOWWki0udeqWvINeKA39rlC-BA,22670
326
- arize_phoenix-6.0.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
327
- arize_phoenix-6.0.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
328
- arize_phoenix-6.0.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
329
- arize_phoenix-6.0.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
330
- arize_phoenix-6.0.0.dist-info/RECORD,,
326
+ arize_phoenix-6.2.0.dist-info/METADATA,sha256=7PdpBWXytNhusx8KpjVhN3BtROpDGm6qF2SvpM1Cy4g,23173
327
+ arize_phoenix-6.2.0.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
328
+ arize_phoenix-6.2.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
329
+ arize_phoenix-6.2.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
330
+ arize_phoenix-6.2.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
331
+ arize_phoenix-6.2.0.dist-info/RECORD,,
phoenix/config.py CHANGED
@@ -5,8 +5,9 @@ import tempfile
5
5
  from dataclasses import dataclass
6
6
  from datetime import timedelta
7
7
  from enum import Enum
8
+ from importlib.metadata import version
8
9
  from pathlib import Path
9
- from typing import Optional, overload
10
+ from typing import Optional, cast, overload
10
11
  from urllib.parse import urlparse
11
12
 
12
13
  from phoenix.utilities.logging import log_a_list
@@ -784,3 +785,5 @@ def _get_default_idp_display_name(idp_name: str) -> str:
784
785
 
785
786
  DEFAULT_PROJECT_NAME = "default"
786
787
  _KUBERNETES_PHOENIX_PORT_PATTERN = re.compile(r"^tcp://\d{1,3}[.]\d{1,3}[.]\d{1,3}[.]\d{1,3}:\d+$")
788
+
789
+ SKLEARN_VERSION = cast(tuple[int, int], tuple(map(int, version("scikit-learn").split(".", 2)[:2])))
phoenix/db/engines.py CHANGED
@@ -53,7 +53,7 @@ def get_async_db_url(connection_str: str) -> URL:
53
53
  # So we need to parse them out manually
54
54
  if url.username and url.password:
55
55
  url = url.set(
56
- query={"user": url.username, "password": url.password},
56
+ query={**url.query, "user": url.username, "password": url.password},
57
57
  password=None,
58
58
  username=None,
59
59
  )
phoenix/db/migrate.py CHANGED
@@ -4,6 +4,7 @@ import sys
4
4
  from pathlib import Path
5
5
  from queue import Empty, SimpleQueue
6
6
  from threading import Thread
7
+ from time import perf_counter
7
8
  from typing import Optional
8
9
 
9
10
  from alembic import command
@@ -47,12 +48,14 @@ def migrate(
47
48
  alembic_cfg.set_main_option("script_location", scripts_location)
48
49
  url = str(engine.url).replace("%", "%%")
49
50
  alembic_cfg.set_main_option("sqlalchemy.url", url)
51
+ start_time = perf_counter()
50
52
  with engine.connect() as conn:
51
53
  alembic_cfg.attributes["connection"] = conn
52
54
  command.upgrade(alembic_cfg, "head")
55
+ elapsed_time = perf_counter() - start_time
53
56
  engine.dispose()
54
57
  printif(log_migrations, "---------------------------")
55
- printif(log_migrations, "✅ Migrations complete.")
58
+ printif(log_migrations, f"✅ Migrations completed in {elapsed_time:.3f} seconds.")
56
59
  except BaseException as e:
57
60
  if error_queue:
58
61
  error_queue.put(e)
@@ -27,6 +27,8 @@ from sklearn import metrics as sk
27
27
  from sklearn.utils.multiclass import check_classification_targets
28
28
  from wrapt import PartialCallableObjectProxy
29
29
 
30
+ from phoenix.config import SKLEARN_VERSION
31
+
30
32
 
31
33
  class Eval(PartialCallableObjectProxy, ABC): # type: ignore
32
34
  def __call__(
@@ -232,5 +234,9 @@ class SkEval(Enum):
232
234
  r2_score = RegressionEval(sk.r2_score)
233
235
  recall_score = ClassificationEval(sk.recall_score)
234
236
  roc_auc_score = ScoredClassificationEval(sk.roc_auc_score)
235
- root_mean_squared_error = RegressionEval(sk.mean_squared_error, squared=False)
237
+ root_mean_squared_error = (
238
+ RegressionEval(sk.mean_squared_error, squared=False)
239
+ if SKLEARN_VERSION < (1, 6)
240
+ else RegressionEval(sk.root_mean_squared_error)
241
+ )
236
242
  zero_one_loss = ClassificationEval(sk.zero_one_loss)
@@ -318,6 +318,9 @@ class ChatCompletionMutationMixin:
318
318
  ]
319
319
  if template_options := input.template:
320
320
  messages = list(_formatted_messages(messages, template_options))
321
+ attributes.update(
322
+ {PROMPT_TEMPLATE_VARIABLES: safe_json_dumps(template_options.variables)}
323
+ )
321
324
 
322
325
  invocation_parameters = llm_client.construct_invocation_parameters(
323
326
  input.invocation_parameters
@@ -584,5 +587,7 @@ TOOL_CALL_FUNCTION_NAME = ToolCallAttributes.TOOL_CALL_FUNCTION_NAME
584
587
  TOOL_CALL_FUNCTION_ARGUMENTS_JSON = ToolCallAttributes.TOOL_CALL_FUNCTION_ARGUMENTS_JSON
585
588
 
586
589
  TOOL_JSON_SCHEMA = ToolAttributes.TOOL_JSON_SCHEMA
590
+ PROMPT_TEMPLATE_VARIABLES = SpanAttributes.LLM_PROMPT_TEMPLATE_VARIABLES
591
+
587
592
 
588
593
  PLAYGROUND_PROJECT_NAME = "playground"
@@ -15,6 +15,7 @@ from typing import (
15
15
  )
16
16
 
17
17
  import strawberry
18
+ from openinference.instrumentation import safe_json_dumps
18
19
  from openinference.semconv.trace import SpanAttributes
19
20
  from sqlalchemy import and_, func, insert, select
20
21
  from sqlalchemy.orm import load_only
@@ -118,6 +119,7 @@ class Subscription:
118
119
  )
119
120
  for message in input.messages
120
121
  ]
122
+ attributes = None
121
123
  if template_options := input.template:
122
124
  messages = list(
123
125
  _formatted_messages(
@@ -126,6 +128,7 @@ class Subscription:
126
128
  template_variables=template_options.variables,
127
129
  )
128
130
  )
131
+ attributes = {PROMPT_TEMPLATE_VARIABLES: safe_json_dumps(template_options.variables)}
129
132
  invocation_parameters = llm_client.construct_invocation_parameters(
130
133
  input.invocation_parameters
131
134
  )
@@ -133,6 +136,7 @@ class Subscription:
133
136
  input=input,
134
137
  messages=messages,
135
138
  invocation_parameters=invocation_parameters,
139
+ attributes=attributes,
136
140
  ) as span:
137
141
  async for chunk in llm_client.chat_completion_create(
138
142
  messages=messages, tools=input.tools or [], **invocation_parameters
@@ -424,6 +428,7 @@ async def _stream_chat_completion_over_dataset_example(
424
428
  input=input,
425
429
  messages=messages,
426
430
  invocation_parameters=invocation_parameters,
431
+ attributes={PROMPT_TEMPLATE_VARIABLES: safe_json_dumps(revision.input)},
427
432
  ) as span:
428
433
  async for chunk in llm_client.chat_completion_create(
429
434
  messages=messages, tools=input.tools or [], **invocation_parameters
@@ -589,3 +594,4 @@ def _default_playground_experiment_metadata(
589
594
  LLM_OUTPUT_MESSAGES = SpanAttributes.LLM_OUTPUT_MESSAGES
590
595
  LLM_TOKEN_COUNT_COMPLETION = SpanAttributes.LLM_TOKEN_COUNT_COMPLETION
591
596
  LLM_TOKEN_COUNT_PROMPT = SpanAttributes.LLM_TOKEN_COUNT_PROMPT
597
+ PROMPT_TEMPLATE_VARIABLES = SpanAttributes.LLM_PROMPT_TEMPLATE_VARIABLES
@@ -477,7 +477,7 @@ def _row_indices(
477
477
  return
478
478
  shuffled_indices = np.arange(start, stop)
479
479
  np.random.shuffle(shuffled_indices)
480
- yield from shuffled_indices
480
+ yield from shuffled_indices # type: ignore[misc,unused-ignore]
481
481
 
482
482
 
483
483
  def to_gql_embedding_dimension(
@@ -1,32 +1,32 @@
1
1
  {
2
- "_components-Bo-xjXoV.js": {
3
- "file": "assets/components-Bo-xjXoV.js",
2
+ "_components-DrwPLMB6.js": {
3
+ "file": "assets/components-DrwPLMB6.js",
4
4
  "name": "components",
5
5
  "imports": [
6
- "_vendor-UNccFYqq.js",
7
- "_pages-BfYVoiUE.js",
8
- "_vendor-arizeai-gSIqhzZY.js",
9
- "_vendor-codemirror-fSYjW3f-.js",
6
+ "_vendor-Cdrqqth8.js",
7
+ "_pages-Cmqh2i4E.js",
8
+ "_vendor-arizeai-BSCL03yQ.js",
9
+ "_vendor-codemirror-Utqu7Snw.js",
10
10
  "_vendor-three-DwGkEfCM.js"
11
11
  ]
12
12
  },
13
- "_pages-BfYVoiUE.js": {
14
- "file": "assets/pages-BfYVoiUE.js",
13
+ "_pages-Cmqh2i4E.js": {
14
+ "file": "assets/pages-Cmqh2i4E.js",
15
15
  "name": "pages",
16
16
  "imports": [
17
- "_vendor-UNccFYqq.js",
18
- "_vendor-arizeai-gSIqhzZY.js",
19
- "_components-Bo-xjXoV.js",
20
- "_vendor-recharts-CVVyA2X0.js",
21
- "_vendor-codemirror-fSYjW3f-.js"
17
+ "_vendor-Cdrqqth8.js",
18
+ "_vendor-arizeai-BSCL03yQ.js",
19
+ "_components-DrwPLMB6.js",
20
+ "_vendor-recharts-CNNUvc5T.js",
21
+ "_vendor-codemirror-Utqu7Snw.js"
22
22
  ]
23
23
  },
24
24
  "_vendor-!~{003}~.js": {
25
25
  "file": "assets/vendor-DxkFTwjz.css",
26
26
  "src": "_vendor-!~{003}~.js"
27
27
  },
28
- "_vendor-UNccFYqq.js": {
29
- "file": "assets/vendor-UNccFYqq.js",
28
+ "_vendor-Cdrqqth8.js": {
29
+ "file": "assets/vendor-Cdrqqth8.js",
30
30
  "name": "vendor",
31
31
  "imports": [
32
32
  "_vendor-three-DwGkEfCM.js"
@@ -35,25 +35,33 @@
35
35
  "assets/vendor-DxkFTwjz.css"
36
36
  ]
37
37
  },
38
- "_vendor-arizeai-gSIqhzZY.js": {
39
- "file": "assets/vendor-arizeai-gSIqhzZY.js",
38
+ "_vendor-arizeai-BSCL03yQ.js": {
39
+ "file": "assets/vendor-arizeai-BSCL03yQ.js",
40
40
  "name": "vendor-arizeai",
41
41
  "imports": [
42
- "_vendor-UNccFYqq.js"
42
+ "_vendor-Cdrqqth8.js"
43
43
  ]
44
44
  },
45
- "_vendor-codemirror-fSYjW3f-.js": {
46
- "file": "assets/vendor-codemirror-fSYjW3f-.js",
45
+ "_vendor-codemirror-Utqu7Snw.js": {
46
+ "file": "assets/vendor-codemirror-Utqu7Snw.js",
47
47
  "name": "vendor-codemirror",
48
48
  "imports": [
49
- "_vendor-UNccFYqq.js"
49
+ "_vendor-Cdrqqth8.js",
50
+ "_vendor-shiki-B6bHerDK.js"
50
51
  ]
51
52
  },
52
- "_vendor-recharts-CVVyA2X0.js": {
53
- "file": "assets/vendor-recharts-CVVyA2X0.js",
53
+ "_vendor-recharts-CNNUvc5T.js": {
54
+ "file": "assets/vendor-recharts-CNNUvc5T.js",
54
55
  "name": "vendor-recharts",
55
56
  "imports": [
56
- "_vendor-UNccFYqq.js"
57
+ "_vendor-Cdrqqth8.js"
58
+ ]
59
+ },
60
+ "_vendor-shiki-B6bHerDK.js": {
61
+ "file": "assets/vendor-shiki-B6bHerDK.js",
62
+ "name": "vendor-shiki",
63
+ "imports": [
64
+ "_vendor-Cdrqqth8.js"
57
65
  ]
58
66
  },
59
67
  "_vendor-three-DwGkEfCM.js": {
@@ -61,18 +69,19 @@
61
69
  "name": "vendor-three"
62
70
  },
63
71
  "index.tsx": {
64
- "file": "assets/index-i2KbnOZd.js",
72
+ "file": "assets/index-CTN-OfBU.js",
65
73
  "name": "index",
66
74
  "src": "index.tsx",
67
75
  "isEntry": true,
68
76
  "imports": [
69
- "_vendor-UNccFYqq.js",
70
- "_vendor-arizeai-gSIqhzZY.js",
71
- "_pages-BfYVoiUE.js",
72
- "_components-Bo-xjXoV.js",
77
+ "_vendor-Cdrqqth8.js",
78
+ "_vendor-arizeai-BSCL03yQ.js",
79
+ "_pages-Cmqh2i4E.js",
80
+ "_components-DrwPLMB6.js",
73
81
  "_vendor-three-DwGkEfCM.js",
74
- "_vendor-recharts-CVVyA2X0.js",
75
- "_vendor-codemirror-fSYjW3f-.js"
82
+ "_vendor-recharts-CNNUvc5T.js",
83
+ "_vendor-codemirror-Utqu7Snw.js",
84
+ "_vendor-shiki-B6bHerDK.js"
76
85
  ]
77
86
  }
78
87
  }