mistralai 1.9.10__py3-none-any.whl → 1.10.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.
Files changed (86) hide show
  1. mistralai/_hooks/registration.py +5 -0
  2. mistralai/_hooks/tracing.py +50 -0
  3. mistralai/_version.py +3 -3
  4. mistralai/accesses.py +51 -116
  5. mistralai/agents.py +58 -85
  6. mistralai/audio.py +8 -3
  7. mistralai/basesdk.py +15 -5
  8. mistralai/batch.py +6 -3
  9. mistralai/beta.py +10 -5
  10. mistralai/chat.py +70 -97
  11. mistralai/classifiers.py +57 -144
  12. mistralai/conversations.py +435 -412
  13. mistralai/documents.py +156 -359
  14. mistralai/embeddings.py +21 -42
  15. mistralai/extra/observability/__init__.py +15 -0
  16. mistralai/extra/observability/otel.py +393 -0
  17. mistralai/extra/run/tools.py +28 -16
  18. mistralai/files.py +53 -176
  19. mistralai/fim.py +46 -73
  20. mistralai/fine_tuning.py +6 -3
  21. mistralai/jobs.py +49 -158
  22. mistralai/libraries.py +71 -178
  23. mistralai/mistral_agents.py +298 -179
  24. mistralai/mistral_jobs.py +51 -138
  25. mistralai/models/__init__.py +94 -5
  26. mistralai/models/agent.py +15 -2
  27. mistralai/models/agentconversation.py +11 -3
  28. mistralai/models/agentcreationrequest.py +6 -2
  29. mistralai/models/agents_api_v1_agents_deleteop.py +16 -0
  30. mistralai/models/agents_api_v1_agents_getop.py +40 -3
  31. mistralai/models/agents_api_v1_agents_listop.py +72 -2
  32. mistralai/models/agents_api_v1_conversations_deleteop.py +18 -0
  33. mistralai/models/agents_api_v1_conversations_listop.py +39 -2
  34. mistralai/models/agentscompletionrequest.py +21 -6
  35. mistralai/models/agentscompletionstreamrequest.py +21 -6
  36. mistralai/models/agentupdaterequest.py +18 -2
  37. mistralai/models/audiotranscriptionrequest.py +2 -0
  38. mistralai/models/batchjobin.py +10 -0
  39. mistralai/models/chatcompletionrequest.py +22 -5
  40. mistralai/models/chatcompletionstreamrequest.py +22 -5
  41. mistralai/models/conversationrequest.py +15 -4
  42. mistralai/models/conversationrestartrequest.py +50 -2
  43. mistralai/models/conversationrestartstreamrequest.py +50 -2
  44. mistralai/models/conversationstreamrequest.py +15 -4
  45. mistralai/models/documentout.py +26 -10
  46. mistralai/models/documentupdatein.py +24 -3
  47. mistralai/models/embeddingrequest.py +8 -8
  48. mistralai/models/files_api_routes_list_filesop.py +7 -0
  49. mistralai/models/fimcompletionrequest.py +8 -9
  50. mistralai/models/fimcompletionstreamrequest.py +8 -9
  51. mistralai/models/httpvalidationerror.py +11 -6
  52. mistralai/models/libraries_documents_list_v1op.py +15 -2
  53. mistralai/models/libraryout.py +10 -7
  54. mistralai/models/listfilesout.py +35 -4
  55. mistralai/models/mistralerror.py +26 -0
  56. mistralai/models/modelcapabilities.py +13 -4
  57. mistralai/models/modelconversation.py +8 -2
  58. mistralai/models/no_response_error.py +13 -0
  59. mistralai/models/ocrpageobject.py +26 -5
  60. mistralai/models/ocrrequest.py +17 -1
  61. mistralai/models/ocrtableobject.py +31 -0
  62. mistralai/models/prediction.py +4 -0
  63. mistralai/models/requestsource.py +7 -0
  64. mistralai/models/responseformat.py +4 -2
  65. mistralai/models/responseformats.py +0 -1
  66. mistralai/models/responsevalidationerror.py +25 -0
  67. mistralai/models/sdkerror.py +30 -14
  68. mistralai/models/sharingdelete.py +36 -5
  69. mistralai/models/sharingin.py +36 -5
  70. mistralai/models/sharingout.py +3 -3
  71. mistralai/models/toolexecutiondeltaevent.py +13 -4
  72. mistralai/models/toolexecutiondoneevent.py +13 -4
  73. mistralai/models/toolexecutionentry.py +9 -4
  74. mistralai/models/toolexecutionstartedevent.py +13 -4
  75. mistralai/models_.py +67 -212
  76. mistralai/ocr.py +33 -36
  77. mistralai/sdk.py +15 -2
  78. mistralai/transcriptions.py +21 -60
  79. mistralai/utils/__init__.py +18 -5
  80. mistralai/utils/eventstreaming.py +10 -0
  81. mistralai/utils/serializers.py +3 -2
  82. mistralai/utils/unmarshal_json_response.py +24 -0
  83. {mistralai-1.9.10.dist-info → mistralai-1.10.0.dist-info}/METADATA +89 -40
  84. {mistralai-1.9.10.dist-info → mistralai-1.10.0.dist-info}/RECORD +86 -75
  85. {mistralai-1.9.10.dist-info → mistralai-1.10.0.dist-info}/WHEEL +1 -1
  86. {mistralai-1.9.10.dist-info → mistralai-1.10.0.dist-info/licenses}/LICENSE +0 -0
mistralai/classifiers.py CHANGED
@@ -5,6 +5,7 @@ from mistralai import models, utils
5
5
  from mistralai._hooks import HookContext
6
6
  from mistralai.types import OptionalNullable, UNSET
7
7
  from mistralai.utils import get_security_from_env
8
+ from mistralai.utils.unmarshal_json_response import unmarshal_json_response
8
9
  from typing import Any, Mapping, Optional, Union
9
10
 
10
11
 
@@ -92,31 +93,20 @@ class Classifiers(BaseSDK):
92
93
 
93
94
  response_data: Any = None
94
95
  if utils.match_response(http_res, "200", "application/json"):
95
- return utils.unmarshal_json(http_res.text, models.ModerationResponse)
96
+ return unmarshal_json_response(models.ModerationResponse, http_res)
96
97
  if utils.match_response(http_res, "422", "application/json"):
97
- response_data = utils.unmarshal_json(
98
- http_res.text, models.HTTPValidationErrorData
98
+ response_data = unmarshal_json_response(
99
+ models.HTTPValidationErrorData, http_res
99
100
  )
100
- raise models.HTTPValidationError(data=response_data)
101
+ raise models.HTTPValidationError(response_data, http_res)
101
102
  if utils.match_response(http_res, "4XX", "*"):
102
103
  http_res_text = utils.stream_to_text(http_res)
103
- raise models.SDKError(
104
- "API error occurred", http_res.status_code, http_res_text, http_res
105
- )
104
+ raise models.SDKError("API error occurred", http_res, http_res_text)
106
105
  if utils.match_response(http_res, "5XX", "*"):
107
106
  http_res_text = utils.stream_to_text(http_res)
108
- raise models.SDKError(
109
- "API error occurred", http_res.status_code, http_res_text, http_res
110
- )
107
+ raise models.SDKError("API error occurred", http_res, http_res_text)
111
108
 
112
- content_type = http_res.headers.get("Content-Type")
113
- http_res_text = utils.stream_to_text(http_res)
114
- raise models.SDKError(
115
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
116
- http_res.status_code,
117
- http_res_text,
118
- http_res,
119
- )
109
+ raise models.SDKError("Unexpected response received", http_res)
120
110
 
121
111
  async def moderate_async(
122
112
  self,
@@ -199,31 +189,20 @@ class Classifiers(BaseSDK):
199
189
 
200
190
  response_data: Any = None
201
191
  if utils.match_response(http_res, "200", "application/json"):
202
- return utils.unmarshal_json(http_res.text, models.ModerationResponse)
192
+ return unmarshal_json_response(models.ModerationResponse, http_res)
203
193
  if utils.match_response(http_res, "422", "application/json"):
204
- response_data = utils.unmarshal_json(
205
- http_res.text, models.HTTPValidationErrorData
194
+ response_data = unmarshal_json_response(
195
+ models.HTTPValidationErrorData, http_res
206
196
  )
207
- raise models.HTTPValidationError(data=response_data)
197
+ raise models.HTTPValidationError(response_data, http_res)
208
198
  if utils.match_response(http_res, "4XX", "*"):
209
199
  http_res_text = await utils.stream_to_text_async(http_res)
210
- raise models.SDKError(
211
- "API error occurred", http_res.status_code, http_res_text, http_res
212
- )
200
+ raise models.SDKError("API error occurred", http_res, http_res_text)
213
201
  if utils.match_response(http_res, "5XX", "*"):
214
202
  http_res_text = await utils.stream_to_text_async(http_res)
215
- raise models.SDKError(
216
- "API error occurred", http_res.status_code, http_res_text, http_res
217
- )
203
+ raise models.SDKError("API error occurred", http_res, http_res_text)
218
204
 
219
- content_type = http_res.headers.get("Content-Type")
220
- http_res_text = await utils.stream_to_text_async(http_res)
221
- raise models.SDKError(
222
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
223
- http_res.status_code,
224
- http_res_text,
225
- http_res,
226
- )
205
+ raise models.SDKError("Unexpected response received", http_res)
227
206
 
228
207
  def moderate_chat(
229
208
  self,
@@ -306,31 +285,20 @@ class Classifiers(BaseSDK):
306
285
 
307
286
  response_data: Any = None
308
287
  if utils.match_response(http_res, "200", "application/json"):
309
- return utils.unmarshal_json(http_res.text, models.ModerationResponse)
288
+ return unmarshal_json_response(models.ModerationResponse, http_res)
310
289
  if utils.match_response(http_res, "422", "application/json"):
311
- response_data = utils.unmarshal_json(
312
- http_res.text, models.HTTPValidationErrorData
290
+ response_data = unmarshal_json_response(
291
+ models.HTTPValidationErrorData, http_res
313
292
  )
314
- raise models.HTTPValidationError(data=response_data)
293
+ raise models.HTTPValidationError(response_data, http_res)
315
294
  if utils.match_response(http_res, "4XX", "*"):
316
295
  http_res_text = utils.stream_to_text(http_res)
317
- raise models.SDKError(
318
- "API error occurred", http_res.status_code, http_res_text, http_res
319
- )
296
+ raise models.SDKError("API error occurred", http_res, http_res_text)
320
297
  if utils.match_response(http_res, "5XX", "*"):
321
298
  http_res_text = utils.stream_to_text(http_res)
322
- raise models.SDKError(
323
- "API error occurred", http_res.status_code, http_res_text, http_res
324
- )
299
+ raise models.SDKError("API error occurred", http_res, http_res_text)
325
300
 
326
- content_type = http_res.headers.get("Content-Type")
327
- http_res_text = utils.stream_to_text(http_res)
328
- raise models.SDKError(
329
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
330
- http_res.status_code,
331
- http_res_text,
332
- http_res,
333
- )
301
+ raise models.SDKError("Unexpected response received", http_res)
334
302
 
335
303
  async def moderate_chat_async(
336
304
  self,
@@ -413,31 +381,20 @@ class Classifiers(BaseSDK):
413
381
 
414
382
  response_data: Any = None
415
383
  if utils.match_response(http_res, "200", "application/json"):
416
- return utils.unmarshal_json(http_res.text, models.ModerationResponse)
384
+ return unmarshal_json_response(models.ModerationResponse, http_res)
417
385
  if utils.match_response(http_res, "422", "application/json"):
418
- response_data = utils.unmarshal_json(
419
- http_res.text, models.HTTPValidationErrorData
386
+ response_data = unmarshal_json_response(
387
+ models.HTTPValidationErrorData, http_res
420
388
  )
421
- raise models.HTTPValidationError(data=response_data)
389
+ raise models.HTTPValidationError(response_data, http_res)
422
390
  if utils.match_response(http_res, "4XX", "*"):
423
391
  http_res_text = await utils.stream_to_text_async(http_res)
424
- raise models.SDKError(
425
- "API error occurred", http_res.status_code, http_res_text, http_res
426
- )
392
+ raise models.SDKError("API error occurred", http_res, http_res_text)
427
393
  if utils.match_response(http_res, "5XX", "*"):
428
394
  http_res_text = await utils.stream_to_text_async(http_res)
429
- raise models.SDKError(
430
- "API error occurred", http_res.status_code, http_res_text, http_res
431
- )
395
+ raise models.SDKError("API error occurred", http_res, http_res_text)
432
396
 
433
- content_type = http_res.headers.get("Content-Type")
434
- http_res_text = await utils.stream_to_text_async(http_res)
435
- raise models.SDKError(
436
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
437
- http_res.status_code,
438
- http_res_text,
439
- http_res,
440
- )
397
+ raise models.SDKError("Unexpected response received", http_res)
441
398
 
442
399
  def classify(
443
400
  self,
@@ -520,31 +477,20 @@ class Classifiers(BaseSDK):
520
477
 
521
478
  response_data: Any = None
522
479
  if utils.match_response(http_res, "200", "application/json"):
523
- return utils.unmarshal_json(http_res.text, models.ClassificationResponse)
480
+ return unmarshal_json_response(models.ClassificationResponse, http_res)
524
481
  if utils.match_response(http_res, "422", "application/json"):
525
- response_data = utils.unmarshal_json(
526
- http_res.text, models.HTTPValidationErrorData
482
+ response_data = unmarshal_json_response(
483
+ models.HTTPValidationErrorData, http_res
527
484
  )
528
- raise models.HTTPValidationError(data=response_data)
485
+ raise models.HTTPValidationError(response_data, http_res)
529
486
  if utils.match_response(http_res, "4XX", "*"):
530
487
  http_res_text = utils.stream_to_text(http_res)
531
- raise models.SDKError(
532
- "API error occurred", http_res.status_code, http_res_text, http_res
533
- )
488
+ raise models.SDKError("API error occurred", http_res, http_res_text)
534
489
  if utils.match_response(http_res, "5XX", "*"):
535
490
  http_res_text = utils.stream_to_text(http_res)
536
- raise models.SDKError(
537
- "API error occurred", http_res.status_code, http_res_text, http_res
538
- )
491
+ raise models.SDKError("API error occurred", http_res, http_res_text)
539
492
 
540
- content_type = http_res.headers.get("Content-Type")
541
- http_res_text = utils.stream_to_text(http_res)
542
- raise models.SDKError(
543
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
544
- http_res.status_code,
545
- http_res_text,
546
- http_res,
547
- )
493
+ raise models.SDKError("Unexpected response received", http_res)
548
494
 
549
495
  async def classify_async(
550
496
  self,
@@ -627,31 +573,20 @@ class Classifiers(BaseSDK):
627
573
 
628
574
  response_data: Any = None
629
575
  if utils.match_response(http_res, "200", "application/json"):
630
- return utils.unmarshal_json(http_res.text, models.ClassificationResponse)
576
+ return unmarshal_json_response(models.ClassificationResponse, http_res)
631
577
  if utils.match_response(http_res, "422", "application/json"):
632
- response_data = utils.unmarshal_json(
633
- http_res.text, models.HTTPValidationErrorData
578
+ response_data = unmarshal_json_response(
579
+ models.HTTPValidationErrorData, http_res
634
580
  )
635
- raise models.HTTPValidationError(data=response_data)
581
+ raise models.HTTPValidationError(response_data, http_res)
636
582
  if utils.match_response(http_res, "4XX", "*"):
637
583
  http_res_text = await utils.stream_to_text_async(http_res)
638
- raise models.SDKError(
639
- "API error occurred", http_res.status_code, http_res_text, http_res
640
- )
584
+ raise models.SDKError("API error occurred", http_res, http_res_text)
641
585
  if utils.match_response(http_res, "5XX", "*"):
642
586
  http_res_text = await utils.stream_to_text_async(http_res)
643
- raise models.SDKError(
644
- "API error occurred", http_res.status_code, http_res_text, http_res
645
- )
587
+ raise models.SDKError("API error occurred", http_res, http_res_text)
646
588
 
647
- content_type = http_res.headers.get("Content-Type")
648
- http_res_text = await utils.stream_to_text_async(http_res)
649
- raise models.SDKError(
650
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
651
- http_res.status_code,
652
- http_res_text,
653
- http_res,
654
- )
589
+ raise models.SDKError("Unexpected response received", http_res)
655
590
 
656
591
  def classify_chat(
657
592
  self,
@@ -731,31 +666,20 @@ class Classifiers(BaseSDK):
731
666
 
732
667
  response_data: Any = None
733
668
  if utils.match_response(http_res, "200", "application/json"):
734
- return utils.unmarshal_json(http_res.text, models.ClassificationResponse)
669
+ return unmarshal_json_response(models.ClassificationResponse, http_res)
735
670
  if utils.match_response(http_res, "422", "application/json"):
736
- response_data = utils.unmarshal_json(
737
- http_res.text, models.HTTPValidationErrorData
671
+ response_data = unmarshal_json_response(
672
+ models.HTTPValidationErrorData, http_res
738
673
  )
739
- raise models.HTTPValidationError(data=response_data)
674
+ raise models.HTTPValidationError(response_data, http_res)
740
675
  if utils.match_response(http_res, "4XX", "*"):
741
676
  http_res_text = utils.stream_to_text(http_res)
742
- raise models.SDKError(
743
- "API error occurred", http_res.status_code, http_res_text, http_res
744
- )
677
+ raise models.SDKError("API error occurred", http_res, http_res_text)
745
678
  if utils.match_response(http_res, "5XX", "*"):
746
679
  http_res_text = utils.stream_to_text(http_res)
747
- raise models.SDKError(
748
- "API error occurred", http_res.status_code, http_res_text, http_res
749
- )
680
+ raise models.SDKError("API error occurred", http_res, http_res_text)
750
681
 
751
- content_type = http_res.headers.get("Content-Type")
752
- http_res_text = utils.stream_to_text(http_res)
753
- raise models.SDKError(
754
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
755
- http_res.status_code,
756
- http_res_text,
757
- http_res,
758
- )
682
+ raise models.SDKError("Unexpected response received", http_res)
759
683
 
760
684
  async def classify_chat_async(
761
685
  self,
@@ -835,28 +759,17 @@ class Classifiers(BaseSDK):
835
759
 
836
760
  response_data: Any = None
837
761
  if utils.match_response(http_res, "200", "application/json"):
838
- return utils.unmarshal_json(http_res.text, models.ClassificationResponse)
762
+ return unmarshal_json_response(models.ClassificationResponse, http_res)
839
763
  if utils.match_response(http_res, "422", "application/json"):
840
- response_data = utils.unmarshal_json(
841
- http_res.text, models.HTTPValidationErrorData
764
+ response_data = unmarshal_json_response(
765
+ models.HTTPValidationErrorData, http_res
842
766
  )
843
- raise models.HTTPValidationError(data=response_data)
767
+ raise models.HTTPValidationError(response_data, http_res)
844
768
  if utils.match_response(http_res, "4XX", "*"):
845
769
  http_res_text = await utils.stream_to_text_async(http_res)
846
- raise models.SDKError(
847
- "API error occurred", http_res.status_code, http_res_text, http_res
848
- )
770
+ raise models.SDKError("API error occurred", http_res, http_res_text)
849
771
  if utils.match_response(http_res, "5XX", "*"):
850
772
  http_res_text = await utils.stream_to_text_async(http_res)
851
- raise models.SDKError(
852
- "API error occurred", http_res.status_code, http_res_text, http_res
853
- )
773
+ raise models.SDKError("API error occurred", http_res, http_res_text)
854
774
 
855
- content_type = http_res.headers.get("Content-Type")
856
- http_res_text = await utils.stream_to_text_async(http_res)
857
- raise models.SDKError(
858
- f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
859
- http_res.status_code,
860
- http_res_text,
861
- http_res,
862
- )
775
+ raise models.SDKError("Unexpected response received", http_res)