arize-phoenix 10.1.0__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.
- {arize_phoenix-10.1.0.dist-info → arize_phoenix-10.2.0.dist-info}/METADATA +2 -2
- {arize_phoenix-10.1.0.dist-info → arize_phoenix-10.2.0.dist-info}/RECORD +19 -19
- phoenix/db/insertion/dataset.py +2 -1
- phoenix/db/types/model_provider.py +1 -0
- phoenix/server/api/helpers/playground_clients.py +29 -0
- phoenix/server/api/helpers/prompts/models.py +20 -0
- phoenix/server/api/routers/v1/datasets.py +8 -2
- phoenix/server/api/types/GenerativeProvider.py +5 -0
- phoenix/server/static/.vite/manifest.json +9 -9
- phoenix/server/static/assets/{components-BHJEWQsc.js → components-ClD3sHta.js} +164 -164
- phoenix/server/static/assets/{index-CAt4FOOX.js → index-CXawXHw0.js} +1 -1
- phoenix/server/static/assets/{pages-kpw8RDmo.js → pages-BFtNRfTL.js} +122 -122
- phoenix/session/evaluation.py +6 -1
- phoenix/trace/dsl/helpers.py +90 -1
- phoenix/version.py +1 -1
- {arize_phoenix-10.1.0.dist-info → arize_phoenix-10.2.0.dist-info}/WHEEL +0 -0
- {arize_phoenix-10.1.0.dist-info → arize_phoenix-10.2.0.dist-info}/entry_points.txt +0 -0
- {arize_phoenix-10.1.0.dist-info → arize_phoenix-10.2.0.dist-info}/licenses/IP_NOTICE +0 -0
- {arize_phoenix-10.1.0.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.
|
|
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
|
|
@@ -22,7 +22,7 @@ Requires-Dist: aiosqlite
|
|
|
22
22
|
Requires-Dist: alembic<2,>=1.3.0
|
|
23
23
|
Requires-Dist: arize-phoenix-client
|
|
24
24
|
Requires-Dist: arize-phoenix-evals>=0.20.6
|
|
25
|
-
Requires-Dist: arize-phoenix-otel>=0.
|
|
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=
|
|
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=
|
|
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=
|
|
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
|
|
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=
|
|
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=
|
|
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
|
|
@@ -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=
|
|
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,10 +347,10 @@ 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=
|
|
351
|
-
phoenix/server/static/assets/components-
|
|
352
|
-
phoenix/server/static/assets/index-
|
|
353
|
-
phoenix/server/static/assets/pages-
|
|
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
354
|
phoenix/server/static/assets/vendor-DOUbLVp5.js,sha256=AN12odor8w2dKOG4LokzFITR1h52TP1qnBDQl1u67Dc,2744392
|
|
355
355
|
phoenix/server/static/assets/vendor-WIZid84E.css,sha256=spZD2r7XL5GfLO13ln-IuXfnjAref8l6g_n_AvxxOlI,5517
|
|
356
356
|
phoenix/server/static/assets/vendor-arizeai-DHqMQzfV.js,sha256=zaVJbapZYf9-reZp549G232mEi7MY7yZR2cBbchRISs,193248
|
|
@@ -363,7 +363,7 @@ phoenix/server/templates/index.html,sha256=NpJ83DULqcStXFbShNamX4_NPDtnnucuBxppv
|
|
|
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=
|
|
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=
|
|
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.
|
|
401
|
-
arize_phoenix-10.
|
|
402
|
-
arize_phoenix-10.
|
|
403
|
-
arize_phoenix-10.
|
|
404
|
-
arize_phoenix-10.
|
|
405
|
-
arize_phoenix-10.
|
|
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,,
|
phoenix/db/insertion/dataset.py
CHANGED
|
@@ -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)
|
|
@@ -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=[
|
|
@@ -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
|
-
|
|
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(
|
|
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)
|
|
@@ -14,6 +14,7 @@ class GenerativeProviderKey(Enum):
|
|
|
14
14
|
ANTHROPIC = "Anthropic"
|
|
15
15
|
AZURE_OPENAI = "Azure OpenAI"
|
|
16
16
|
GOOGLE = "Google AI Studio"
|
|
17
|
+
DEEPSEEK = "DeepSeek"
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
@strawberry.type
|
|
@@ -26,6 +27,7 @@ class GenerativeProvider:
|
|
|
26
27
|
GenerativeProviderKey.ANTHROPIC: ["claude"],
|
|
27
28
|
GenerativeProviderKey.OPENAI: ["gpt", "o1"],
|
|
28
29
|
GenerativeProviderKey.GOOGLE: ["gemini"],
|
|
30
|
+
GenerativeProviderKey.DEEPSEEK: ["deepseek"],
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
attribute_provider_to_generative_provider_map: ClassVar[dict[str, GenerativeProviderKey]] = {
|
|
@@ -33,6 +35,8 @@ class GenerativeProvider:
|
|
|
33
35
|
OpenInferenceLLMProviderValues.ANTHROPIC.value: GenerativeProviderKey.ANTHROPIC,
|
|
34
36
|
OpenInferenceLLMProviderValues.AZURE.value: GenerativeProviderKey.AZURE_OPENAI,
|
|
35
37
|
OpenInferenceLLMProviderValues.GOOGLE.value: GenerativeProviderKey.GOOGLE,
|
|
38
|
+
# Note: DeepSeek uses OpenAI compatibility but we can't duplicate the key in the dict
|
|
39
|
+
# The provider will be determined through model name prefix matching instead
|
|
36
40
|
}
|
|
37
41
|
|
|
38
42
|
model_provider_to_api_key_env_var_map: ClassVar[dict[GenerativeProviderKey, str]] = {
|
|
@@ -40,6 +44,7 @@ class GenerativeProvider:
|
|
|
40
44
|
GenerativeProviderKey.ANTHROPIC: "ANTHROPIC_API_KEY",
|
|
41
45
|
GenerativeProviderKey.OPENAI: "OPENAI_API_KEY",
|
|
42
46
|
GenerativeProviderKey.GOOGLE: "GEMINI_API_KEY",
|
|
47
|
+
GenerativeProviderKey.DEEPSEEK: "DEEPSEEK_API_KEY",
|
|
43
48
|
}
|
|
44
49
|
|
|
45
50
|
@strawberry.field
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_components-
|
|
3
|
-
"file": "assets/components-
|
|
2
|
+
"_components-ClD3sHta.js": {
|
|
3
|
+
"file": "assets/components-ClD3sHta.js",
|
|
4
4
|
"name": "components",
|
|
5
5
|
"imports": [
|
|
6
6
|
"_vendor-DOUbLVp5.js",
|
|
7
|
-
"_pages-
|
|
7
|
+
"_pages-BFtNRfTL.js",
|
|
8
8
|
"_vendor-arizeai-DHqMQzfV.js",
|
|
9
9
|
"_vendor-codemirror-DWdZV1Is.js",
|
|
10
10
|
"_vendor-three-C5WAXd5r.js"
|
|
11
11
|
]
|
|
12
12
|
},
|
|
13
|
-
"_pages-
|
|
14
|
-
"file": "assets/pages-
|
|
13
|
+
"_pages-BFtNRfTL.js": {
|
|
14
|
+
"file": "assets/pages-BFtNRfTL.js",
|
|
15
15
|
"name": "pages",
|
|
16
16
|
"imports": [
|
|
17
17
|
"_vendor-DOUbLVp5.js",
|
|
18
18
|
"_vendor-arizeai-DHqMQzfV.js",
|
|
19
|
-
"_components-
|
|
19
|
+
"_components-ClD3sHta.js",
|
|
20
20
|
"_vendor-codemirror-DWdZV1Is.js",
|
|
21
21
|
"_vendor-recharts-BfHdRd1Y.js"
|
|
22
22
|
]
|
|
@@ -69,15 +69,15 @@
|
|
|
69
69
|
"name": "vendor-three"
|
|
70
70
|
},
|
|
71
71
|
"index.tsx": {
|
|
72
|
-
"file": "assets/index-
|
|
72
|
+
"file": "assets/index-CXawXHw0.js",
|
|
73
73
|
"name": "index",
|
|
74
74
|
"src": "index.tsx",
|
|
75
75
|
"isEntry": true,
|
|
76
76
|
"imports": [
|
|
77
77
|
"_vendor-DOUbLVp5.js",
|
|
78
78
|
"_vendor-arizeai-DHqMQzfV.js",
|
|
79
|
-
"_pages-
|
|
80
|
-
"_components-
|
|
79
|
+
"_pages-BFtNRfTL.js",
|
|
80
|
+
"_components-ClD3sHta.js",
|
|
81
81
|
"_vendor-three-C5WAXd5r.js",
|
|
82
82
|
"_vendor-codemirror-DWdZV1Is.js",
|
|
83
83
|
"_vendor-shiki-CHu75YVL.js",
|