mistralai 1.8.1__py3-none-any.whl → 1.9.1__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 (111) hide show
  1. mistralai/_hooks/types.py +7 -0
  2. mistralai/_version.py +3 -3
  3. mistralai/agents.py +16 -0
  4. mistralai/basesdk.py +12 -20
  5. mistralai/beta.py +1 -1
  6. mistralai/chat.py +16 -0
  7. mistralai/classifiers.py +8 -0
  8. mistralai/conversations.py +35 -15
  9. mistralai/embeddings.py +2 -0
  10. mistralai/extra/run/context.py +2 -4
  11. mistralai/files.py +12 -0
  12. mistralai/fim.py +4 -0
  13. mistralai/httpclient.py +6 -16
  14. mistralai/jobs.py +10 -0
  15. mistralai/mistral_agents.py +10 -0
  16. mistralai/mistral_jobs.py +8 -0
  17. mistralai/models/__init__.py +1357 -722
  18. mistralai/models/agent.py +1 -1
  19. mistralai/models/agentconversation.py +1 -1
  20. mistralai/models/agentcreationrequest.py +1 -1
  21. mistralai/models/agenthandoffentry.py +1 -1
  22. mistralai/models/agents_api_v1_conversations_getop.py +2 -0
  23. mistralai/models/agents_api_v1_conversations_historyop.py +2 -0
  24. mistralai/models/agents_api_v1_conversations_messagesop.py +2 -0
  25. mistralai/models/agents_api_v1_conversations_restart_streamop.py +2 -0
  26. mistralai/models/agents_api_v1_conversations_restartop.py +2 -0
  27. mistralai/models/agentscompletionrequest.py +13 -3
  28. mistralai/models/agentscompletionstreamrequest.py +13 -3
  29. mistralai/models/agentupdaterequest.py +1 -1
  30. mistralai/models/assistantmessage.py +1 -1
  31. mistralai/models/basemodelcard.py +8 -6
  32. mistralai/models/batchjobin.py +1 -1
  33. mistralai/models/batchjobout.py +1 -1
  34. mistralai/models/chatcompletionrequest.py +20 -3
  35. mistralai/models/chatcompletionstreamrequest.py +20 -3
  36. mistralai/models/classifierdetailedjobout.py +1 -1
  37. mistralai/models/classifierftmodelout.py +1 -1
  38. mistralai/models/classifierjobout.py +1 -1
  39. mistralai/models/classifiertargetin.py +1 -1
  40. mistralai/models/classifiertrainingparameters.py +1 -1
  41. mistralai/models/classifiertrainingparametersin.py +1 -1
  42. mistralai/models/completionargs.py +1 -1
  43. mistralai/models/completiondetailedjobout.py +1 -1
  44. mistralai/models/completionftmodelout.py +1 -1
  45. mistralai/models/completionjobout.py +1 -1
  46. mistralai/models/completionresponsestreamchoice.py +1 -1
  47. mistralai/models/completiontrainingparameters.py +1 -1
  48. mistralai/models/completiontrainingparametersin.py +1 -1
  49. mistralai/models/contentchunk.py +3 -0
  50. mistralai/models/conversationrequest.py +1 -1
  51. mistralai/models/conversationstreamrequest.py +1 -1
  52. mistralai/models/conversationusageinfo.py +1 -1
  53. mistralai/models/deltamessage.py +1 -1
  54. mistralai/models/documenturlchunk.py +1 -1
  55. mistralai/models/embeddingrequest.py +1 -1
  56. mistralai/models/eventout.py +1 -1
  57. mistralai/models/filechunk.py +23 -0
  58. mistralai/models/files_api_routes_list_filesop.py +1 -1
  59. mistralai/models/fileschema.py +1 -1
  60. mistralai/models/fimcompletionrequest.py +1 -1
  61. mistralai/models/fimcompletionstreamrequest.py +1 -1
  62. mistralai/models/ftmodelcard.py +9 -6
  63. mistralai/models/functioncallentry.py +1 -1
  64. mistralai/models/functionresultentry.py +1 -1
  65. mistralai/models/githubrepositoryin.py +1 -1
  66. mistralai/models/githubrepositoryout.py +1 -1
  67. mistralai/models/imageurl.py +1 -1
  68. mistralai/models/inputentries.py +21 -2
  69. mistralai/models/jobin.py +1 -1
  70. mistralai/models/jobmetadataout.py +1 -1
  71. mistralai/models/jobs_api_routes_batch_get_batch_jobsop.py +1 -1
  72. mistralai/models/jobs_api_routes_fine_tuning_get_fine_tuning_jobsop.py +1 -1
  73. mistralai/models/jsonschema.py +1 -1
  74. mistralai/models/legacyjobmetadataout.py +1 -1
  75. mistralai/models/messageinputentry.py +4 -4
  76. mistralai/models/messageoutputentry.py +1 -1
  77. mistralai/models/messageoutputevent.py +1 -1
  78. mistralai/models/metricout.py +1 -1
  79. mistralai/models/mistralpromptmode.py +8 -0
  80. mistralai/models/modelcapabilities.py +3 -0
  81. mistralai/models/modelconversation.py +1 -1
  82. mistralai/models/ocrimageobject.py +1 -1
  83. mistralai/models/ocrpageobject.py +1 -1
  84. mistralai/models/ocrrequest.py +5 -3
  85. mistralai/models/ocrresponse.py +1 -1
  86. mistralai/models/ocrusageinfo.py +1 -1
  87. mistralai/models/responseformat.py +1 -1
  88. mistralai/models/retrievefileout.py +1 -1
  89. mistralai/models/toolexecutionentry.py +1 -1
  90. mistralai/models/toolfilechunk.py +1 -1
  91. mistralai/models/toolmessage.py +1 -1
  92. mistralai/models/toolreferencechunk.py +1 -1
  93. mistralai/models/updateftmodelin.py +1 -1
  94. mistralai/models/uploadfileout.py +1 -1
  95. mistralai/models/usermessage.py +1 -1
  96. mistralai/models/wandbintegration.py +1 -1
  97. mistralai/models/wandbintegrationout.py +1 -1
  98. mistralai/models_.py +14 -2
  99. mistralai/ocr.py +2 -0
  100. mistralai/sdk.py +68 -40
  101. mistralai/sdkconfiguration.py +0 -7
  102. mistralai/types/basemodel.py +3 -3
  103. mistralai/utils/__init__.py +131 -45
  104. mistralai/utils/datetimes.py +23 -0
  105. mistralai/utils/enums.py +67 -27
  106. mistralai/utils/forms.py +49 -28
  107. mistralai/utils/serializers.py +32 -3
  108. {mistralai-1.8.1.dist-info → mistralai-1.9.1.dist-info}/METADATA +13 -6
  109. {mistralai-1.8.1.dist-info → mistralai-1.9.1.dist-info}/RECORD +111 -108
  110. {mistralai-1.8.1.dist-info → mistralai-1.9.1.dist-info}/LICENSE +0 -0
  111. {mistralai-1.8.1.dist-info → mistralai-1.9.1.dist-info}/WHEEL +0 -0
@@ -40,7 +40,7 @@ class DeltaMessage(BaseModel):
40
40
 
41
41
  m = {}
42
42
 
43
- for n, f in self.model_fields.items():
43
+ for n, f in type(self).model_fields.items():
44
44
  k = f.alias or n
45
45
  val = serialized.get(k)
46
46
  serialized.pop(k, None)
@@ -35,7 +35,7 @@ class DocumentURLChunk(BaseModel):
35
35
 
36
36
  m = {}
37
37
 
38
- for n, f in self.model_fields.items():
38
+ for n, f in type(self).model_fields.items():
39
39
  k = f.alias or n
40
40
  val = serialized.get(k)
41
41
  serialized.pop(k, None)
@@ -51,7 +51,7 @@ class EmbeddingRequest(BaseModel):
51
51
 
52
52
  m = {}
53
53
 
54
- for n, f in self.model_fields.items():
54
+ for n, f in type(self).model_fields.items():
55
55
  k = f.alias or n
56
56
  val = serialized.get(k)
57
57
  serialized.pop(k, None)
@@ -34,7 +34,7 @@ class EventOut(BaseModel):
34
34
 
35
35
  m = {}
36
36
 
37
- for n, f in self.model_fields.items():
37
+ for n, f in type(self).model_fields.items():
38
38
  k = f.alias or n
39
39
  val = serialized.get(k)
40
40
  serialized.pop(k, None)
@@ -0,0 +1,23 @@
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 validate_const
6
+ import pydantic
7
+ from pydantic.functional_validators import AfterValidator
8
+ from typing import Literal, Optional
9
+ from typing_extensions import Annotated, TypedDict
10
+
11
+
12
+ class FileChunkTypedDict(TypedDict):
13
+ file_id: str
14
+ type: Literal["file"]
15
+
16
+
17
+ class FileChunk(BaseModel):
18
+ file_id: str
19
+
20
+ TYPE: Annotated[
21
+ Annotated[Optional[Literal["file"]], AfterValidator(validate_const("file"))],
22
+ pydantic.Field(alias="type"),
23
+ ] = "file"
@@ -75,7 +75,7 @@ class FilesAPIRoutesListFilesRequest(BaseModel):
75
75
 
76
76
  m = {}
77
77
 
78
- for n, f in self.model_fields.items():
78
+ for n, f in type(self).model_fields.items():
79
79
  k = f.alias or n
80
80
  val = serialized.get(k)
81
81
  serialized.pop(k, None)
@@ -63,7 +63,7 @@ class FileSchema(BaseModel):
63
63
 
64
64
  m = {}
65
65
 
66
- for n, f in self.model_fields.items():
66
+ for n, f in type(self).model_fields.items():
67
67
  k = f.alias or n
68
68
  val = serialized.get(k)
69
69
  serialized.pop(k, None)
@@ -104,7 +104,7 @@ class FIMCompletionRequest(BaseModel):
104
104
 
105
105
  m = {}
106
106
 
107
- for n, f in self.model_fields.items():
107
+ for n, f in type(self).model_fields.items():
108
108
  k = f.alias or n
109
109
  val = serialized.get(k)
110
110
  serialized.pop(k, None)
@@ -102,7 +102,7 @@ class FIMCompletionStreamRequest(BaseModel):
102
102
 
103
103
  m = {}
104
104
 
105
- for n, f in self.model_fields.items():
105
+ for n, f in type(self).model_fields.items():
106
106
  k = f.alias or n
107
107
  val = serialized.get(k)
108
108
  serialized.pop(k, None)
@@ -12,9 +12,6 @@ from typing import List, Literal, Optional
12
12
  from typing_extensions import Annotated, NotRequired, TypedDict
13
13
 
14
14
 
15
- FTModelCardType = Literal["fine-tuned"]
16
-
17
-
18
15
  class FTModelCardTypedDict(TypedDict):
19
16
  r"""Extra fields for fine-tuned models."""
20
17
 
@@ -30,8 +27,9 @@ class FTModelCardTypedDict(TypedDict):
30
27
  max_context_length: NotRequired[int]
31
28
  aliases: NotRequired[List[str]]
32
29
  deprecation: NotRequired[Nullable[datetime]]
30
+ deprecation_replacement_model: NotRequired[Nullable[str]]
33
31
  default_model_temperature: NotRequired[Nullable[float]]
34
- type: FTModelCardType
32
+ type: Literal["fine-tuned"]
35
33
  archived: NotRequired[bool]
36
34
 
37
35
 
@@ -62,11 +60,14 @@ class FTModelCard(BaseModel):
62
60
 
63
61
  deprecation: OptionalNullable[datetime] = UNSET
64
62
 
63
+ deprecation_replacement_model: OptionalNullable[str] = UNSET
64
+
65
65
  default_model_temperature: OptionalNullable[float] = UNSET
66
66
 
67
67
  TYPE: Annotated[
68
68
  Annotated[
69
- Optional[FTModelCardType], AfterValidator(validate_const("fine-tuned"))
69
+ Optional[Literal["fine-tuned"]],
70
+ AfterValidator(validate_const("fine-tuned")),
70
71
  ],
71
72
  pydantic.Field(alias="type"),
72
73
  ] = "fine-tuned"
@@ -84,6 +85,7 @@ class FTModelCard(BaseModel):
84
85
  "max_context_length",
85
86
  "aliases",
86
87
  "deprecation",
88
+ "deprecation_replacement_model",
87
89
  "default_model_temperature",
88
90
  "type",
89
91
  "archived",
@@ -92,6 +94,7 @@ class FTModelCard(BaseModel):
92
94
  "name",
93
95
  "description",
94
96
  "deprecation",
97
+ "deprecation_replacement_model",
95
98
  "default_model_temperature",
96
99
  ]
97
100
  null_default_fields = []
@@ -100,7 +103,7 @@ class FTModelCard(BaseModel):
100
103
 
101
104
  m = {}
102
105
 
103
- for n, f in self.model_fields.items():
106
+ for n, f in type(self).model_fields.items():
104
107
  k = f.alias or n
105
108
  val = serialized.get(k)
106
109
  serialized.pop(k, None)
@@ -55,7 +55,7 @@ class FunctionCallEntry(BaseModel):
55
55
 
56
56
  m = {}
57
57
 
58
- for n, f in self.model_fields.items():
58
+ for n, f in type(self).model_fields.items():
59
59
  k = f.alias or n
60
60
  val = serialized.get(k)
61
61
  serialized.pop(k, None)
@@ -48,7 +48,7 @@ class FunctionResultEntry(BaseModel):
48
48
 
49
49
  m = {}
50
50
 
51
- for n, f in self.model_fields.items():
51
+ for n, f in type(self).model_fields.items():
52
52
  k = f.alias or n
53
53
  val = serialized.get(k)
54
54
  serialized.pop(k, None)
@@ -42,7 +42,7 @@ class GithubRepositoryIn(BaseModel):
42
42
 
43
43
  m = {}
44
44
 
45
- for n, f in self.model_fields.items():
45
+ for n, f in type(self).model_fields.items():
46
46
  k = f.alias or n
47
47
  val = serialized.get(k)
48
48
  serialized.pop(k, None)
@@ -42,7 +42,7 @@ class GithubRepositoryOut(BaseModel):
42
42
 
43
43
  m = {}
44
44
 
45
- for n, f in self.model_fields.items():
45
+ for n, f in type(self).model_fields.items():
46
46
  k = f.alias or n
47
47
  val = serialized.get(k)
48
48
  serialized.pop(k, None)
@@ -26,7 +26,7 @@ class ImageURL(BaseModel):
26
26
 
27
27
  m = {}
28
28
 
29
- for n, f in self.model_fields.items():
29
+ for n, f in type(self).model_fields.items():
30
30
  k = f.alias or n
31
31
  val = serialized.get(k)
32
32
  serialized.pop(k, None)
@@ -1,18 +1,37 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .agenthandoffentry import AgentHandoffEntry, AgentHandoffEntryTypedDict
5
+ from .functioncallentry import FunctionCallEntry, FunctionCallEntryTypedDict
4
6
  from .functionresultentry import FunctionResultEntry, FunctionResultEntryTypedDict
5
7
  from .messageinputentry import MessageInputEntry, MessageInputEntryTypedDict
8
+ from .messageoutputentry import MessageOutputEntry, MessageOutputEntryTypedDict
9
+ from .toolexecutionentry import ToolExecutionEntry, ToolExecutionEntryTypedDict
6
10
  from typing import Union
7
11
  from typing_extensions import TypeAliasType
8
12
 
9
13
 
10
14
  InputEntriesTypedDict = TypeAliasType(
11
15
  "InputEntriesTypedDict",
12
- Union[MessageInputEntryTypedDict, FunctionResultEntryTypedDict],
16
+ Union[
17
+ MessageInputEntryTypedDict,
18
+ FunctionResultEntryTypedDict,
19
+ ToolExecutionEntryTypedDict,
20
+ FunctionCallEntryTypedDict,
21
+ MessageOutputEntryTypedDict,
22
+ AgentHandoffEntryTypedDict,
23
+ ],
13
24
  )
14
25
 
15
26
 
16
27
  InputEntries = TypeAliasType(
17
- "InputEntries", Union[MessageInputEntry, FunctionResultEntry]
28
+ "InputEntries",
29
+ Union[
30
+ MessageInputEntry,
31
+ FunctionResultEntry,
32
+ ToolExecutionEntry,
33
+ FunctionCallEntry,
34
+ MessageOutputEntry,
35
+ AgentHandoffEntry,
36
+ ],
18
37
  )
mistralai/models/jobin.py CHANGED
@@ -120,7 +120,7 @@ class JobIn(BaseModel):
120
120
 
121
121
  m = {}
122
122
 
123
- for n, f in self.model_fields.items():
123
+ for n, f in type(self).model_fields.items():
124
124
  k = f.alias or n
125
125
  val = serialized.get(k)
126
126
  serialized.pop(k, None)
@@ -57,7 +57,7 @@ class JobMetadataOut(BaseModel):
57
57
 
58
58
  m = {}
59
59
 
60
- for n, f in self.model_fields.items():
60
+ for n, f in type(self).model_fields.items():
61
61
  k = f.alias or n
62
62
  val = serialized.get(k)
63
63
  serialized.pop(k, None)
@@ -74,7 +74,7 @@ class JobsAPIRoutesBatchGetBatchJobsRequest(BaseModel):
74
74
 
75
75
  m = {}
76
76
 
77
- for n, f in self.model_fields.items():
77
+ for n, f in type(self).model_fields.items():
78
78
  k = f.alias or n
79
79
  val = serialized.get(k)
80
80
  serialized.pop(k, None)
@@ -135,7 +135,7 @@ class JobsAPIRoutesFineTuningGetFineTuningJobsRequest(BaseModel):
135
135
 
136
136
  m = {}
137
137
 
138
- for n, f in self.model_fields.items():
138
+ for n, f in type(self).model_fields.items():
139
139
  k = f.alias or n
140
140
  val = serialized.get(k)
141
141
  serialized.pop(k, None)
@@ -34,7 +34,7 @@ class JSONSchema(BaseModel):
34
34
 
35
35
  m = {}
36
36
 
37
- for n, f in self.model_fields.items():
37
+ for n, f in type(self).model_fields.items():
38
38
  k = f.alias or n
39
39
  val = serialized.get(k)
40
40
  serialized.pop(k, None)
@@ -98,7 +98,7 @@ class LegacyJobMetadataOut(BaseModel):
98
98
 
99
99
  m = {}
100
100
 
101
- for n, f in self.model_fields.items():
101
+ for n, f in type(self).model_fields.items():
102
102
  k = f.alias or n
103
103
  val = serialized.get(k)
104
104
  serialized.pop(k, None)
@@ -14,7 +14,7 @@ from typing_extensions import NotRequired, TypeAliasType, TypedDict
14
14
 
15
15
  Object = Literal["entry"]
16
16
 
17
- MessageInputEntryType = Literal["message.input"]
17
+ Type = Literal["message.input"]
18
18
 
19
19
  MessageInputEntryRole = Literal["assistant", "user"]
20
20
 
@@ -35,7 +35,7 @@ class MessageInputEntryTypedDict(TypedDict):
35
35
  role: MessageInputEntryRole
36
36
  content: MessageInputEntryContentTypedDict
37
37
  object: NotRequired[Object]
38
- type: NotRequired[MessageInputEntryType]
38
+ type: NotRequired[Type]
39
39
  created_at: NotRequired[datetime]
40
40
  completed_at: NotRequired[Nullable[datetime]]
41
41
  id: NotRequired[str]
@@ -50,7 +50,7 @@ class MessageInputEntry(BaseModel):
50
50
 
51
51
  object: Optional[Object] = "entry"
52
52
 
53
- type: Optional[MessageInputEntryType] = "message.input"
53
+ type: Optional[Type] = "message.input"
54
54
 
55
55
  created_at: Optional[datetime] = None
56
56
 
@@ -68,7 +68,7 @@ class MessageInputEntry(BaseModel):
68
68
 
69
69
  m = {}
70
70
 
71
- for n, f in self.model_fields.items():
71
+ for n, f in type(self).model_fields.items():
72
72
  k = f.alias or n
73
73
  val = serialized.get(k)
74
74
  serialized.pop(k, None)
@@ -79,7 +79,7 @@ class MessageOutputEntry(BaseModel):
79
79
 
80
80
  m = {}
81
81
 
82
- for n, f in self.model_fields.items():
82
+ for n, f in type(self).model_fields.items():
83
83
  k = f.alias or n
84
84
  val = serialized.get(k)
85
85
  serialized.pop(k, None)
@@ -72,7 +72,7 @@ class MessageOutputEvent(BaseModel):
72
72
 
73
73
  m = {}
74
74
 
75
- for n, f in self.model_fields.items():
75
+ for n, f in type(self).model_fields.items():
76
76
  k = f.alias or n
77
77
  val = serialized.get(k)
78
78
  serialized.pop(k, None)
@@ -33,7 +33,7 @@ class MetricOut(BaseModel):
33
33
 
34
34
  m = {}
35
35
 
36
- for n, f in self.model_fields.items():
36
+ for n, f in type(self).model_fields.items():
37
37
  k = f.alias or n
38
38
  val = serialized.get(k)
39
39
  serialized.pop(k, None)
@@ -0,0 +1,8 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from mistralai.types import UnrecognizedStr
5
+ from typing import Literal, Union
6
+
7
+
8
+ MistralPromptMode = Union[Literal["reasoning"], UnrecognizedStr]
@@ -12,6 +12,7 @@ class ModelCapabilitiesTypedDict(TypedDict):
12
12
  function_calling: NotRequired[bool]
13
13
  fine_tuning: NotRequired[bool]
14
14
  vision: NotRequired[bool]
15
+ classification: NotRequired[bool]
15
16
 
16
17
 
17
18
  class ModelCapabilities(BaseModel):
@@ -24,3 +25,5 @@ class ModelCapabilities(BaseModel):
24
25
  fine_tuning: Optional[bool] = False
25
26
 
26
27
  vision: Optional[bool] = False
28
+
29
+ classification: Optional[bool] = False
@@ -106,7 +106,7 @@ class ModelConversation(BaseModel):
106
106
 
107
107
  m = {}
108
108
 
109
- for n, f in self.model_fields.items():
109
+ for n, f in type(self).model_fields.items():
110
110
  k = f.alias or n
111
111
  val = serialized.get(k)
112
112
  serialized.pop(k, None)
@@ -62,7 +62,7 @@ class OCRImageObject(BaseModel):
62
62
 
63
63
  m = {}
64
64
 
65
- for n, f in self.model_fields.items():
65
+ for n, f in type(self).model_fields.items():
66
66
  k = f.alias or n
67
67
  val = serialized.get(k)
68
68
  serialized.pop(k, None)
@@ -43,7 +43,7 @@ class OCRPageObject(BaseModel):
43
43
 
44
44
  m = {}
45
45
 
46
- for n, f in self.model_fields.items():
46
+ for n, f in type(self).model_fields.items():
47
47
  k = f.alias or n
48
48
  val = serialized.get(k)
49
49
  serialized.pop(k, None)
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
  from .documenturlchunk import DocumentURLChunk, DocumentURLChunkTypedDict
5
+ from .filechunk import FileChunk, FileChunkTypedDict
5
6
  from .imageurlchunk import ImageURLChunk, ImageURLChunkTypedDict
6
7
  from .responseformat import ResponseFormat, ResponseFormatTypedDict
7
8
  from mistralai.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL
@@ -11,12 +12,13 @@ from typing_extensions import NotRequired, TypeAliasType, TypedDict
11
12
 
12
13
 
13
14
  DocumentTypedDict = TypeAliasType(
14
- "DocumentTypedDict", Union[ImageURLChunkTypedDict, DocumentURLChunkTypedDict]
15
+ "DocumentTypedDict",
16
+ Union[FileChunkTypedDict, ImageURLChunkTypedDict, DocumentURLChunkTypedDict],
15
17
  )
16
18
  r"""Document to run OCR on"""
17
19
 
18
20
 
19
- Document = TypeAliasType("Document", Union[ImageURLChunk, DocumentURLChunk])
21
+ Document = TypeAliasType("Document", Union[FileChunk, ImageURLChunk, DocumentURLChunk])
20
22
  r"""Document to run OCR on"""
21
23
 
22
24
 
@@ -91,7 +93,7 @@ class OCRRequest(BaseModel):
91
93
 
92
94
  m = {}
93
95
 
94
- for n, f in self.model_fields.items():
96
+ for n, f in type(self).model_fields.items():
95
97
  k = f.alias or n
96
98
  val = serialized.get(k)
97
99
  serialized.pop(k, None)
@@ -41,7 +41,7 @@ class OCRResponse(BaseModel):
41
41
 
42
42
  m = {}
43
43
 
44
- for n, f in self.model_fields.items():
44
+ for n, f in type(self).model_fields.items():
45
45
  k = f.alias or n
46
46
  val = serialized.get(k)
47
47
  serialized.pop(k, None)
@@ -30,7 +30,7 @@ class OCRUsageInfo(BaseModel):
30
30
 
31
31
  m = {}
32
32
 
33
- for n, f in self.model_fields.items():
33
+ for n, f in type(self).model_fields.items():
34
34
  k = f.alias or n
35
35
  val = serialized.get(k)
36
36
  serialized.pop(k, None)
@@ -31,7 +31,7 @@ class ResponseFormat(BaseModel):
31
31
 
32
32
  m = {}
33
33
 
34
- for n, f in self.model_fields.items():
34
+ for n, f in type(self).model_fields.items():
35
35
  k = f.alias or n
36
36
  val = serialized.get(k)
37
37
  serialized.pop(k, None)
@@ -66,7 +66,7 @@ class RetrieveFileOut(BaseModel):
66
66
 
67
67
  m = {}
68
68
 
69
- for n, f in self.model_fields.items():
69
+ for n, f in type(self).model_fields.items():
70
70
  k = f.alias or n
71
71
  val = serialized.get(k)
72
72
  serialized.pop(k, None)
@@ -49,7 +49,7 @@ class ToolExecutionEntry(BaseModel):
49
49
 
50
50
  m = {}
51
51
 
52
- for n, f in self.model_fields.items():
52
+ for n, f in type(self).model_fields.items():
53
53
  k = f.alias or n
54
54
  val = serialized.get(k)
55
55
  serialized.pop(k, None)
@@ -40,7 +40,7 @@ class ToolFileChunk(BaseModel):
40
40
 
41
41
  m = {}
42
42
 
43
- for n, f in self.model_fields.items():
43
+ for n, f in type(self).model_fields.items():
44
44
  k = f.alias or n
45
45
  val = serialized.get(k)
46
46
  serialized.pop(k, None)
@@ -45,7 +45,7 @@ class ToolMessage(BaseModel):
45
45
 
46
46
  m = {}
47
47
 
48
- for n, f in self.model_fields.items():
48
+ for n, f in type(self).model_fields.items():
49
49
  k = f.alias or n
50
50
  val = serialized.get(k)
51
51
  serialized.pop(k, None)
@@ -40,7 +40,7 @@ class ToolReferenceChunk(BaseModel):
40
40
 
41
41
  m = {}
42
42
 
43
- for n, f in self.model_fields.items():
43
+ for n, f in type(self).model_fields.items():
44
44
  k = f.alias or n
45
45
  val = serialized.get(k)
46
46
  serialized.pop(k, None)
@@ -26,7 +26,7 @@ class UpdateFTModelIn(BaseModel):
26
26
 
27
27
  m = {}
28
28
 
29
- for n, f in self.model_fields.items():
29
+ for n, f in type(self).model_fields.items():
30
30
  k = f.alias or n
31
31
  val = serialized.get(k)
32
32
  serialized.pop(k, None)
@@ -63,7 +63,7 @@ class UploadFileOut(BaseModel):
63
63
 
64
64
  m = {}
65
65
 
66
- for n, f in self.model_fields.items():
66
+ for n, f in type(self).model_fields.items():
67
67
  k = f.alias or n
68
68
  val = serialized.get(k)
69
69
  serialized.pop(k, None)
@@ -39,7 +39,7 @@ class UserMessage(BaseModel):
39
39
 
40
40
  m = {}
41
41
 
42
- for n, f in self.model_fields.items():
42
+ for n, f in type(self).model_fields.items():
43
43
  k = f.alias or n
44
44
  val = serialized.get(k)
45
45
  serialized.pop(k, None)
@@ -45,7 +45,7 @@ class WandbIntegration(BaseModel):
45
45
 
46
46
  m = {}
47
47
 
48
- for n, f in self.model_fields.items():
48
+ for n, f in type(self).model_fields.items():
49
49
  k = f.alias or n
50
50
  val = serialized.get(k)
51
51
  serialized.pop(k, None)
@@ -43,7 +43,7 @@ class WandbIntegrationOut(BaseModel):
43
43
 
44
44
  m = {}
45
45
 
46
- for n, f in self.model_fields.items():
46
+ for n, f in type(self).model_fields.items():
47
47
  k = f.alias or n
48
48
  val = serialized.get(k)
49
49
  serialized.pop(k, None)