mistralai 0.4.2__py3-none-any.whl → 1.0.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 (246) hide show
  1. mistralai/__init__.py +5 -0
  2. mistralai/_hooks/__init__.py +5 -0
  3. mistralai/_hooks/custom_user_agent.py +16 -0
  4. mistralai/_hooks/deprecation_warning.py +26 -0
  5. mistralai/_hooks/registration.py +17 -0
  6. mistralai/_hooks/sdkhooks.py +57 -0
  7. mistralai/_hooks/types.py +76 -0
  8. mistralai/agents.py +434 -0
  9. mistralai/async_client.py +5 -413
  10. mistralai/basesdk.py +253 -0
  11. mistralai/chat.py +470 -0
  12. mistralai/client.py +5 -414
  13. mistralai/embeddings.py +182 -0
  14. mistralai/files.py +600 -84
  15. mistralai/fim.py +438 -0
  16. mistralai/fine_tuning.py +16 -0
  17. mistralai/httpclient.py +78 -0
  18. mistralai/jobs.py +822 -150
  19. mistralai/models/__init__.py +82 -0
  20. mistralai/models/agentscompletionrequest.py +96 -0
  21. mistralai/models/agentscompletionstreamrequest.py +92 -0
  22. mistralai/models/archiveftmodelout.py +19 -0
  23. mistralai/models/assistantmessage.py +53 -0
  24. mistralai/models/chatcompletionchoice.py +22 -0
  25. mistralai/models/chatcompletionrequest.py +109 -0
  26. mistralai/models/chatcompletionresponse.py +27 -0
  27. mistralai/models/chatcompletionstreamrequest.py +107 -0
  28. mistralai/models/checkpointout.py +25 -0
  29. mistralai/models/completionchunk.py +27 -0
  30. mistralai/models/completionevent.py +15 -0
  31. mistralai/models/completionresponsestreamchoice.py +48 -0
  32. mistralai/models/contentchunk.py +17 -0
  33. mistralai/models/delete_model_v1_models_model_id_deleteop.py +18 -0
  34. mistralai/models/deletefileout.py +24 -0
  35. mistralai/models/deletemodelout.py +25 -0
  36. mistralai/models/deltamessage.py +47 -0
  37. mistralai/models/detailedjobout.py +91 -0
  38. mistralai/models/embeddingrequest.py +61 -0
  39. mistralai/models/embeddingresponse.py +24 -0
  40. mistralai/models/embeddingresponsedata.py +19 -0
  41. mistralai/models/eventout.py +50 -0
  42. mistralai/models/files_api_routes_delete_fileop.py +16 -0
  43. mistralai/models/files_api_routes_retrieve_fileop.py +16 -0
  44. mistralai/models/files_api_routes_upload_fileop.py +51 -0
  45. mistralai/models/fileschema.py +71 -0
  46. mistralai/models/fimcompletionrequest.py +94 -0
  47. mistralai/models/fimcompletionresponse.py +27 -0
  48. mistralai/models/fimcompletionstreamrequest.py +92 -0
  49. mistralai/models/finetuneablemodel.py +8 -0
  50. mistralai/models/ftmodelcapabilitiesout.py +21 -0
  51. mistralai/models/ftmodelout.py +65 -0
  52. mistralai/models/function.py +19 -0
  53. mistralai/models/functioncall.py +22 -0
  54. mistralai/models/githubrepositoryin.py +52 -0
  55. mistralai/models/githubrepositoryout.py +52 -0
  56. mistralai/models/httpvalidationerror.py +23 -0
  57. mistralai/models/jobin.py +73 -0
  58. mistralai/models/jobmetadataout.py +54 -0
  59. mistralai/models/jobout.py +107 -0
  60. mistralai/models/jobs_api_routes_fine_tuning_archive_fine_tuned_modelop.py +18 -0
  61. mistralai/models/jobs_api_routes_fine_tuning_cancel_fine_tuning_jobop.py +18 -0
  62. mistralai/models/jobs_api_routes_fine_tuning_create_fine_tuning_jobop.py +15 -0
  63. mistralai/models/jobs_api_routes_fine_tuning_get_fine_tuning_jobop.py +18 -0
  64. mistralai/models/jobs_api_routes_fine_tuning_get_fine_tuning_jobsop.py +81 -0
  65. mistralai/models/jobs_api_routes_fine_tuning_start_fine_tuning_jobop.py +16 -0
  66. mistralai/models/jobs_api_routes_fine_tuning_unarchive_fine_tuned_modelop.py +18 -0
  67. mistralai/models/jobs_api_routes_fine_tuning_update_fine_tuned_modelop.py +21 -0
  68. mistralai/models/jobsout.py +20 -0
  69. mistralai/models/legacyjobmetadataout.py +80 -0
  70. mistralai/models/listfilesout.py +17 -0
  71. mistralai/models/metricout.py +50 -0
  72. mistralai/models/modelcapabilities.py +21 -0
  73. mistralai/models/modelcard.py +66 -0
  74. mistralai/models/modellist.py +18 -0
  75. mistralai/models/responseformat.py +18 -0
  76. mistralai/models/retrieve_model_v1_models_model_id_getop.py +18 -0
  77. mistralai/models/retrievefileout.py +71 -0
  78. mistralai/models/sampletype.py +7 -0
  79. mistralai/models/sdkerror.py +22 -0
  80. mistralai/models/security.py +16 -0
  81. mistralai/models/source.py +7 -0
  82. mistralai/models/systemmessage.py +26 -0
  83. mistralai/models/textchunk.py +17 -0
  84. mistralai/models/tool.py +18 -0
  85. mistralai/models/toolcall.py +20 -0
  86. mistralai/models/toolmessage.py +50 -0
  87. mistralai/models/trainingfile.py +17 -0
  88. mistralai/models/trainingparameters.py +48 -0
  89. mistralai/models/trainingparametersin.py +56 -0
  90. mistralai/models/unarchiveftmodelout.py +19 -0
  91. mistralai/models/updateftmodelin.py +44 -0
  92. mistralai/models/uploadfileout.py +71 -0
  93. mistralai/models/usageinfo.py +18 -0
  94. mistralai/models/usermessage.py +26 -0
  95. mistralai/models/validationerror.py +24 -0
  96. mistralai/models/wandbintegration.py +56 -0
  97. mistralai/models/wandbintegrationout.py +52 -0
  98. mistralai/models_.py +928 -0
  99. mistralai/py.typed +1 -0
  100. mistralai/sdk.py +119 -0
  101. mistralai/sdkconfiguration.py +54 -0
  102. mistralai/types/__init__.py +21 -0
  103. mistralai/types/basemodel.py +39 -0
  104. mistralai/utils/__init__.py +86 -0
  105. mistralai/utils/annotations.py +19 -0
  106. mistralai/utils/enums.py +34 -0
  107. mistralai/utils/eventstreaming.py +178 -0
  108. mistralai/utils/forms.py +207 -0
  109. mistralai/utils/headers.py +136 -0
  110. mistralai/utils/logger.py +16 -0
  111. mistralai/utils/metadata.py +118 -0
  112. mistralai/utils/queryparams.py +203 -0
  113. mistralai/utils/requestbodies.py +66 -0
  114. mistralai/utils/retries.py +216 -0
  115. mistralai/utils/security.py +185 -0
  116. mistralai/utils/serializers.py +181 -0
  117. mistralai/utils/url.py +150 -0
  118. mistralai/utils/values.py +128 -0
  119. {mistralai-0.4.2.dist-info → mistralai-1.0.0.dist-info}/LICENSE +1 -1
  120. mistralai-1.0.0.dist-info/METADATA +695 -0
  121. mistralai-1.0.0.dist-info/RECORD +235 -0
  122. mistralai_azure/__init__.py +5 -0
  123. mistralai_azure/_hooks/__init__.py +5 -0
  124. mistralai_azure/_hooks/custom_user_agent.py +16 -0
  125. mistralai_azure/_hooks/registration.py +15 -0
  126. mistralai_azure/_hooks/sdkhooks.py +57 -0
  127. mistralai_azure/_hooks/types.py +76 -0
  128. mistralai_azure/basesdk.py +253 -0
  129. mistralai_azure/chat.py +470 -0
  130. mistralai_azure/httpclient.py +78 -0
  131. mistralai_azure/models/__init__.py +28 -0
  132. mistralai_azure/models/assistantmessage.py +53 -0
  133. mistralai_azure/models/chatcompletionchoice.py +22 -0
  134. mistralai_azure/models/chatcompletionrequest.py +109 -0
  135. mistralai_azure/models/chatcompletionresponse.py +27 -0
  136. mistralai_azure/models/chatcompletionstreamrequest.py +107 -0
  137. mistralai_azure/models/completionchunk.py +27 -0
  138. mistralai_azure/models/completionevent.py +15 -0
  139. mistralai_azure/models/completionresponsestreamchoice.py +48 -0
  140. mistralai_azure/models/contentchunk.py +17 -0
  141. mistralai_azure/models/deltamessage.py +47 -0
  142. mistralai_azure/models/function.py +19 -0
  143. mistralai_azure/models/functioncall.py +22 -0
  144. mistralai_azure/models/httpvalidationerror.py +23 -0
  145. mistralai_azure/models/responseformat.py +18 -0
  146. mistralai_azure/models/sdkerror.py +22 -0
  147. mistralai_azure/models/security.py +16 -0
  148. mistralai_azure/models/systemmessage.py +26 -0
  149. mistralai_azure/models/textchunk.py +17 -0
  150. mistralai_azure/models/tool.py +18 -0
  151. mistralai_azure/models/toolcall.py +20 -0
  152. mistralai_azure/models/toolmessage.py +50 -0
  153. mistralai_azure/models/usageinfo.py +18 -0
  154. mistralai_azure/models/usermessage.py +26 -0
  155. mistralai_azure/models/validationerror.py +24 -0
  156. mistralai_azure/py.typed +1 -0
  157. mistralai_azure/sdk.py +107 -0
  158. mistralai_azure/sdkconfiguration.py +54 -0
  159. mistralai_azure/types/__init__.py +21 -0
  160. mistralai_azure/types/basemodel.py +39 -0
  161. mistralai_azure/utils/__init__.py +84 -0
  162. mistralai_azure/utils/annotations.py +19 -0
  163. mistralai_azure/utils/enums.py +34 -0
  164. mistralai_azure/utils/eventstreaming.py +178 -0
  165. mistralai_azure/utils/forms.py +207 -0
  166. mistralai_azure/utils/headers.py +136 -0
  167. mistralai_azure/utils/logger.py +16 -0
  168. mistralai_azure/utils/metadata.py +118 -0
  169. mistralai_azure/utils/queryparams.py +203 -0
  170. mistralai_azure/utils/requestbodies.py +66 -0
  171. mistralai_azure/utils/retries.py +216 -0
  172. mistralai_azure/utils/security.py +168 -0
  173. mistralai_azure/utils/serializers.py +181 -0
  174. mistralai_azure/utils/url.py +150 -0
  175. mistralai_azure/utils/values.py +128 -0
  176. mistralai_gcp/__init__.py +5 -0
  177. mistralai_gcp/_hooks/__init__.py +5 -0
  178. mistralai_gcp/_hooks/custom_user_agent.py +16 -0
  179. mistralai_gcp/_hooks/registration.py +15 -0
  180. mistralai_gcp/_hooks/sdkhooks.py +57 -0
  181. mistralai_gcp/_hooks/types.py +76 -0
  182. mistralai_gcp/basesdk.py +253 -0
  183. mistralai_gcp/chat.py +458 -0
  184. mistralai_gcp/fim.py +438 -0
  185. mistralai_gcp/httpclient.py +78 -0
  186. mistralai_gcp/models/__init__.py +31 -0
  187. mistralai_gcp/models/assistantmessage.py +53 -0
  188. mistralai_gcp/models/chatcompletionchoice.py +22 -0
  189. mistralai_gcp/models/chatcompletionrequest.py +105 -0
  190. mistralai_gcp/models/chatcompletionresponse.py +27 -0
  191. mistralai_gcp/models/chatcompletionstreamrequest.py +103 -0
  192. mistralai_gcp/models/completionchunk.py +27 -0
  193. mistralai_gcp/models/completionevent.py +15 -0
  194. mistralai_gcp/models/completionresponsestreamchoice.py +48 -0
  195. mistralai_gcp/models/contentchunk.py +17 -0
  196. mistralai_gcp/models/deltamessage.py +47 -0
  197. mistralai_gcp/models/fimcompletionrequest.py +94 -0
  198. mistralai_gcp/models/fimcompletionresponse.py +27 -0
  199. mistralai_gcp/models/fimcompletionstreamrequest.py +92 -0
  200. mistralai_gcp/models/function.py +19 -0
  201. mistralai_gcp/models/functioncall.py +22 -0
  202. mistralai_gcp/models/httpvalidationerror.py +23 -0
  203. mistralai_gcp/models/responseformat.py +18 -0
  204. mistralai_gcp/models/sdkerror.py +22 -0
  205. mistralai_gcp/models/security.py +16 -0
  206. mistralai_gcp/models/systemmessage.py +26 -0
  207. mistralai_gcp/models/textchunk.py +17 -0
  208. mistralai_gcp/models/tool.py +18 -0
  209. mistralai_gcp/models/toolcall.py +20 -0
  210. mistralai_gcp/models/toolmessage.py +50 -0
  211. mistralai_gcp/models/usageinfo.py +18 -0
  212. mistralai_gcp/models/usermessage.py +26 -0
  213. mistralai_gcp/models/validationerror.py +24 -0
  214. mistralai_gcp/py.typed +1 -0
  215. mistralai_gcp/sdk.py +174 -0
  216. mistralai_gcp/sdkconfiguration.py +54 -0
  217. mistralai_gcp/types/__init__.py +21 -0
  218. mistralai_gcp/types/basemodel.py +39 -0
  219. mistralai_gcp/utils/__init__.py +84 -0
  220. mistralai_gcp/utils/annotations.py +19 -0
  221. mistralai_gcp/utils/enums.py +34 -0
  222. mistralai_gcp/utils/eventstreaming.py +178 -0
  223. mistralai_gcp/utils/forms.py +207 -0
  224. mistralai_gcp/utils/headers.py +136 -0
  225. mistralai_gcp/utils/logger.py +16 -0
  226. mistralai_gcp/utils/metadata.py +118 -0
  227. mistralai_gcp/utils/queryparams.py +203 -0
  228. mistralai_gcp/utils/requestbodies.py +66 -0
  229. mistralai_gcp/utils/retries.py +216 -0
  230. mistralai_gcp/utils/security.py +168 -0
  231. mistralai_gcp/utils/serializers.py +181 -0
  232. mistralai_gcp/utils/url.py +150 -0
  233. mistralai_gcp/utils/values.py +128 -0
  234. py.typed +1 -0
  235. mistralai/client_base.py +0 -211
  236. mistralai/constants.py +0 -5
  237. mistralai/exceptions.py +0 -54
  238. mistralai/models/chat_completion.py +0 -93
  239. mistralai/models/common.py +0 -9
  240. mistralai/models/embeddings.py +0 -19
  241. mistralai/models/files.py +0 -23
  242. mistralai/models/jobs.py +0 -100
  243. mistralai/models/models.py +0 -39
  244. mistralai-0.4.2.dist-info/METADATA +0 -82
  245. mistralai-0.4.2.dist-info/RECORD +0 -20
  246. {mistralai-0.4.2.dist-info → mistralai-1.0.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,71 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .sampletype import SampleType
5
+ from .source import Source
6
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
+ import pydantic
8
+ from pydantic import model_serializer
9
+ from typing import Final, TypedDict
10
+ from typing_extensions import Annotated, NotRequired
11
+
12
+
13
+ class RetrieveFileOutTypedDict(TypedDict):
14
+ id: str
15
+ r"""The unique identifier of the file."""
16
+ object: str
17
+ r"""The object type, which is always \"file\"."""
18
+ bytes: int
19
+ r"""The size of the file, in bytes."""
20
+ created_at: int
21
+ r"""The UNIX timestamp (in seconds) of the event."""
22
+ filename: str
23
+ r"""The name of the uploaded file."""
24
+ sample_type: SampleType
25
+ source: Source
26
+ num_lines: NotRequired[Nullable[int]]
27
+
28
+
29
+ class RetrieveFileOut(BaseModel):
30
+ id: str
31
+ r"""The unique identifier of the file."""
32
+ object: str
33
+ r"""The object type, which is always \"file\"."""
34
+ bytes: int
35
+ r"""The size of the file, in bytes."""
36
+ created_at: int
37
+ r"""The UNIX timestamp (in seconds) of the event."""
38
+ filename: str
39
+ r"""The name of the uploaded file."""
40
+ sample_type: SampleType
41
+ source: Source
42
+ PURPOSE: Annotated[Final[str], pydantic.Field(alias="purpose")] = "fine-tune" # type: ignore
43
+ r"""The intended purpose of the uploaded file. Only accepts fine-tuning (`fine-tune`) for now."""
44
+ num_lines: OptionalNullable[int] = UNSET
45
+
46
+ @model_serializer(mode="wrap")
47
+ def serialize_model(self, handler):
48
+ optional_fields = ["num_lines"]
49
+ nullable_fields = ["num_lines"]
50
+ null_default_fields = []
51
+
52
+ serialized = handler(self)
53
+
54
+ m = {}
55
+
56
+ for n, f in self.model_fields.items():
57
+ k = f.alias or n
58
+ val = serialized.get(k)
59
+
60
+ optional_nullable = k in optional_fields and k in nullable_fields
61
+ is_set = (self.__pydantic_fields_set__.intersection({n}) or k in null_default_fields) # pylint: disable=no-member
62
+
63
+ if val is not None and val != UNSET_SENTINEL:
64
+ m[k] = val
65
+ elif val != UNSET_SENTINEL and (
66
+ not k in optional_fields or (optional_nullable and is_set)
67
+ ):
68
+ m[k] = val
69
+
70
+ return m
71
+
@@ -0,0 +1,7 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from typing import Literal
5
+
6
+
7
+ SampleType = Literal["pretrain", "instruct"]
@@ -0,0 +1,22 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from dataclasses import dataclass
4
+ from typing import Optional
5
+ import httpx
6
+
7
+
8
+ @dataclass
9
+ class SDKError(Exception):
10
+ """Represents an error returned by the API."""
11
+
12
+ message: str
13
+ status_code: int = -1
14
+ body: str = ""
15
+ raw_response: Optional[httpx.Response] = None
16
+
17
+ def __str__(self):
18
+ body = ""
19
+ if len(self.body) > 0:
20
+ body = f"\n{self.body}"
21
+
22
+ return f"{self.message}: Status {self.status_code}{body}"
@@ -0,0 +1,16 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel
5
+ from mistralai.utils import FieldMetadata, SecurityMetadata
6
+ from typing import Optional, TypedDict
7
+ from typing_extensions import Annotated, NotRequired
8
+
9
+
10
+ class SecurityTypedDict(TypedDict):
11
+ api_key: NotRequired[str]
12
+
13
+
14
+ class Security(BaseModel):
15
+ api_key: Annotated[Optional[str], FieldMetadata(security=SecurityMetadata(scheme=True, scheme_type="http", sub_type="bearer", field_name="Authorization"))] = None
16
+
@@ -0,0 +1,7 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from typing import Literal
5
+
6
+
7
+ Source = Literal["upload", "repository"]
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .contentchunk import ContentChunk, ContentChunkTypedDict
5
+ from mistralai.types import BaseModel
6
+ from typing import List, Literal, Optional, TypedDict, Union
7
+ from typing_extensions import NotRequired
8
+
9
+
10
+ Role = Literal["system"]
11
+
12
+ class SystemMessageTypedDict(TypedDict):
13
+ content: ContentTypedDict
14
+ role: NotRequired[Role]
15
+
16
+
17
+ class SystemMessage(BaseModel):
18
+ content: Content
19
+ role: Optional[Role] = "system"
20
+
21
+
22
+ ContentTypedDict = Union[str, List[ContentChunkTypedDict]]
23
+
24
+
25
+ Content = Union[str, List[ContentChunk]]
26
+
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel
5
+ import pydantic
6
+ from typing import Final, Optional, TypedDict
7
+ from typing_extensions import Annotated
8
+
9
+
10
+ class TextChunkTypedDict(TypedDict):
11
+ text: str
12
+
13
+
14
+ class TextChunk(BaseModel):
15
+ text: str
16
+ TYPE: Annotated[Final[Optional[str]], pydantic.Field(alias="type")] = "text" # type: ignore
17
+
@@ -0,0 +1,18 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .function import Function, FunctionTypedDict
5
+ from mistralai.types import BaseModel
6
+ import pydantic
7
+ from typing import Final, Optional, TypedDict
8
+ from typing_extensions import Annotated
9
+
10
+
11
+ class ToolTypedDict(TypedDict):
12
+ function: FunctionTypedDict
13
+
14
+
15
+ class Tool(BaseModel):
16
+ function: Function
17
+ TYPE: Annotated[Final[Optional[str]], pydantic.Field(alias="type")] = "function" # type: ignore
18
+
@@ -0,0 +1,20 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .functioncall import FunctionCall, FunctionCallTypedDict
5
+ from mistralai.types import BaseModel
6
+ import pydantic
7
+ from typing import Final, Optional, TypedDict
8
+ from typing_extensions import Annotated, NotRequired
9
+
10
+
11
+ class ToolCallTypedDict(TypedDict):
12
+ function: FunctionCallTypedDict
13
+ id: NotRequired[str]
14
+
15
+
16
+ class ToolCall(BaseModel):
17
+ function: FunctionCall
18
+ id: Optional[str] = "null"
19
+ TYPE: Annotated[Final[Optional[str]], pydantic.Field(alias="type")] = "function" # type: ignore
20
+
@@ -0,0 +1,50 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
+ from pydantic import model_serializer
6
+ from typing import Literal, Optional, TypedDict
7
+ from typing_extensions import NotRequired
8
+
9
+
10
+ ToolMessageRole = Literal["tool"]
11
+
12
+ class ToolMessageTypedDict(TypedDict):
13
+ content: str
14
+ tool_call_id: NotRequired[Nullable[str]]
15
+ name: NotRequired[Nullable[str]]
16
+ role: NotRequired[ToolMessageRole]
17
+
18
+
19
+ class ToolMessage(BaseModel):
20
+ content: str
21
+ tool_call_id: OptionalNullable[str] = UNSET
22
+ name: OptionalNullable[str] = UNSET
23
+ role: Optional[ToolMessageRole] = "tool"
24
+
25
+ @model_serializer(mode="wrap")
26
+ def serialize_model(self, handler):
27
+ optional_fields = ["tool_call_id", "name", "role"]
28
+ nullable_fields = ["tool_call_id", "name"]
29
+ null_default_fields = []
30
+
31
+ serialized = handler(self)
32
+
33
+ m = {}
34
+
35
+ for n, f in self.model_fields.items():
36
+ k = f.alias or n
37
+ val = serialized.get(k)
38
+
39
+ optional_nullable = k in optional_fields and k in nullable_fields
40
+ is_set = (self.__pydantic_fields_set__.intersection({n}) or k in null_default_fields) # pylint: disable=no-member
41
+
42
+ if val is not None and val != UNSET_SENTINEL:
43
+ m[k] = val
44
+ elif val != UNSET_SENTINEL and (
45
+ not k in optional_fields or (optional_nullable and is_set)
46
+ ):
47
+ m[k] = val
48
+
49
+ return m
50
+
@@ -0,0 +1,17 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel
5
+ from typing import Optional, TypedDict
6
+ from typing_extensions import NotRequired
7
+
8
+
9
+ class TrainingFileTypedDict(TypedDict):
10
+ file_id: str
11
+ weight: NotRequired[float]
12
+
13
+
14
+ class TrainingFile(BaseModel):
15
+ file_id: str
16
+ weight: Optional[float] = 1
17
+
@@ -0,0 +1,48 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
+ from pydantic import model_serializer
6
+ from typing import Optional, TypedDict
7
+ from typing_extensions import NotRequired
8
+
9
+
10
+ class TrainingParametersTypedDict(TypedDict):
11
+ training_steps: NotRequired[Nullable[int]]
12
+ learning_rate: NotRequired[float]
13
+ epochs: NotRequired[Nullable[float]]
14
+ fim_ratio: NotRequired[Nullable[float]]
15
+
16
+
17
+ class TrainingParameters(BaseModel):
18
+ training_steps: OptionalNullable[int] = UNSET
19
+ learning_rate: Optional[float] = 0.0001
20
+ epochs: OptionalNullable[float] = UNSET
21
+ fim_ratio: OptionalNullable[float] = UNSET
22
+
23
+ @model_serializer(mode="wrap")
24
+ def serialize_model(self, handler):
25
+ optional_fields = ["training_steps", "learning_rate", "epochs", "fim_ratio"]
26
+ nullable_fields = ["training_steps", "epochs", "fim_ratio"]
27
+ null_default_fields = []
28
+
29
+ serialized = handler(self)
30
+
31
+ m = {}
32
+
33
+ for n, f in self.model_fields.items():
34
+ k = f.alias or n
35
+ val = serialized.get(k)
36
+
37
+ optional_nullable = k in optional_fields and k in nullable_fields
38
+ is_set = (self.__pydantic_fields_set__.intersection({n}) or k in null_default_fields) # pylint: disable=no-member
39
+
40
+ if val is not None and val != UNSET_SENTINEL:
41
+ m[k] = val
42
+ elif val != UNSET_SENTINEL and (
43
+ not k in optional_fields or (optional_nullable and is_set)
44
+ ):
45
+ m[k] = val
46
+
47
+ return m
48
+
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
+ from pydantic import model_serializer
6
+ from typing import Optional, TypedDict
7
+ from typing_extensions import NotRequired
8
+
9
+
10
+ class TrainingParametersInTypedDict(TypedDict):
11
+ r"""The fine-tuning hyperparameter settings used in a fine-tune job."""
12
+
13
+ training_steps: NotRequired[Nullable[int]]
14
+ r"""The number of training steps to perform. A training step refers to a single update of the model weights during the fine-tuning process. This update is typically calculated using a batch of samples from the training dataset."""
15
+ learning_rate: NotRequired[float]
16
+ r"""A parameter describing how much to adjust the pre-trained model's weights in response to the estimated error each time the weights are updated during the fine-tuning process."""
17
+ epochs: NotRequired[Nullable[float]]
18
+ fim_ratio: NotRequired[Nullable[float]]
19
+
20
+
21
+ class TrainingParametersIn(BaseModel):
22
+ r"""The fine-tuning hyperparameter settings used in a fine-tune job."""
23
+
24
+ training_steps: OptionalNullable[int] = UNSET
25
+ r"""The number of training steps to perform. A training step refers to a single update of the model weights during the fine-tuning process. This update is typically calculated using a batch of samples from the training dataset."""
26
+ learning_rate: Optional[float] = 0.0001
27
+ r"""A parameter describing how much to adjust the pre-trained model's weights in response to the estimated error each time the weights are updated during the fine-tuning process."""
28
+ epochs: OptionalNullable[float] = UNSET
29
+ fim_ratio: OptionalNullable[float] = UNSET
30
+
31
+ @model_serializer(mode="wrap")
32
+ def serialize_model(self, handler):
33
+ optional_fields = ["training_steps", "learning_rate", "epochs", "fim_ratio"]
34
+ nullable_fields = ["training_steps", "epochs", "fim_ratio"]
35
+ null_default_fields = []
36
+
37
+ serialized = handler(self)
38
+
39
+ m = {}
40
+
41
+ for n, f in self.model_fields.items():
42
+ k = f.alias or n
43
+ val = serialized.get(k)
44
+
45
+ optional_nullable = k in optional_fields and k in nullable_fields
46
+ is_set = (self.__pydantic_fields_set__.intersection({n}) or k in null_default_fields) # pylint: disable=no-member
47
+
48
+ if val is not None and val != UNSET_SENTINEL:
49
+ m[k] = val
50
+ elif val != UNSET_SENTINEL and (
51
+ not k in optional_fields or (optional_nullable and is_set)
52
+ ):
53
+ m[k] = val
54
+
55
+ return m
56
+
@@ -0,0 +1,19 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel
5
+ import pydantic
6
+ from typing import Final, Optional, TypedDict
7
+ from typing_extensions import Annotated, NotRequired
8
+
9
+
10
+ class UnarchiveFTModelOutTypedDict(TypedDict):
11
+ id: str
12
+ archived: NotRequired[bool]
13
+
14
+
15
+ class UnarchiveFTModelOut(BaseModel):
16
+ id: str
17
+ OBJECT: Annotated[Final[Optional[str]], pydantic.Field(alias="object")] = "model" # type: ignore
18
+ archived: Optional[bool] = False
19
+
@@ -0,0 +1,44 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
+ from pydantic import model_serializer
6
+ from typing import TypedDict
7
+ from typing_extensions import NotRequired
8
+
9
+
10
+ class UpdateFTModelInTypedDict(TypedDict):
11
+ name: NotRequired[Nullable[str]]
12
+ description: NotRequired[Nullable[str]]
13
+
14
+
15
+ class UpdateFTModelIn(BaseModel):
16
+ name: OptionalNullable[str] = UNSET
17
+ description: OptionalNullable[str] = UNSET
18
+
19
+ @model_serializer(mode="wrap")
20
+ def serialize_model(self, handler):
21
+ optional_fields = ["name", "description"]
22
+ nullable_fields = ["name", "description"]
23
+ null_default_fields = []
24
+
25
+ serialized = handler(self)
26
+
27
+ m = {}
28
+
29
+ for n, f in self.model_fields.items():
30
+ k = f.alias or n
31
+ val = serialized.get(k)
32
+
33
+ optional_nullable = k in optional_fields and k in nullable_fields
34
+ is_set = (self.__pydantic_fields_set__.intersection({n}) or k in null_default_fields) # pylint: disable=no-member
35
+
36
+ if val is not None and val != UNSET_SENTINEL:
37
+ m[k] = val
38
+ elif val != UNSET_SENTINEL and (
39
+ not k in optional_fields or (optional_nullable and is_set)
40
+ ):
41
+ m[k] = val
42
+
43
+ return m
44
+
@@ -0,0 +1,71 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .sampletype import SampleType
5
+ from .source import Source
6
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
7
+ import pydantic
8
+ from pydantic import model_serializer
9
+ from typing import Final, TypedDict
10
+ from typing_extensions import Annotated, NotRequired
11
+
12
+
13
+ class UploadFileOutTypedDict(TypedDict):
14
+ id: str
15
+ r"""The unique identifier of the file."""
16
+ object: str
17
+ r"""The object type, which is always \"file\"."""
18
+ bytes: int
19
+ r"""The size of the file, in bytes."""
20
+ created_at: int
21
+ r"""The UNIX timestamp (in seconds) of the event."""
22
+ filename: str
23
+ r"""The name of the uploaded file."""
24
+ sample_type: SampleType
25
+ source: Source
26
+ num_lines: NotRequired[Nullable[int]]
27
+
28
+
29
+ class UploadFileOut(BaseModel):
30
+ id: str
31
+ r"""The unique identifier of the file."""
32
+ object: str
33
+ r"""The object type, which is always \"file\"."""
34
+ bytes: int
35
+ r"""The size of the file, in bytes."""
36
+ created_at: int
37
+ r"""The UNIX timestamp (in seconds) of the event."""
38
+ filename: str
39
+ r"""The name of the uploaded file."""
40
+ sample_type: SampleType
41
+ source: Source
42
+ PURPOSE: Annotated[Final[str], pydantic.Field(alias="purpose")] = "fine-tune" # type: ignore
43
+ r"""The intended purpose of the uploaded file. Only accepts fine-tuning (`fine-tune`) for now."""
44
+ num_lines: OptionalNullable[int] = UNSET
45
+
46
+ @model_serializer(mode="wrap")
47
+ def serialize_model(self, handler):
48
+ optional_fields = ["num_lines"]
49
+ nullable_fields = ["num_lines"]
50
+ null_default_fields = []
51
+
52
+ serialized = handler(self)
53
+
54
+ m = {}
55
+
56
+ for n, f in self.model_fields.items():
57
+ k = f.alias or n
58
+ val = serialized.get(k)
59
+
60
+ optional_nullable = k in optional_fields and k in nullable_fields
61
+ is_set = (self.__pydantic_fields_set__.intersection({n}) or k in null_default_fields) # pylint: disable=no-member
62
+
63
+ if val is not None and val != UNSET_SENTINEL:
64
+ m[k] = val
65
+ elif val != UNSET_SENTINEL and (
66
+ not k in optional_fields or (optional_nullable and is_set)
67
+ ):
68
+ m[k] = val
69
+
70
+ return m
71
+
@@ -0,0 +1,18 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel
5
+ from typing import TypedDict
6
+
7
+
8
+ class UsageInfoTypedDict(TypedDict):
9
+ prompt_tokens: int
10
+ completion_tokens: int
11
+ total_tokens: int
12
+
13
+
14
+ class UsageInfo(BaseModel):
15
+ prompt_tokens: int
16
+ completion_tokens: int
17
+ total_tokens: int
18
+
@@ -0,0 +1,26 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .textchunk import TextChunk, TextChunkTypedDict
5
+ from mistralai.types import BaseModel
6
+ from typing import List, Literal, Optional, TypedDict, Union
7
+ from typing_extensions import NotRequired
8
+
9
+
10
+ UserMessageRole = Literal["user"]
11
+
12
+ class UserMessageTypedDict(TypedDict):
13
+ content: UserMessageContentTypedDict
14
+ role: NotRequired[UserMessageRole]
15
+
16
+
17
+ class UserMessage(BaseModel):
18
+ content: UserMessageContent
19
+ role: Optional[UserMessageRole] = "user"
20
+
21
+
22
+ UserMessageContentTypedDict = Union[str, List[TextChunkTypedDict]]
23
+
24
+
25
+ UserMessageContent = Union[str, List[TextChunk]]
26
+
@@ -0,0 +1,24 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel
5
+ from typing import List, TypedDict, Union
6
+
7
+
8
+ class ValidationErrorTypedDict(TypedDict):
9
+ loc: List[LocTypedDict]
10
+ msg: str
11
+ type: str
12
+
13
+
14
+ class ValidationError(BaseModel):
15
+ loc: List[Loc]
16
+ msg: str
17
+ type: str
18
+
19
+
20
+ LocTypedDict = Union[str, int]
21
+
22
+
23
+ Loc = Union[str, int]
24
+
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
5
+ import pydantic
6
+ from pydantic import model_serializer
7
+ from typing import Final, Optional, TypedDict
8
+ from typing_extensions import Annotated, NotRequired
9
+
10
+
11
+ class WandbIntegrationTypedDict(TypedDict):
12
+ project: str
13
+ r"""The name of the project that the new run will be created under."""
14
+ api_key: str
15
+ r"""The WandB API key to use for authentication."""
16
+ name: NotRequired[Nullable[str]]
17
+ r"""A display name to set for the run. If not set, will use the job ID as the name."""
18
+ run_name: NotRequired[Nullable[str]]
19
+
20
+
21
+ class WandbIntegration(BaseModel):
22
+ project: str
23
+ r"""The name of the project that the new run will be created under."""
24
+ api_key: str
25
+ r"""The WandB API key to use for authentication."""
26
+ TYPE: Annotated[Final[Optional[str]], pydantic.Field(alias="type")] = "wandb" # type: ignore
27
+ name: OptionalNullable[str] = UNSET
28
+ r"""A display name to set for the run. If not set, will use the job ID as the name."""
29
+ run_name: OptionalNullable[str] = UNSET
30
+
31
+ @model_serializer(mode="wrap")
32
+ def serialize_model(self, handler):
33
+ optional_fields = ["type", "name", "run_name"]
34
+ nullable_fields = ["name", "run_name"]
35
+ null_default_fields = []
36
+
37
+ serialized = handler(self)
38
+
39
+ m = {}
40
+
41
+ for n, f in self.model_fields.items():
42
+ k = f.alias or n
43
+ val = serialized.get(k)
44
+
45
+ optional_nullable = k in optional_fields and k in nullable_fields
46
+ is_set = (self.__pydantic_fields_set__.intersection({n}) or k in null_default_fields) # pylint: disable=no-member
47
+
48
+ if val is not None and val != UNSET_SENTINEL:
49
+ m[k] = val
50
+ elif val != UNSET_SENTINEL and (
51
+ not k in optional_fields or (optional_nullable and is_set)
52
+ ):
53
+ m[k] = val
54
+
55
+ return m
56
+