mistralai 1.5.0__py3-none-any.whl → 1.5.2rc1__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 (89) hide show
  1. mistralai/_hooks/types.py +15 -3
  2. mistralai/_version.py +3 -3
  3. mistralai/agents.py +32 -12
  4. mistralai/basesdk.py +8 -0
  5. mistralai/chat.py +37 -17
  6. mistralai/classifiers.py +59 -37
  7. mistralai/embeddings.py +22 -18
  8. mistralai/extra/utils/response_format.py +3 -3
  9. mistralai/files.py +36 -0
  10. mistralai/fim.py +37 -17
  11. mistralai/httpclient.py +4 -2
  12. mistralai/jobs.py +30 -0
  13. mistralai/mistral_jobs.py +24 -0
  14. mistralai/models/__init__.py +43 -16
  15. mistralai/models/assistantmessage.py +2 -0
  16. mistralai/models/chatcompletionrequest.py +3 -10
  17. mistralai/models/chatcompletionstreamrequest.py +3 -10
  18. mistralai/models/chatmoderationrequest.py +86 -0
  19. mistralai/models/classificationrequest.py +7 -36
  20. mistralai/models/contentchunk.py +8 -1
  21. mistralai/models/documenturlchunk.py +56 -0
  22. mistralai/models/embeddingrequest.py +8 -44
  23. mistralai/models/filepurpose.py +1 -1
  24. mistralai/models/fimcompletionrequest.py +2 -3
  25. mistralai/models/fimcompletionstreamrequest.py +2 -3
  26. mistralai/models/ocrimageobject.py +77 -0
  27. mistralai/models/ocrpagedimensions.py +25 -0
  28. mistralai/models/ocrpageobject.py +64 -0
  29. mistralai/models/ocrrequest.py +97 -0
  30. mistralai/models/ocrresponse.py +26 -0
  31. mistralai/models/ocrusageinfo.py +51 -0
  32. mistralai/models/prediction.py +4 -5
  33. mistralai/models_.py +66 -18
  34. mistralai/ocr.py +248 -0
  35. mistralai/sdk.py +23 -3
  36. mistralai/sdkconfiguration.py +4 -2
  37. mistralai/utils/__init__.py +2 -0
  38. mistralai/utils/serializers.py +10 -6
  39. mistralai/utils/values.py +4 -1
  40. {mistralai-1.5.0.dist-info → mistralai-1.5.2rc1.dist-info}/METADATA +70 -19
  41. {mistralai-1.5.0.dist-info → mistralai-1.5.2rc1.dist-info}/RECORD +88 -76
  42. {mistralai-1.5.0.dist-info → mistralai-1.5.2rc1.dist-info}/WHEEL +1 -1
  43. mistralai_azure/__init__.py +10 -1
  44. mistralai_azure/_hooks/types.py +15 -3
  45. mistralai_azure/_version.py +3 -0
  46. mistralai_azure/basesdk.py +8 -0
  47. mistralai_azure/chat.py +88 -20
  48. mistralai_azure/httpclient.py +52 -0
  49. mistralai_azure/models/__init__.py +7 -0
  50. mistralai_azure/models/assistantmessage.py +2 -0
  51. mistralai_azure/models/chatcompletionrequest.py +8 -10
  52. mistralai_azure/models/chatcompletionstreamrequest.py +8 -10
  53. mistralai_azure/models/function.py +3 -0
  54. mistralai_azure/models/jsonschema.py +61 -0
  55. mistralai_azure/models/prediction.py +25 -0
  56. mistralai_azure/models/responseformat.py +42 -1
  57. mistralai_azure/models/responseformats.py +1 -1
  58. mistralai_azure/models/toolcall.py +3 -0
  59. mistralai_azure/sdk.py +56 -14
  60. mistralai_azure/sdkconfiguration.py +14 -6
  61. mistralai_azure/utils/__init__.py +2 -0
  62. mistralai_azure/utils/serializers.py +10 -6
  63. mistralai_azure/utils/values.py +4 -1
  64. mistralai_gcp/__init__.py +10 -1
  65. mistralai_gcp/_hooks/types.py +15 -3
  66. mistralai_gcp/_version.py +3 -0
  67. mistralai_gcp/basesdk.py +8 -0
  68. mistralai_gcp/chat.py +89 -21
  69. mistralai_gcp/fim.py +61 -21
  70. mistralai_gcp/httpclient.py +52 -0
  71. mistralai_gcp/models/__init__.py +7 -0
  72. mistralai_gcp/models/assistantmessage.py +2 -0
  73. mistralai_gcp/models/chatcompletionrequest.py +8 -10
  74. mistralai_gcp/models/chatcompletionstreamrequest.py +8 -10
  75. mistralai_gcp/models/fimcompletionrequest.py +2 -3
  76. mistralai_gcp/models/fimcompletionstreamrequest.py +2 -3
  77. mistralai_gcp/models/function.py +3 -0
  78. mistralai_gcp/models/jsonschema.py +61 -0
  79. mistralai_gcp/models/prediction.py +25 -0
  80. mistralai_gcp/models/responseformat.py +42 -1
  81. mistralai_gcp/models/responseformats.py +1 -1
  82. mistralai_gcp/models/toolcall.py +3 -0
  83. mistralai_gcp/sdk.py +63 -19
  84. mistralai_gcp/sdkconfiguration.py +14 -6
  85. mistralai_gcp/utils/__init__.py +2 -0
  86. mistralai_gcp/utils/serializers.py +10 -6
  87. mistralai_gcp/utils/values.py +4 -1
  88. mistralai/models/chatclassificationrequest.py +0 -113
  89. {mistralai-1.5.0.dist-info → mistralai-1.5.2rc1.dist-info}/LICENSE +0 -0
@@ -3,8 +3,9 @@
3
3
  from datetime import datetime
4
4
  from enum import Enum
5
5
  from email.message import Message
6
+ from functools import partial
6
7
  import os
7
- from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar, Union
8
+ from typing import Any, Callable, Dict, List, Optional, Tuple, TypeVar, Union, cast
8
9
 
9
10
  from httpx import Response
10
11
  from pydantic import BaseModel
@@ -51,6 +52,8 @@ def match_status_codes(status_codes: List[str], status_code: int) -> bool:
51
52
 
52
53
  T = TypeVar("T")
53
54
 
55
+ def cast_partial(typ):
56
+ return partial(cast, typ)
54
57
 
55
58
  def get_global_from_env(
56
59
  value: Optional[T], env_key: str, type_cast: Callable[[str], T]
@@ -1,113 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from __future__ import annotations
4
- from .assistantmessage import AssistantMessage, AssistantMessageTypedDict
5
- from .systemmessage import SystemMessage, SystemMessageTypedDict
6
- from .toolmessage import ToolMessage, ToolMessageTypedDict
7
- from .usermessage import UserMessage, UserMessageTypedDict
8
- from mistralai.types import BaseModel, Nullable, UNSET_SENTINEL
9
- from mistralai.utils import get_discriminator
10
- import pydantic
11
- from pydantic import Discriminator, Tag, model_serializer
12
- from typing import List, Union
13
- from typing_extensions import Annotated, TypeAliasType, TypedDict
14
-
15
-
16
- TwoTypedDict = TypeAliasType(
17
- "TwoTypedDict",
18
- Union[
19
- SystemMessageTypedDict,
20
- UserMessageTypedDict,
21
- AssistantMessageTypedDict,
22
- ToolMessageTypedDict,
23
- ],
24
- )
25
-
26
-
27
- Two = Annotated[
28
- Union[
29
- Annotated[AssistantMessage, Tag("assistant")],
30
- Annotated[SystemMessage, Tag("system")],
31
- Annotated[ToolMessage, Tag("tool")],
32
- Annotated[UserMessage, Tag("user")],
33
- ],
34
- Discriminator(lambda m: get_discriminator(m, "role", "role")),
35
- ]
36
-
37
-
38
- OneTypedDict = TypeAliasType(
39
- "OneTypedDict",
40
- Union[
41
- SystemMessageTypedDict,
42
- UserMessageTypedDict,
43
- AssistantMessageTypedDict,
44
- ToolMessageTypedDict,
45
- ],
46
- )
47
-
48
-
49
- One = Annotated[
50
- Union[
51
- Annotated[AssistantMessage, Tag("assistant")],
52
- Annotated[SystemMessage, Tag("system")],
53
- Annotated[ToolMessage, Tag("tool")],
54
- Annotated[UserMessage, Tag("user")],
55
- ],
56
- Discriminator(lambda m: get_discriminator(m, "role", "role")),
57
- ]
58
-
59
-
60
- ChatClassificationRequestInputsTypedDict = TypeAliasType(
61
- "ChatClassificationRequestInputsTypedDict",
62
- Union[List[OneTypedDict], List[List[TwoTypedDict]]],
63
- )
64
- r"""Chat to classify"""
65
-
66
-
67
- ChatClassificationRequestInputs = TypeAliasType(
68
- "ChatClassificationRequestInputs", Union[List[One], List[List[Two]]]
69
- )
70
- r"""Chat to classify"""
71
-
72
-
73
- class ChatClassificationRequestTypedDict(TypedDict):
74
- inputs: ChatClassificationRequestInputsTypedDict
75
- r"""Chat to classify"""
76
- model: Nullable[str]
77
-
78
-
79
- class ChatClassificationRequest(BaseModel):
80
- inputs: Annotated[ChatClassificationRequestInputs, pydantic.Field(alias="input")]
81
- r"""Chat to classify"""
82
-
83
- model: Nullable[str]
84
-
85
- @model_serializer(mode="wrap")
86
- def serialize_model(self, handler):
87
- optional_fields = []
88
- nullable_fields = ["model"]
89
- null_default_fields = []
90
-
91
- serialized = handler(self)
92
-
93
- m = {}
94
-
95
- for n, f in self.model_fields.items():
96
- k = f.alias or n
97
- val = serialized.get(k)
98
- serialized.pop(k, None)
99
-
100
- optional_nullable = k in optional_fields and k in nullable_fields
101
- is_set = (
102
- self.__pydantic_fields_set__.intersection({n})
103
- or k in null_default_fields
104
- ) # pylint: disable=no-member
105
-
106
- if val is not None and val != UNSET_SENTINEL:
107
- m[k] = val
108
- elif val != UNSET_SENTINEL and (
109
- not k in optional_fields or (optional_nullable and is_set)
110
- ):
111
- m[k] = val
112
-
113
- return m