orq-ai-sdk 4.2.0rc28__py3-none-any.whl → 4.3.0rc7__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.
- orq_ai_sdk/_version.py +3 -3
- orq_ai_sdk/agents.py +186 -186
- orq_ai_sdk/audio.py +30 -0
- orq_ai_sdk/basesdk.py +20 -6
- orq_ai_sdk/chat.py +22 -0
- orq_ai_sdk/completions.py +438 -0
- orq_ai_sdk/contacts.py +43 -855
- orq_ai_sdk/deployments.py +61 -0
- orq_ai_sdk/edits.py +364 -0
- orq_ai_sdk/embeddings.py +344 -0
- orq_ai_sdk/generations.py +370 -0
- orq_ai_sdk/identities.py +1037 -0
- orq_ai_sdk/images.py +28 -0
- orq_ai_sdk/models/__init__.py +5746 -737
- orq_ai_sdk/models/actionreviewedstreamingevent.py +18 -1
- orq_ai_sdk/models/actionreviewrequestedstreamingevent.py +44 -1
- orq_ai_sdk/models/agenterroredstreamingevent.py +18 -1
- orq_ai_sdk/models/agentinactivestreamingevent.py +168 -70
- orq_ai_sdk/models/agentmessagecreatedstreamingevent.py +18 -2
- orq_ai_sdk/models/agentresponsemessage.py +18 -2
- orq_ai_sdk/models/agentstartedstreamingevent.py +127 -2
- orq_ai_sdk/models/agentthoughtstreamingevent.py +178 -211
- orq_ai_sdk/models/conversationresponse.py +31 -20
- orq_ai_sdk/models/conversationwithmessagesresponse.py +31 -20
- orq_ai_sdk/models/createagentrequestop.py +1945 -383
- orq_ai_sdk/models/createagentresponse.py +147 -91
- orq_ai_sdk/models/createagentresponserequestop.py +111 -2
- orq_ai_sdk/models/createchatcompletionop.py +1381 -861
- orq_ai_sdk/models/createchunkop.py +46 -19
- orq_ai_sdk/models/createcompletionop.py +2078 -0
- orq_ai_sdk/models/createcontactop.py +45 -56
- orq_ai_sdk/models/createconversationop.py +61 -39
- orq_ai_sdk/models/createconversationresponseop.py +68 -4
- orq_ai_sdk/models/createdatasetitemop.py +424 -80
- orq_ai_sdk/models/createdatasetop.py +19 -2
- orq_ai_sdk/models/createdatasourceop.py +92 -26
- orq_ai_sdk/models/createembeddingop.py +579 -0
- orq_ai_sdk/models/createevalop.py +552 -24
- orq_ai_sdk/models/createidentityop.py +176 -0
- orq_ai_sdk/models/createimageeditop.py +715 -0
- orq_ai_sdk/models/createimageop.py +407 -128
- orq_ai_sdk/models/createimagevariationop.py +706 -0
- orq_ai_sdk/models/createknowledgeop.py +186 -121
- orq_ai_sdk/models/creatememorydocumentop.py +50 -1
- orq_ai_sdk/models/creatememoryop.py +34 -21
- orq_ai_sdk/models/creatememorystoreop.py +34 -1
- orq_ai_sdk/models/createmoderationop.py +521 -0
- orq_ai_sdk/models/createpromptop.py +2759 -1251
- orq_ai_sdk/models/creatererankop.py +608 -0
- orq_ai_sdk/models/createresponseop.py +2567 -0
- orq_ai_sdk/models/createspeechop.py +466 -0
- orq_ai_sdk/models/createtoolop.py +537 -12
- orq_ai_sdk/models/createtranscriptionop.py +732 -0
- orq_ai_sdk/models/createtranslationop.py +702 -0
- orq_ai_sdk/models/datapart.py +18 -1
- orq_ai_sdk/models/deletechunksop.py +34 -1
- orq_ai_sdk/models/{deletecontactop.py → deleteidentityop.py} +9 -9
- orq_ai_sdk/models/deletepromptop.py +26 -0
- orq_ai_sdk/models/deploymentcreatemetricop.py +362 -76
- orq_ai_sdk/models/deploymentgetconfigop.py +635 -194
- orq_ai_sdk/models/deploymentinvokeop.py +168 -173
- orq_ai_sdk/models/deploymentsop.py +195 -58
- orq_ai_sdk/models/deploymentstreamop.py +652 -304
- orq_ai_sdk/models/errorpart.py +18 -1
- orq_ai_sdk/models/filecontentpartschema.py +18 -1
- orq_ai_sdk/models/filegetop.py +19 -2
- orq_ai_sdk/models/filelistop.py +35 -2
- orq_ai_sdk/models/filepart.py +50 -1
- orq_ai_sdk/models/fileuploadop.py +51 -2
- orq_ai_sdk/models/generateconversationnameop.py +31 -20
- orq_ai_sdk/models/get_v2_evaluators_id_versionsop.py +34 -1
- orq_ai_sdk/models/get_v2_tools_tool_id_versions_version_id_op.py +18 -1
- orq_ai_sdk/models/get_v2_tools_tool_id_versionsop.py +34 -1
- orq_ai_sdk/models/getallmemoriesop.py +34 -21
- orq_ai_sdk/models/getallmemorydocumentsop.py +42 -1
- orq_ai_sdk/models/getallmemorystoresop.py +34 -1
- orq_ai_sdk/models/getallpromptsop.py +1696 -230
- orq_ai_sdk/models/getalltoolsop.py +325 -8
- orq_ai_sdk/models/getchunkscountop.py +34 -1
- orq_ai_sdk/models/getevalsop.py +395 -43
- orq_ai_sdk/models/getonechunkop.py +14 -19
- orq_ai_sdk/models/getoneknowledgeop.py +116 -96
- orq_ai_sdk/models/getonepromptop.py +1679 -230
- orq_ai_sdk/models/getpromptversionop.py +1676 -216
- orq_ai_sdk/models/imagecontentpartschema.py +50 -1
- orq_ai_sdk/models/internal/globals.py +18 -1
- orq_ai_sdk/models/invokeagentop.py +140 -2
- orq_ai_sdk/models/invokedeploymentrequest.py +418 -80
- orq_ai_sdk/models/invokeevalop.py +160 -131
- orq_ai_sdk/models/listagentsop.py +805 -166
- orq_ai_sdk/models/listchunksop.py +32 -19
- orq_ai_sdk/models/listchunkspaginatedop.py +46 -19
- orq_ai_sdk/models/listconversationsop.py +18 -1
- orq_ai_sdk/models/listdatasetdatapointsop.py +252 -42
- orq_ai_sdk/models/listdatasetsop.py +35 -2
- orq_ai_sdk/models/listdatasourcesop.py +35 -26
- orq_ai_sdk/models/{listcontactsop.py → listidentitiesop.py} +89 -79
- orq_ai_sdk/models/listknowledgebasesop.py +132 -96
- orq_ai_sdk/models/listmodelsop.py +1 -0
- orq_ai_sdk/models/listpromptversionsop.py +1690 -216
- orq_ai_sdk/models/parseop.py +161 -17
- orq_ai_sdk/models/partdoneevent.py +19 -2
- orq_ai_sdk/models/post_v2_router_ocrop.py +408 -0
- orq_ai_sdk/models/publiccontact.py +27 -4
- orq_ai_sdk/models/publicidentity.py +62 -0
- orq_ai_sdk/models/reasoningpart.py +19 -2
- orq_ai_sdk/models/refusalpartschema.py +18 -1
- orq_ai_sdk/models/remoteconfigsgetconfigop.py +34 -1
- orq_ai_sdk/models/responsedoneevent.py +114 -84
- orq_ai_sdk/models/responsestartedevent.py +18 -1
- orq_ai_sdk/models/retrieveagentrequestop.py +799 -166
- orq_ai_sdk/models/retrievedatapointop.py +236 -42
- orq_ai_sdk/models/retrievedatasetop.py +19 -2
- orq_ai_sdk/models/retrievedatasourceop.py +17 -26
- orq_ai_sdk/models/{retrievecontactop.py → retrieveidentityop.py} +38 -41
- orq_ai_sdk/models/retrievememorydocumentop.py +18 -1
- orq_ai_sdk/models/retrievememoryop.py +18 -21
- orq_ai_sdk/models/retrievememorystoreop.py +18 -1
- orq_ai_sdk/models/retrievetoolop.py +309 -8
- orq_ai_sdk/models/runagentop.py +1462 -196
- orq_ai_sdk/models/searchknowledgeop.py +108 -1
- orq_ai_sdk/models/security.py +18 -1
- orq_ai_sdk/models/streamagentop.py +93 -2
- orq_ai_sdk/models/streamrunagentop.py +1439 -194
- orq_ai_sdk/models/textcontentpartschema.py +34 -1
- orq_ai_sdk/models/thinkingconfigenabledschema.py +18 -1
- orq_ai_sdk/models/toolcallpart.py +18 -1
- orq_ai_sdk/models/tooldoneevent.py +18 -1
- orq_ai_sdk/models/toolexecutionfailedstreamingevent.py +50 -1
- orq_ai_sdk/models/toolexecutionfinishedstreamingevent.py +34 -1
- orq_ai_sdk/models/toolexecutionstartedstreamingevent.py +34 -1
- orq_ai_sdk/models/toolresultpart.py +18 -1
- orq_ai_sdk/models/toolreviewrequestedevent.py +18 -1
- orq_ai_sdk/models/toolstartedevent.py +18 -1
- orq_ai_sdk/models/updateagentop.py +1968 -397
- orq_ai_sdk/models/updatechunkop.py +46 -19
- orq_ai_sdk/models/updateconversationop.py +61 -39
- orq_ai_sdk/models/updatedatapointop.py +424 -80
- orq_ai_sdk/models/updatedatasetop.py +51 -2
- orq_ai_sdk/models/updatedatasourceop.py +17 -26
- orq_ai_sdk/models/updateevalop.py +577 -16
- orq_ai_sdk/models/{updatecontactop.py → updateidentityop.py} +78 -68
- orq_ai_sdk/models/updateknowledgeop.py +234 -190
- orq_ai_sdk/models/updatememorydocumentop.py +50 -1
- orq_ai_sdk/models/updatememoryop.py +50 -21
- orq_ai_sdk/models/updatememorystoreop.py +66 -1
- orq_ai_sdk/models/updatepromptop.py +2854 -1448
- orq_ai_sdk/models/updatetoolop.py +592 -9
- orq_ai_sdk/models/usermessagerequest.py +18 -2
- orq_ai_sdk/moderations.py +218 -0
- orq_ai_sdk/orq_completions.py +666 -0
- orq_ai_sdk/orq_responses.py +398 -0
- orq_ai_sdk/prompts.py +28 -36
- orq_ai_sdk/rerank.py +330 -0
- orq_ai_sdk/router.py +89 -641
- orq_ai_sdk/sdk.py +3 -0
- orq_ai_sdk/speech.py +333 -0
- orq_ai_sdk/transcriptions.py +416 -0
- orq_ai_sdk/translations.py +384 -0
- orq_ai_sdk/utils/__init__.py +13 -1
- orq_ai_sdk/variations.py +364 -0
- {orq_ai_sdk-4.2.0rc28.dist-info → orq_ai_sdk-4.3.0rc7.dist-info}/METADATA +169 -148
- orq_ai_sdk-4.3.0rc7.dist-info/RECORD +263 -0
- {orq_ai_sdk-4.2.0rc28.dist-info → orq_ai_sdk-4.3.0rc7.dist-info}/WHEEL +2 -1
- orq_ai_sdk-4.3.0rc7.dist-info/top_level.txt +1 -0
- orq_ai_sdk-4.2.0rc28.dist-info/RECORD +0 -233
|
@@ -33,6 +33,22 @@ class DeploymentInvokeGlobals(BaseModel):
|
|
|
33
33
|
FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
|
|
34
34
|
] = None
|
|
35
35
|
|
|
36
|
+
@model_serializer(mode="wrap")
|
|
37
|
+
def serialize_model(self, handler):
|
|
38
|
+
optional_fields = set(["environment", "contactId"])
|
|
39
|
+
serialized = handler(self)
|
|
40
|
+
m = {}
|
|
41
|
+
|
|
42
|
+
for n, f in type(self).model_fields.items():
|
|
43
|
+
k = f.alias or n
|
|
44
|
+
val = serialized.get(k)
|
|
45
|
+
|
|
46
|
+
if val != UNSET_SENTINEL:
|
|
47
|
+
if val is not None or k not in optional_fields:
|
|
48
|
+
m[k] = val
|
|
49
|
+
|
|
50
|
+
return m
|
|
51
|
+
|
|
36
52
|
|
|
37
53
|
DeploymentInvokeObject = Literal[
|
|
38
54
|
"chat",
|
|
@@ -42,7 +58,7 @@ DeploymentInvokeObject = Literal[
|
|
|
42
58
|
r"""Indicates the type of model used to generate the response"""
|
|
43
59
|
|
|
44
60
|
|
|
45
|
-
|
|
61
|
+
Provider = Literal[
|
|
46
62
|
"openai",
|
|
47
63
|
"groq",
|
|
48
64
|
"cohere",
|
|
@@ -108,31 +124,26 @@ class DeploymentInvokeMetadata(BaseModel):
|
|
|
108
124
|
|
|
109
125
|
@model_serializer(mode="wrap")
|
|
110
126
|
def serialize_model(self, handler):
|
|
111
|
-
optional_fields = ["rerank_score"]
|
|
112
|
-
nullable_fields = ["page_number"]
|
|
113
|
-
null_default_fields = []
|
|
114
|
-
|
|
127
|
+
optional_fields = set(["rerank_score"])
|
|
128
|
+
nullable_fields = set(["page_number"])
|
|
115
129
|
serialized = handler(self)
|
|
116
|
-
|
|
117
130
|
m = {}
|
|
118
131
|
|
|
119
132
|
for n, f in type(self).model_fields.items():
|
|
120
133
|
k = f.alias or n
|
|
121
134
|
val = serialized.get(k)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
):
|
|
135
|
-
m[k] = val
|
|
135
|
+
is_nullable_and_explicitly_set = (
|
|
136
|
+
k in nullable_fields
|
|
137
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
if val != UNSET_SENTINEL:
|
|
141
|
+
if (
|
|
142
|
+
val is not None
|
|
143
|
+
or k not in optional_fields
|
|
144
|
+
or is_nullable_and_explicitly_set
|
|
145
|
+
):
|
|
146
|
+
m[k] = val
|
|
136
147
|
|
|
137
148
|
return m
|
|
138
149
|
|
|
@@ -161,31 +172,26 @@ class DeploymentInvokePromptTokensDetails(BaseModel):
|
|
|
161
172
|
|
|
162
173
|
@model_serializer(mode="wrap")
|
|
163
174
|
def serialize_model(self, handler):
|
|
164
|
-
optional_fields = ["cached_tokens"]
|
|
165
|
-
nullable_fields = ["cached_tokens"]
|
|
166
|
-
null_default_fields = []
|
|
167
|
-
|
|
175
|
+
optional_fields = set(["cached_tokens"])
|
|
176
|
+
nullable_fields = set(["cached_tokens"])
|
|
168
177
|
serialized = handler(self)
|
|
169
|
-
|
|
170
178
|
m = {}
|
|
171
179
|
|
|
172
180
|
for n, f in type(self).model_fields.items():
|
|
173
181
|
k = f.alias or n
|
|
174
182
|
val = serialized.get(k)
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
):
|
|
188
|
-
m[k] = val
|
|
183
|
+
is_nullable_and_explicitly_set = (
|
|
184
|
+
k in nullable_fields
|
|
185
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
if val != UNSET_SENTINEL:
|
|
189
|
+
if (
|
|
190
|
+
val is not None
|
|
191
|
+
or k not in optional_fields
|
|
192
|
+
or is_nullable_and_explicitly_set
|
|
193
|
+
):
|
|
194
|
+
m[k] = val
|
|
189
195
|
|
|
190
196
|
return m
|
|
191
197
|
|
|
@@ -199,31 +205,26 @@ class DeploymentInvokeCompletionTokensDetails(BaseModel):
|
|
|
199
205
|
|
|
200
206
|
@model_serializer(mode="wrap")
|
|
201
207
|
def serialize_model(self, handler):
|
|
202
|
-
optional_fields = ["reasoning_tokens"]
|
|
203
|
-
nullable_fields = ["reasoning_tokens"]
|
|
204
|
-
null_default_fields = []
|
|
205
|
-
|
|
208
|
+
optional_fields = set(["reasoning_tokens"])
|
|
209
|
+
nullable_fields = set(["reasoning_tokens"])
|
|
206
210
|
serialized = handler(self)
|
|
207
|
-
|
|
208
211
|
m = {}
|
|
209
212
|
|
|
210
213
|
for n, f in type(self).model_fields.items():
|
|
211
214
|
k = f.alias or n
|
|
212
215
|
val = serialized.get(k)
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
):
|
|
226
|
-
m[k] = val
|
|
216
|
+
is_nullable_and_explicitly_set = (
|
|
217
|
+
k in nullable_fields
|
|
218
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
219
|
+
)
|
|
220
|
+
|
|
221
|
+
if val != UNSET_SENTINEL:
|
|
222
|
+
if (
|
|
223
|
+
val is not None
|
|
224
|
+
or k not in optional_fields
|
|
225
|
+
or is_nullable_and_explicitly_set
|
|
226
|
+
):
|
|
227
|
+
m[k] = val
|
|
227
228
|
|
|
228
229
|
return m
|
|
229
230
|
|
|
@@ -257,37 +258,34 @@ class DeploymentInvokeUsage(BaseModel):
|
|
|
257
258
|
|
|
258
259
|
@model_serializer(mode="wrap")
|
|
259
260
|
def serialize_model(self, handler):
|
|
260
|
-
optional_fields =
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
261
|
+
optional_fields = set(
|
|
262
|
+
[
|
|
263
|
+
"total_tokens",
|
|
264
|
+
"prompt_tokens",
|
|
265
|
+
"completion_tokens",
|
|
266
|
+
"prompt_tokens_details",
|
|
267
|
+
"completion_tokens_details",
|
|
268
|
+
]
|
|
269
|
+
)
|
|
270
|
+
nullable_fields = set(["completion_tokens_details"])
|
|
270
271
|
serialized = handler(self)
|
|
271
|
-
|
|
272
272
|
m = {}
|
|
273
273
|
|
|
274
274
|
for n, f in type(self).model_fields.items():
|
|
275
275
|
k = f.alias or n
|
|
276
276
|
val = serialized.get(k)
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
):
|
|
290
|
-
m[k] = val
|
|
277
|
+
is_nullable_and_explicitly_set = (
|
|
278
|
+
k in nullable_fields
|
|
279
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
280
|
+
)
|
|
281
|
+
|
|
282
|
+
if val != UNSET_SENTINEL:
|
|
283
|
+
if (
|
|
284
|
+
val is not None
|
|
285
|
+
or k not in optional_fields
|
|
286
|
+
or is_nullable_and_explicitly_set
|
|
287
|
+
):
|
|
288
|
+
m[k] = val
|
|
291
289
|
|
|
292
290
|
return m
|
|
293
291
|
|
|
@@ -372,31 +370,28 @@ class Message2(BaseModel):
|
|
|
372
370
|
|
|
373
371
|
@model_serializer(mode="wrap")
|
|
374
372
|
def serialize_model(self, handler):
|
|
375
|
-
optional_fields =
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
373
|
+
optional_fields = set(
|
|
374
|
+
["reasoning", "reasoning_signature", "redacted_reasoning"]
|
|
375
|
+
)
|
|
376
|
+
nullable_fields = set(["content"])
|
|
379
377
|
serialized = handler(self)
|
|
380
|
-
|
|
381
378
|
m = {}
|
|
382
379
|
|
|
383
380
|
for n, f in type(self).model_fields.items():
|
|
384
381
|
k = f.alias or n
|
|
385
382
|
val = serialized.get(k)
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
):
|
|
399
|
-
m[k] = val
|
|
383
|
+
is_nullable_and_explicitly_set = (
|
|
384
|
+
k in nullable_fields
|
|
385
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
386
|
+
)
|
|
387
|
+
|
|
388
|
+
if val != UNSET_SENTINEL:
|
|
389
|
+
if (
|
|
390
|
+
val is not None
|
|
391
|
+
or k not in optional_fields
|
|
392
|
+
or is_nullable_and_explicitly_set
|
|
393
|
+
):
|
|
394
|
+
m[k] = val
|
|
400
395
|
|
|
401
396
|
return m
|
|
402
397
|
|
|
@@ -449,6 +444,22 @@ class MessageToolCalls(BaseModel):
|
|
|
449
444
|
|
|
450
445
|
index: Optional[float] = None
|
|
451
446
|
|
|
447
|
+
@model_serializer(mode="wrap")
|
|
448
|
+
def serialize_model(self, handler):
|
|
449
|
+
optional_fields = set(["id", "index"])
|
|
450
|
+
serialized = handler(self)
|
|
451
|
+
m = {}
|
|
452
|
+
|
|
453
|
+
for n, f in type(self).model_fields.items():
|
|
454
|
+
k = f.alias or n
|
|
455
|
+
val = serialized.get(k)
|
|
456
|
+
|
|
457
|
+
if val != UNSET_SENTINEL:
|
|
458
|
+
if val is not None or k not in optional_fields:
|
|
459
|
+
m[k] = val
|
|
460
|
+
|
|
461
|
+
return m
|
|
462
|
+
|
|
452
463
|
|
|
453
464
|
class Message1TypedDict(TypedDict):
|
|
454
465
|
type: MessageType
|
|
@@ -485,36 +496,28 @@ class Message1(BaseModel):
|
|
|
485
496
|
|
|
486
497
|
@model_serializer(mode="wrap")
|
|
487
498
|
def serialize_model(self, handler):
|
|
488
|
-
optional_fields =
|
|
489
|
-
"content",
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
"redacted_reasoning",
|
|
493
|
-
]
|
|
494
|
-
nullable_fields = ["content"]
|
|
495
|
-
null_default_fields = []
|
|
496
|
-
|
|
499
|
+
optional_fields = set(
|
|
500
|
+
["content", "reasoning", "reasoning_signature", "redacted_reasoning"]
|
|
501
|
+
)
|
|
502
|
+
nullable_fields = set(["content"])
|
|
497
503
|
serialized = handler(self)
|
|
498
|
-
|
|
499
504
|
m = {}
|
|
500
505
|
|
|
501
506
|
for n, f in type(self).model_fields.items():
|
|
502
507
|
k = f.alias or n
|
|
503
508
|
val = serialized.get(k)
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
):
|
|
517
|
-
m[k] = val
|
|
509
|
+
is_nullable_and_explicitly_set = (
|
|
510
|
+
k in nullable_fields
|
|
511
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
512
|
+
)
|
|
513
|
+
|
|
514
|
+
if val != UNSET_SENTINEL:
|
|
515
|
+
if (
|
|
516
|
+
val is not None
|
|
517
|
+
or k not in optional_fields
|
|
518
|
+
or is_nullable_and_explicitly_set
|
|
519
|
+
):
|
|
520
|
+
m[k] = val
|
|
518
521
|
|
|
519
522
|
return m
|
|
520
523
|
|
|
@@ -550,31 +553,26 @@ class DeploymentInvokeChoices(BaseModel):
|
|
|
550
553
|
|
|
551
554
|
@model_serializer(mode="wrap")
|
|
552
555
|
def serialize_model(self, handler):
|
|
553
|
-
optional_fields = ["finish_reason"]
|
|
554
|
-
nullable_fields = ["finish_reason"]
|
|
555
|
-
null_default_fields = []
|
|
556
|
-
|
|
556
|
+
optional_fields = set(["finish_reason"])
|
|
557
|
+
nullable_fields = set(["finish_reason"])
|
|
557
558
|
serialized = handler(self)
|
|
558
|
-
|
|
559
559
|
m = {}
|
|
560
560
|
|
|
561
561
|
for n, f in type(self).model_fields.items():
|
|
562
562
|
k = f.alias or n
|
|
563
563
|
val = serialized.get(k)
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
):
|
|
577
|
-
m[k] = val
|
|
564
|
+
is_nullable_and_explicitly_set = (
|
|
565
|
+
k in nullable_fields
|
|
566
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
567
|
+
)
|
|
568
|
+
|
|
569
|
+
if val != UNSET_SENTINEL:
|
|
570
|
+
if (
|
|
571
|
+
val is not None
|
|
572
|
+
or k not in optional_fields
|
|
573
|
+
or is_nullable_and_explicitly_set
|
|
574
|
+
):
|
|
575
|
+
m[k] = val
|
|
578
576
|
|
|
579
577
|
return m
|
|
580
578
|
|
|
@@ -590,7 +588,7 @@ class DeploymentInvokeResponseBodyTypedDict(TypedDict):
|
|
|
590
588
|
r"""Indicates the type of model used to generate the response"""
|
|
591
589
|
model: str
|
|
592
590
|
r"""The model used to generate the response"""
|
|
593
|
-
provider:
|
|
591
|
+
provider: Provider
|
|
594
592
|
r"""The provider used to generate the response"""
|
|
595
593
|
is_final: bool
|
|
596
594
|
r"""Indicates if the response is the final response"""
|
|
@@ -625,7 +623,7 @@ class DeploymentInvokeResponseBody(BaseModel):
|
|
|
625
623
|
model: str
|
|
626
624
|
r"""The model used to generate the response"""
|
|
627
625
|
|
|
628
|
-
provider:
|
|
626
|
+
provider: Provider
|
|
629
627
|
r"""The provider used to generate the response"""
|
|
630
628
|
|
|
631
629
|
is_final: bool
|
|
@@ -654,37 +652,34 @@ class DeploymentInvokeResponseBody(BaseModel):
|
|
|
654
652
|
|
|
655
653
|
@model_serializer(mode="wrap")
|
|
656
654
|
def serialize_model(self, handler):
|
|
657
|
-
optional_fields =
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
655
|
+
optional_fields = set(
|
|
656
|
+
[
|
|
657
|
+
"integration_id",
|
|
658
|
+
"finalized",
|
|
659
|
+
"system_fingerprint",
|
|
660
|
+
"retrievals",
|
|
661
|
+
"provider_response",
|
|
662
|
+
"usage",
|
|
663
|
+
]
|
|
664
|
+
)
|
|
665
|
+
nullable_fields = set(["system_fingerprint", "usage"])
|
|
668
666
|
serialized = handler(self)
|
|
669
|
-
|
|
670
667
|
m = {}
|
|
671
668
|
|
|
672
669
|
for n, f in type(self).model_fields.items():
|
|
673
670
|
k = f.alias or n
|
|
674
671
|
val = serialized.get(k)
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
):
|
|
688
|
-
m[k] = val
|
|
672
|
+
is_nullable_and_explicitly_set = (
|
|
673
|
+
k in nullable_fields
|
|
674
|
+
and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
|
|
675
|
+
)
|
|
676
|
+
|
|
677
|
+
if val != UNSET_SENTINEL:
|
|
678
|
+
if (
|
|
679
|
+
val is not None
|
|
680
|
+
or k not in optional_fields
|
|
681
|
+
or is_nullable_and_explicitly_set
|
|
682
|
+
):
|
|
683
|
+
m[k] = val
|
|
689
684
|
|
|
690
685
|
return m
|