arize-phoenix 10.0.4__py3-none-any.whl → 10.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-10.0.4.dist-info → arize_phoenix-10.2.0.dist-info}/METADATA +3 -3
  2. {arize_phoenix-10.0.4.dist-info → arize_phoenix-10.2.0.dist-info}/RECORD +25 -25
  3. phoenix/db/insertion/dataset.py +2 -1
  4. phoenix/db/types/model_provider.py +1 -0
  5. phoenix/server/api/helpers/playground_clients.py +33 -0
  6. phoenix/server/api/helpers/prompts/models.py +20 -0
  7. phoenix/server/api/routers/v1/datasets.py +8 -2
  8. phoenix/server/api/routers/v1/spans.py +521 -4
  9. phoenix/server/api/types/GenerativeProvider.py +5 -0
  10. phoenix/server/static/.vite/manifest.json +44 -44
  11. phoenix/server/static/assets/{components-DULKeDfL.js → components-ClD3sHta.js} +384 -336
  12. phoenix/server/static/assets/{index-E0M82BdE.js → index-CXawXHw0.js} +6 -2
  13. phoenix/server/static/assets/{pages-Cl0A-0U2.js → pages-BFtNRfTL.js} +534 -544
  14. phoenix/server/static/assets/{vendor-oB4u9zuV.js → vendor-DOUbLVp5.js} +1 -1
  15. phoenix/server/static/assets/{vendor-arizeai-Dy-0mSNw.js → vendor-arizeai-DHqMQzfV.js} +6 -6
  16. phoenix/server/static/assets/{vendor-codemirror-DBtifKNr.js → vendor-codemirror-DWdZV1Is.js} +1 -1
  17. phoenix/server/static/assets/{vendor-recharts-D-T4KPz2.js → vendor-recharts-BfHdRd1Y.js} +1 -1
  18. phoenix/server/static/assets/{vendor-shiki-BMn4O_9F.js → vendor-shiki-CHu75YVL.js} +1 -1
  19. phoenix/session/evaluation.py +6 -1
  20. phoenix/trace/dsl/helpers.py +90 -1
  21. phoenix/version.py +1 -1
  22. {arize_phoenix-10.0.4.dist-info → arize_phoenix-10.2.0.dist-info}/WHEEL +0 -0
  23. {arize_phoenix-10.0.4.dist-info → arize_phoenix-10.2.0.dist-info}/entry_points.txt +0 -0
  24. {arize_phoenix-10.0.4.dist-info → arize_phoenix-10.2.0.dist-info}/licenses/IP_NOTICE +0 -0
  25. {arize_phoenix-10.0.4.dist-info → arize_phoenix-10.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arize-phoenix
3
- Version: 10.0.4
3
+ Version: 10.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
@@ -21,8 +21,8 @@ Requires-Dist: aioitertools
21
21
  Requires-Dist: aiosqlite
22
22
  Requires-Dist: alembic<2,>=1.3.0
23
23
  Requires-Dist: arize-phoenix-client
24
- Requires-Dist: arize-phoenix-evals>=0.13.1
25
- Requires-Dist: arize-phoenix-otel>=0.5.1
24
+ Requires-Dist: arize-phoenix-evals>=0.20.6
25
+ Requires-Dist: arize-phoenix-otel>=0.10.1
26
26
  Requires-Dist: authlib
27
27
  Requires-Dist: cachetools
28
28
  Requires-Dist: email-validator
@@ -6,7 +6,7 @@ phoenix/exceptions.py,sha256=n2L2KKuecrdflB9MsCdAYCiSEvGJptIsfRkXMoJle7A,169
6
6
  phoenix/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
7
7
  phoenix/services.py,sha256=ngkyKGVatX3cO2WJdo2hKdaVKP-xJCMvqthvga6kJss,5196
8
8
  phoenix/settings.py,sha256=x87BX7hWGQQZbrW_vrYqFR_izCGfO9gFc--JXUG4Tdk,754
9
- phoenix/version.py,sha256=gyWMSD5bIZRum86t3FjwjQ0gz3poNiCaCrUA12HtJp8,23
9
+ phoenix/version.py,sha256=Bq4gqfjuPW5XkFzJldN6MIeNfoEAHd_kjBi_JPG-_hA,23
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
@@ -26,7 +26,7 @@ phoenix/db/models.py,sha256=UELkdw132bsF9d3g2Jh-lM2UCX2sA6A8osMRTo7wZAg,51939
26
26
  phoenix/db/pg_config.py,sha256=h6mB7qF7t4Zk6VGvAiyefHGVu74o-yJynaWzeE39k9Y,6001
27
27
  phoenix/db/insertion/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
28
  phoenix/db/insertion/constants.py,sha256=8wifm7X-1XvroZ__R2Gc96NsgLhTDn0zXl4lehlXtcA,70
29
- phoenix/db/insertion/dataset.py,sha256=I9OC1ouVx7m6BH_c8hvcxW1dWGRAtpvXee29yBTuFkg,7136
29
+ phoenix/db/insertion/dataset.py,sha256=KeUtfSnznmkDDlGs6KM5URduZtIo8I951tybamwoLsc,7216
30
30
  phoenix/db/insertion/document_annotation.py,sha256=46IHWgILlIIoCkzgEtZIubqfpgF9KVA8ETWeblcpff0,6544
31
31
  phoenix/db/insertion/evaluation.py,sha256=XIlDQMx9FFu_hO1TEao8_ScgKETw61AoeGezsmngXrY,6876
32
32
  phoenix/db/insertion/helpers.py,sha256=PAYKxm21OKe_cLsIo08KGJCqT9avjabWLmvD1CpteRs,3499
@@ -53,7 +53,7 @@ phoenix/db/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
53
53
  phoenix/db/types/annotation_configs.py,sha256=keiQ9mzLZWE8Eqsu1xFxQBXvBiym0s-yPzoL8qIR4PY,2904
54
54
  phoenix/db/types/db_models.py,sha256=nMSd9gWHwObnVO3_slztlHqoeh04czS-Jxu-omS6M6E,1135
55
55
  phoenix/db/types/identifier.py,sha256=Opr3_1di6e5ncrBDn30WfBSr-jN_VGBnkkA4BMuSoyc,244
56
- phoenix/db/types/model_provider.py,sha256=96UMeqiy5X9PmYMOWA6dZAmI_BSV3yVxt9HEVYGe5Ns,157
56
+ phoenix/db/types/model_provider.py,sha256=M5SKYtK176SxYhZ-c5gQSiTTuDk8VeAxqM8jrGyfGTo,183
57
57
  phoenix/db/types/trace_retention.py,sha256=UoLVX4efhv-mcF32zHpMX_hXWe8474cmhEyPmYqeMfI,9573
58
58
  phoenix/experiments/__init__.py,sha256=6JGwgUd7xCbGpuHqYZlsmErmYvVgv7N_j43bn3dUqsk,123
59
59
  phoenix/experiments/functions.py,sha256=6cSS_5O5V1EZ_5CIQ6lGOUwFyNNsADP7Uu__GmuOz4A,37983
@@ -158,11 +158,11 @@ phoenix/server/api/helpers/__init__.py,sha256=m2-xaSPqUiSs91k62JaRDjFNfl-1byxBfY
158
158
  phoenix/server/api/helpers/annotations.py,sha256=9gMXKpMTfWEChoSCnvdWYuyB0hlSnNOp-qUdar9Vono,262
159
159
  phoenix/server/api/helpers/dataset_helpers.py,sha256=DoMBTg-qXTnC_K4Evx1WKpCCYgRbITpVqyY-8efJRf0,8984
160
160
  phoenix/server/api/helpers/experiment_run_filters.py,sha256=DOnVwrmn39eAkk2mwuZP8kIcAnR5jrOgllEwWSjsw94,29893
161
- phoenix/server/api/helpers/playground_clients.py,sha256=C-GPq4wklcnGXiW5-7-ipx5wjowDuwSKzqbGHta2QEc,41888
161
+ phoenix/server/api/helpers/playground_clients.py,sha256=rZN7uBw6fnX8u22fA1qJWmC4Ka-s5EX_epfAK3L3mwM,43168
162
162
  phoenix/server/api/helpers/playground_registry.py,sha256=CPLMziFB2wmr-dfbx7VbzO2f8YIG_k5RftzvGXYGQ1w,2570
163
163
  phoenix/server/api/helpers/playground_spans.py,sha256=ObAhvV_yNwEQDkjzgU5G73wfIisc8q4cpB0OFH5cd24,16974
164
164
  phoenix/server/api/helpers/prompts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
165
- phoenix/server/api/helpers/prompts/models.py,sha256=6AAYRqmuDMNrqelK9v-bh1qkfKLB3iHmISj7W6Awzqw,18585
165
+ phoenix/server/api/helpers/prompts/models.py,sha256=vMLaeYvn54DNISbJgSu_LjcBvH0S9XMA13ZnWsbMHZ0,19331
166
166
  phoenix/server/api/helpers/prompts/conversions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
167
167
  phoenix/server/api/helpers/prompts/conversions/anthropic.py,sha256=ZT--UqBwoGf7QMusajB6aeB7zyWGttaZigb113kgiY8,3571
168
168
  phoenix/server/api/helpers/prompts/conversions/openai.py,sha256=a43WAftFn_me6ePHDufqvlg-4Z2C31owUSsqYC0YUP8,2589
@@ -232,7 +232,7 @@ phoenix/server/api/routers/utils.py,sha256=M41BoH-fl37izhRuN2aX7lWm7jOC20A_3uClv
232
232
  phoenix/server/api/routers/v1/__init__.py,sha256=0oOcsKJkQtBXAjZAo3AMtfjyW3OGCU4MI4TGW5nV6lo,2614
233
233
  phoenix/server/api/routers/v1/annotation_configs.py,sha256=rZ3yJm7m75BVegSjSHqsdqf7n26roGg7vYYiiKfWA3A,15898
234
234
  phoenix/server/api/routers/v1/annotations.py,sha256=oeafR2tCLu-uIwM9J72gN3MX5WDhrOMU3Jqd1uIiFqg,5921
235
- phoenix/server/api/routers/v1/datasets.py,sha256=Wqiy6ZKqn4BZSFyn93gzuhWx3mGn7kOkNncHzCWuBq8,37325
235
+ phoenix/server/api/routers/v1/datasets.py,sha256=Xh-M8bnCmjflmPcgv8dAG8Cek88sApuqQlvNBuSnrYc,37534
236
236
  phoenix/server/api/routers/v1/evaluations.py,sha256=GFTo42aIEX0Htn0EjjoE1JZDYlvryeZ_CK9kowhwzGw,12830
237
237
  phoenix/server/api/routers/v1/experiment_evaluations.py,sha256=xSs004jNYsOl3eg-6Zjo2tt9TefTd7WR3twWYrsNQNk,4828
238
238
  phoenix/server/api/routers/v1/experiment_runs.py,sha256=FreGzzprPpJ_DBHUkdUckca6EGCrnvgVpqk3CLT7wRc,7000
@@ -240,7 +240,7 @@ phoenix/server/api/routers/v1/experiments.py,sha256=V9_sxqLTE1MKGFu9H3FEdGKr70lY
240
240
  phoenix/server/api/routers/v1/models.py,sha256=r0nM2kFJ3mxDqgc5vFr1cjNuyOPs3RIKE_DS2VMdF48,1749
241
241
  phoenix/server/api/routers/v1/projects.py,sha256=RVOAWW8RQIqaebQFcIbk1OGxO7B1BITtUewlcSUhasg,12615
242
242
  phoenix/server/api/routers/v1/prompts.py,sha256=aBOUBwLDzZDIzJQkxJcR8ZKnakNJOLMwzsLKINSs1mA,26545
243
- phoenix/server/api/routers/v1/spans.py,sha256=RsmHZ-KusCUleCObNLzlHgOtbTqR50PU82sr8mspecc,10811
243
+ phoenix/server/api/routers/v1/spans.py,sha256=qJVN0pVgZM5cMXQoNrCwmFjKDm_7-JHKdt_KU9IDFsA,32121
244
244
  phoenix/server/api/routers/v1/traces.py,sha256=DfzeszQvtlrVxvurJLaWJJAhkCZ4BodLwpFuBYPwN5Q,8206
245
245
  phoenix/server/api/routers/v1/utils.py,sha256=oXIOGPzPTkE0ZWUTRCoRIQQ7wTzoSwtWFaUSjlGBqts,4960
246
246
  phoenix/server/api/types/Annotation.py,sha256=gsl8CwjIbDUbZRj4d9USwZ_w_Tkz4i7zuZh9ftV80jA,1132
@@ -283,7 +283,7 @@ phoenix/server/api/types/ExperimentRunAnnotation.py,sha256=YGw5zIbjRXUK3zH475DnE
283
283
  phoenix/server/api/types/ExportedFile.py,sha256=e3GTn7B5LgsTbqiwjhMCQH7VsiqXitrBO4aCMS1lHsg,163
284
284
  phoenix/server/api/types/Functionality.py,sha256=zDDl2bANIqjwfooSOHg-VQk6-wQy05mREwjV_-VbSIg,262
285
285
  phoenix/server/api/types/GenerativeModel.py,sha256=P7eBUMXbeqaLwSSGBKdZy3a5gOLd9I0fuP8o1st6H08,193
286
- phoenix/server/api/types/GenerativeProvider.py,sha256=v5wXUbAJaQA4GL8xOgTjNOWV-x39p20zMC9MOvS8ruM,3941
286
+ phoenix/server/api/types/GenerativeProvider.py,sha256=IK6OTnjRPGmz5AgHcMjcbYnmyohvoqFr42lhE9kQbc0,4260
287
287
  phoenix/server/api/types/Identifier.py,sha256=n3rxpoKNCwEvZu7QY8yr7g3AW2mU-U62BxFXYaiHLKk,306
288
288
  phoenix/server/api/types/Inferences.py,sha256=wv88PjcK-KwnzmTdukiAX9EV2KX4GqsKXVAUm1JtnDA,3383
289
289
  phoenix/server/api/types/InferencesRole.py,sha256=mLfeHpyhGUVX1-tWzT9IwC_cD18BZrD3RA4YsHYuSpA,595
@@ -347,23 +347,23 @@ phoenix/server/static/apple-touch-icon-76x76.png,sha256=CT_xT12I0u2i0WU8JzBZBuOQ
347
347
  phoenix/server/static/apple-touch-icon.png,sha256=fOfpjqGpWYbJ0eAurKsyoZP1EAs6ZVooBJ_SGk2ZkDs,3801
348
348
  phoenix/server/static/favicon.ico,sha256=bY0vvCKRftemZfPShwZtE93DiiQdaYaozkPGwNFr6H8,34494
349
349
  phoenix/server/static/modernizr.js,sha256=mvK-XtkNqjOral-QvzoqsyOMECXIMu5BQwSVN_wcU9c,2564
350
- phoenix/server/static/.vite/manifest.json,sha256=qvWFastdLyXnceS4MZmIPrKElK-bFuE8RRfzZH5k7kI,2165
351
- phoenix/server/static/assets/components-DULKeDfL.js,sha256=iGiONZ4ZFgUfocixbsrs--OKKF6YCNKFR4AFfw5_rpQ,540890
352
- phoenix/server/static/assets/index-E0M82BdE.js,sha256=_2I1bt69d7vhL-IdVCHKs1Geodztj9fi-h4Qq5m7Rd0,60283
353
- phoenix/server/static/assets/pages-Cl0A-0U2.js,sha256=wUCE1V9qy66c9twIYV0djjOAntXS8fqZIdcAvy7LfMM,1033702
350
+ phoenix/server/static/.vite/manifest.json,sha256=nusT1ZL6d9VYlA98soTaFzNOLUQcCwHV7LFJSD1itG4,2165
351
+ phoenix/server/static/assets/components-ClD3sHta.js,sha256=bpA1H7yxmHnfPpXom80A_7ZRTHI8dYRF1EmK5CIymIM,546485
352
+ phoenix/server/static/assets/index-CXawXHw0.js,sha256=ShQnyX324rK1NMlHg-XAEfRU42wpleJ4yApCdbvswI8,60432
353
+ phoenix/server/static/assets/pages-BFtNRfTL.js,sha256=-7Yl5uH2NZms_-g5unnOlOCgnFsIdDs-RprWj1lueSY,1033529
354
+ phoenix/server/static/assets/vendor-DOUbLVp5.js,sha256=AN12odor8w2dKOG4LokzFITR1h52TP1qnBDQl1u67Dc,2744392
354
355
  phoenix/server/static/assets/vendor-WIZid84E.css,sha256=spZD2r7XL5GfLO13ln-IuXfnjAref8l6g_n_AvxxOlI,5517
355
- phoenix/server/static/assets/vendor-arizeai-Dy-0mSNw.js,sha256=z31Zu8483ieIn8uA916ca4O0E1d62E2CIb2Vastw4jo,193248
356
- phoenix/server/static/assets/vendor-codemirror-DBtifKNr.js,sha256=GTbWyAwCsvpTLghl-Z70jTHdW1htwhulJ5x-P1BCKGA,781264
357
- phoenix/server/static/assets/vendor-oB4u9zuV.js,sha256=urt3ZQ2T4zryDs_0BOgzSLzE6CF9vHHd01cAf3vfefE,2744392
358
- phoenix/server/static/assets/vendor-recharts-D-T4KPz2.js,sha256=CsrHvK1HHMKh4FUhX2oBjc8FupQqktP0iM16HiutK_4,282150
359
- phoenix/server/static/assets/vendor-shiki-BMn4O_9F.js,sha256=LIz0aw3E5-PMDE-1oyAG08B_By2OKHMZ74AvuWJU0ug,8980312
356
+ phoenix/server/static/assets/vendor-arizeai-DHqMQzfV.js,sha256=zaVJbapZYf9-reZp549G232mEi7MY7yZR2cBbchRISs,193248
357
+ phoenix/server/static/assets/vendor-codemirror-DWdZV1Is.js,sha256=S0-OzJX5aZayqOQS3KcC-ztH5EITxeCHnOA2nk5li8A,781264
358
+ phoenix/server/static/assets/vendor-recharts-BfHdRd1Y.js,sha256=YdjHHSsRjbhTkgi_NdynIGnwqX1YibrXZhGgbewsOfo,282150
359
+ phoenix/server/static/assets/vendor-shiki-CHu75YVL.js,sha256=FaxGIHyaAJFTau_Jt8GlW41aKphdTaEur_nSd6UrbpU,8980312
360
360
  phoenix/server/static/assets/vendor-three-C5WAXd5r.js,sha256=ELkg06u70N7h8oFmvqdoHyPuUf9VgGEWeT4LKFx4VWo,620975
361
361
  phoenix/server/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
362
362
  phoenix/server/templates/index.html,sha256=NpJ83DULqcStXFbShNamX4_NPDtnnucuBxppvUYjJa8,4409
363
363
  phoenix/session/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
364
364
  phoenix/session/client.py,sha256=uw5WlCuFcN_eEj7Ko2bhJVcaihEIp7Evy50KnL6Sq-k,35602
365
365
  phoenix/session/data_extractor.py,sha256=Y0RzYFaNy9fQj8PEIeQ76TBZ90_E1FW7bXu3K5x0EZY,2782
366
- phoenix/session/evaluation.py,sha256=Q3fOMNELvqkk-b6a6PKc8pDJdsNQ0ZbTpseUSA2NKqs,5300
366
+ phoenix/session/evaluation.py,sha256=tMElekWeLKOPHdLm1Pu_sXYWYaSU5rHAc7y8qi3jYhE,5359
367
367
  phoenix/session/session.py,sha256=twE8tld8knShmTpZp6R80CUt2jau3RmfdfZAQCLSTKU,27621
368
368
  phoenix/trace/__init__.py,sha256=ujk_uYjM8gmm-YqnyXxF-kekfwid0bcaPMTtNNcaw6U,407
369
369
  phoenix/trace/attributes.py,sha256=hyEKYZWPCP4NRmW7VmiC2voa3TH7FYKUBR9DYiVfXlw,12627
@@ -382,7 +382,7 @@ phoenix/trace/utils.py,sha256=nlOmbF4n57s6qwZsMoeyEdfPHl6KE0fZM8V9aHaIR-I,1681
382
382
  phoenix/trace/dsl/README.md,sha256=ihmP9zGUC5V-TDbzKla76LuyDqPDQIBUH2BORwxNI68,2902
383
383
  phoenix/trace/dsl/__init__.py,sha256=WIQIjJg362XD3s50OsPJJ0xbDsGp41bSv7vDllLrPuA,144
384
384
  phoenix/trace/dsl/filter.py,sha256=FYOzH1gkwlKBYepscZzwHeeXnJdTadC_m4v0cYRs00Y,31557
385
- phoenix/trace/dsl/helpers.py,sha256=pJESAz7sDNE7HTVCFzxIx5sEsyUSh7RIN7yqmndAaF8,4171
385
+ phoenix/trace/dsl/helpers.py,sha256=Hc0HRqvYWl71waee0vKLNwmszc2Q1ba4Q8svXxeEqJI,7708
386
386
  phoenix/trace/dsl/query.py,sha256=I7iDsJk1cwxYh0EUFXLu2DDqPU5WYxVa_ntVOe5v8s0,36350
387
387
  phoenix/trace/v1/__init__.py,sha256=-IbAD0ruESMjvQLvGAg9CTfjBUATFDx1OXseDPis6-0,88
388
388
  phoenix/trace/v1/evaluation_pb2.py,sha256=8sXvv2BW_vqD30MOMbmkeE2zpmm7ncik21kl3e-HzeQ,2254
@@ -397,9 +397,9 @@ phoenix/utilities/project.py,sha256=auVpARXkDb-JgeX5f2aStyFIkeKvGwN9l7qrFeJMVxI,
397
397
  phoenix/utilities/re.py,sha256=6YyUWIkv0zc2SigsxfOWIHzdpjKA_TZo2iqKq7zJKvw,2081
398
398
  phoenix/utilities/span_store.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
399
399
  phoenix/utilities/template_formatters.py,sha256=gh9PJD6WEGw7TEYXfSst1UR4pWWwmjxMLrDVQ_CkpkQ,2779
400
- arize_phoenix-10.0.4.dist-info/METADATA,sha256=Xywjo53oBnsHEco90Wn_5l0uSpp5XcDVhT2MjjG8VNg,25591
401
- arize_phoenix-10.0.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
402
- arize_phoenix-10.0.4.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
403
- arize_phoenix-10.0.4.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
404
- arize_phoenix-10.0.4.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
405
- arize_phoenix-10.0.4.dist-info/RECORD,,
400
+ arize_phoenix-10.2.0.dist-info/METADATA,sha256=j6w9SCpH9vxLqxyRuz81rKJpzNOGLUmg7X4uTGCGMKw,25592
401
+ arize_phoenix-10.2.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
402
+ arize_phoenix-10.2.0.dist-info/entry_points.txt,sha256=Pgpn8Upxx9P8z8joPXZWl2LlnAlGc3gcQoVchb06X1Q,94
403
+ arize_phoenix-10.2.0.dist-info/licenses/IP_NOTICE,sha256=JBqyyCYYxGDfzQ0TtsQgjts41IJoa-hiwDrBjCb9gHM,469
404
+ arize_phoenix-10.2.0.dist-info/licenses/LICENSE,sha256=HFkW9REuMOkvKRACuwLPT0hRydHb3zNg-fdFt94td18,3794
405
+ arize_phoenix-10.2.0.dist-info/RECORD,,
@@ -35,6 +35,7 @@ Examples: TypeAlias = Iterable[ExampleContent]
35
35
  @dataclass(frozen=True)
36
36
  class DatasetExampleAdditionEvent(DataManipulationEvent):
37
37
  dataset_id: DatasetId
38
+ dataset_version_id: DatasetVersionId
38
39
 
39
40
 
40
41
  async def insert_dataset(
@@ -205,7 +206,7 @@ async def add_dataset_examples(
205
206
  f"{dataset_example_id=}"
206
207
  )
207
208
  raise
208
- return DatasetExampleAdditionEvent(dataset_id=dataset_id)
209
+ return DatasetExampleAdditionEvent(dataset_id=dataset_id, dataset_version_id=dataset_version_id)
209
210
 
210
211
 
211
212
  @dataclass(frozen=True)
@@ -6,3 +6,4 @@ class ModelProvider(Enum):
6
6
  AZURE_OPENAI = "AZURE_OPENAI"
7
7
  ANTHROPIC = "ANTHROPIC"
8
8
  GOOGLE = "GOOGLE"
9
+ DEEPSEEK = "DEEPSEEK"
@@ -453,6 +453,35 @@ class OpenAIBaseStreamingClient(PlaygroundStreamingClient):
453
453
  yield LLM_TOKEN_COUNT_TOTAL, usage.total_tokens
454
454
 
455
455
 
456
+ @register_llm_client(
457
+ provider_key=GenerativeProviderKey.DEEPSEEK,
458
+ model_names=[
459
+ PROVIDER_DEFAULT,
460
+ "deepseek-chat",
461
+ "deepseek-reasoner",
462
+ ],
463
+ )
464
+ class DeepSeekStreamingClient(OpenAIBaseStreamingClient):
465
+ def __init__(
466
+ self,
467
+ model: GenerativeModelInput,
468
+ api_key: Optional[str] = None,
469
+ ) -> None:
470
+ from openai import AsyncOpenAI
471
+
472
+ base_url = model.base_url or getenv("DEEPSEEK_BASE_URL")
473
+ if not (api_key := api_key or getenv("DEEPSEEK_API_KEY")):
474
+ if not base_url:
475
+ raise BadRequest("An API key is required for OpenAI models")
476
+ api_key = "sk-fake-api-key"
477
+ client = AsyncOpenAI(api_key=api_key, base_url=base_url or "https://api.deepseek.com")
478
+ super().__init__(client=client, model=model, api_key=api_key)
479
+ # DeepSeek uses OpenAI-compatible API but we'll track it as a separate provider
480
+ # Adding a custom "deepseek" provider value to make it distinguishable in traces
481
+ self._attributes[LLM_PROVIDER] = "deepseek"
482
+ self._attributes[LLM_SYSTEM] = OpenInferenceLLMSystemValues.OPENAI.value
483
+
484
+
456
485
  @register_llm_client(
457
486
  provider_key=GenerativeProviderKey.OPENAI,
458
487
  model_names=[
@@ -701,6 +730,10 @@ class AzureOpenAIStreamingClient(OpenAIBaseStreamingClient):
701
730
  provider_key=GenerativeProviderKey.ANTHROPIC,
702
731
  model_names=[
703
732
  PROVIDER_DEFAULT,
733
+ "claude-sonnet-4-0",
734
+ "claude-sonnet-4-20250514",
735
+ "claude-opus-4-0",
736
+ "claude-opus-4-20250514",
704
737
  "claude-3-7-sonnet-latest",
705
738
  "claude-3-7-sonnet-20250219",
706
739
  "claude-3-5-sonnet-latest",
@@ -332,11 +332,20 @@ class PromptAzureOpenAIInvocationParametersContent(PromptOpenAIInvocationParamet
332
332
  pass
333
333
 
334
334
 
335
+ class PromptDeepSeekInvocationParametersContent(PromptOpenAIInvocationParametersContent):
336
+ pass
337
+
338
+
335
339
  class PromptAzureOpenAIInvocationParameters(DBBaseModel):
336
340
  type: Literal["azure_openai"]
337
341
  azure_openai: PromptAzureOpenAIInvocationParametersContent
338
342
 
339
343
 
344
+ class PromptDeepSeekInvocationParameters(DBBaseModel):
345
+ type: Literal["deepseek"]
346
+ deepseek: PromptDeepSeekInvocationParametersContent
347
+
348
+
340
349
  class PromptAnthropicThinkingConfigDisabled(DBBaseModel):
341
350
  type: Literal["disabled"]
342
351
 
@@ -391,6 +400,7 @@ PromptInvocationParameters: TypeAlias = Annotated[
391
400
  PromptAzureOpenAIInvocationParameters,
392
401
  PromptAnthropicInvocationParameters,
393
402
  PromptGoogleInvocationParameters,
403
+ PromptDeepSeekInvocationParameters,
394
404
  ],
395
405
  Field(..., discriminator="type"),
396
406
  ]
@@ -407,6 +417,8 @@ def get_raw_invocation_parameters(
407
417
  return invocation_parameters.anthropic.model_dump()
408
418
  if isinstance(invocation_parameters, PromptGoogleInvocationParameters):
409
419
  return invocation_parameters.google.model_dump()
420
+ if isinstance(invocation_parameters, PromptDeepSeekInvocationParameters):
421
+ return invocation_parameters.deepseek.model_dump()
410
422
  assert_never(invocation_parameters)
411
423
 
412
424
 
@@ -420,6 +432,7 @@ def is_prompt_invocation_parameters(
420
432
  PromptAzureOpenAIInvocationParameters,
421
433
  PromptAnthropicInvocationParameters,
422
434
  PromptGoogleInvocationParameters,
435
+ PromptDeepSeekInvocationParameters,
423
436
  ),
424
437
  )
425
438
 
@@ -444,6 +457,13 @@ def validate_invocation_parameters(
444
457
  invocation_parameters
445
458
  ),
446
459
  )
460
+ elif model_provider is ModelProvider.DEEPSEEK:
461
+ return PromptDeepSeekInvocationParameters(
462
+ type="deepseek",
463
+ deepseek=PromptDeepSeekInvocationParametersContent.model_validate(
464
+ invocation_parameters
465
+ ),
466
+ )
447
467
  elif model_provider is ModelProvider.ANTHROPIC:
448
468
  return PromptAnthropicInvocationParameters(
449
469
  type="anthropic",
@@ -312,6 +312,7 @@ async def list_dataset_versions(
312
312
 
313
313
  class UploadDatasetData(V1RoutesBaseModel):
314
314
  dataset_id: str
315
+ version_id: str
315
316
 
316
317
 
317
318
  class UploadDatasetResponseBody(ResponseBody[UploadDatasetData]):
@@ -468,10 +469,15 @@ async def upload_dataset(
468
469
  )
469
470
  if sync:
470
471
  async with request.app.state.db() as session:
471
- dataset_id = (await operation(session)).dataset_id
472
+ event = await operation(session)
473
+ dataset_id = event.dataset_id
474
+ version_id = event.dataset_version_id
472
475
  request.state.event_queue.put(DatasetInsertEvent((dataset_id,)))
473
476
  return UploadDatasetResponseBody(
474
- data=UploadDatasetData(dataset_id=str(GlobalID(Dataset.__name__, str(dataset_id))))
477
+ data=UploadDatasetData(
478
+ dataset_id=str(GlobalID(Dataset.__name__, str(dataset_id))),
479
+ version_id=str(GlobalID(DatasetVersion.__name__, str(version_id))),
480
+ )
475
481
  )
476
482
  try:
477
483
  request.state.enqueue_operation(operation)