orq-ai-sdk 4.2.0rc28__py3-none-any.whl → 4.2.6__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 (167) hide show
  1. orq_ai_sdk/_hooks/globalhook.py +0 -1
  2. orq_ai_sdk/_version.py +3 -3
  3. orq_ai_sdk/audio.py +30 -0
  4. orq_ai_sdk/basesdk.py +20 -6
  5. orq_ai_sdk/chat.py +22 -0
  6. orq_ai_sdk/completions.py +332 -0
  7. orq_ai_sdk/contacts.py +43 -855
  8. orq_ai_sdk/deployments.py +61 -0
  9. orq_ai_sdk/edits.py +258 -0
  10. orq_ai_sdk/embeddings.py +238 -0
  11. orq_ai_sdk/generations.py +272 -0
  12. orq_ai_sdk/identities.py +1037 -0
  13. orq_ai_sdk/images.py +28 -0
  14. orq_ai_sdk/models/__init__.py +5341 -737
  15. orq_ai_sdk/models/actionreviewedstreamingevent.py +18 -1
  16. orq_ai_sdk/models/actionreviewrequestedstreamingevent.py +44 -1
  17. orq_ai_sdk/models/agenterroredstreamingevent.py +18 -1
  18. orq_ai_sdk/models/agentinactivestreamingevent.py +168 -70
  19. orq_ai_sdk/models/agentmessagecreatedstreamingevent.py +18 -2
  20. orq_ai_sdk/models/agentresponsemessage.py +18 -2
  21. orq_ai_sdk/models/agentstartedstreamingevent.py +127 -2
  22. orq_ai_sdk/models/agentthoughtstreamingevent.py +178 -211
  23. orq_ai_sdk/models/conversationresponse.py +31 -20
  24. orq_ai_sdk/models/conversationwithmessagesresponse.py +31 -20
  25. orq_ai_sdk/models/createagentrequestop.py +1922 -384
  26. orq_ai_sdk/models/createagentresponse.py +147 -91
  27. orq_ai_sdk/models/createagentresponserequestop.py +111 -2
  28. orq_ai_sdk/models/createchatcompletionop.py +1375 -861
  29. orq_ai_sdk/models/createchunkop.py +46 -19
  30. orq_ai_sdk/models/createcompletionop.py +1890 -0
  31. orq_ai_sdk/models/createcontactop.py +45 -56
  32. orq_ai_sdk/models/createconversationop.py +61 -39
  33. orq_ai_sdk/models/createconversationresponseop.py +68 -4
  34. orq_ai_sdk/models/createdatasetitemop.py +424 -80
  35. orq_ai_sdk/models/createdatasetop.py +19 -2
  36. orq_ai_sdk/models/createdatasourceop.py +92 -26
  37. orq_ai_sdk/models/createembeddingop.py +384 -0
  38. orq_ai_sdk/models/createevalop.py +552 -24
  39. orq_ai_sdk/models/createidentityop.py +176 -0
  40. orq_ai_sdk/models/createimageeditop.py +504 -0
  41. orq_ai_sdk/models/createimageop.py +208 -117
  42. orq_ai_sdk/models/createimagevariationop.py +486 -0
  43. orq_ai_sdk/models/createknowledgeop.py +186 -121
  44. orq_ai_sdk/models/creatememorydocumentop.py +50 -1
  45. orq_ai_sdk/models/creatememoryop.py +34 -21
  46. orq_ai_sdk/models/creatememorystoreop.py +34 -1
  47. orq_ai_sdk/models/createmoderationop.py +521 -0
  48. orq_ai_sdk/models/createpromptop.py +2748 -1252
  49. orq_ai_sdk/models/creatererankop.py +416 -0
  50. orq_ai_sdk/models/createresponseop.py +2567 -0
  51. orq_ai_sdk/models/createspeechop.py +316 -0
  52. orq_ai_sdk/models/createtoolop.py +537 -12
  53. orq_ai_sdk/models/createtranscriptionop.py +562 -0
  54. orq_ai_sdk/models/createtranslationop.py +540 -0
  55. orq_ai_sdk/models/datapart.py +18 -1
  56. orq_ai_sdk/models/deletechunksop.py +34 -1
  57. orq_ai_sdk/models/{deletecontactop.py → deleteidentityop.py} +9 -9
  58. orq_ai_sdk/models/deletepromptop.py +26 -0
  59. orq_ai_sdk/models/deploymentcreatemetricop.py +362 -76
  60. orq_ai_sdk/models/deploymentgetconfigop.py +635 -194
  61. orq_ai_sdk/models/deploymentinvokeop.py +168 -173
  62. orq_ai_sdk/models/deploymentsop.py +195 -58
  63. orq_ai_sdk/models/deploymentstreamop.py +652 -304
  64. orq_ai_sdk/models/errorpart.py +18 -1
  65. orq_ai_sdk/models/filecontentpartschema.py +18 -1
  66. orq_ai_sdk/models/filegetop.py +19 -2
  67. orq_ai_sdk/models/filelistop.py +35 -2
  68. orq_ai_sdk/models/filepart.py +50 -1
  69. orq_ai_sdk/models/fileuploadop.py +51 -2
  70. orq_ai_sdk/models/generateconversationnameop.py +31 -20
  71. orq_ai_sdk/models/get_v2_evaluators_id_versionsop.py +34 -1
  72. orq_ai_sdk/models/get_v2_tools_tool_id_versions_version_id_op.py +18 -1
  73. orq_ai_sdk/models/get_v2_tools_tool_id_versionsop.py +34 -1
  74. orq_ai_sdk/models/getallmemoriesop.py +34 -21
  75. orq_ai_sdk/models/getallmemorydocumentsop.py +42 -1
  76. orq_ai_sdk/models/getallmemorystoresop.py +34 -1
  77. orq_ai_sdk/models/getallpromptsop.py +1690 -230
  78. orq_ai_sdk/models/getalltoolsop.py +325 -8
  79. orq_ai_sdk/models/getchunkscountop.py +34 -1
  80. orq_ai_sdk/models/getevalsop.py +395 -43
  81. orq_ai_sdk/models/getonechunkop.py +14 -19
  82. orq_ai_sdk/models/getoneknowledgeop.py +116 -96
  83. orq_ai_sdk/models/getonepromptop.py +1673 -230
  84. orq_ai_sdk/models/getpromptversionop.py +1670 -216
  85. orq_ai_sdk/models/imagecontentpartschema.py +50 -1
  86. orq_ai_sdk/models/internal/globals.py +18 -1
  87. orq_ai_sdk/models/invokeagentop.py +140 -2
  88. orq_ai_sdk/models/invokedeploymentrequest.py +418 -80
  89. orq_ai_sdk/models/invokeevalop.py +160 -131
  90. orq_ai_sdk/models/listagentsop.py +793 -166
  91. orq_ai_sdk/models/listchunksop.py +32 -19
  92. orq_ai_sdk/models/listchunkspaginatedop.py +46 -19
  93. orq_ai_sdk/models/listconversationsop.py +18 -1
  94. orq_ai_sdk/models/listdatasetdatapointsop.py +252 -42
  95. orq_ai_sdk/models/listdatasetsop.py +35 -2
  96. orq_ai_sdk/models/listdatasourcesop.py +35 -26
  97. orq_ai_sdk/models/{listcontactsop.py → listidentitiesop.py} +89 -79
  98. orq_ai_sdk/models/listknowledgebasesop.py +132 -96
  99. orq_ai_sdk/models/listmodelsop.py +1 -0
  100. orq_ai_sdk/models/listpromptversionsop.py +1684 -216
  101. orq_ai_sdk/models/parseop.py +161 -17
  102. orq_ai_sdk/models/partdoneevent.py +19 -2
  103. orq_ai_sdk/models/post_v2_router_ocrop.py +408 -0
  104. orq_ai_sdk/models/publiccontact.py +27 -4
  105. orq_ai_sdk/models/publicidentity.py +62 -0
  106. orq_ai_sdk/models/reasoningpart.py +19 -2
  107. orq_ai_sdk/models/refusalpartschema.py +18 -1
  108. orq_ai_sdk/models/remoteconfigsgetconfigop.py +34 -1
  109. orq_ai_sdk/models/responsedoneevent.py +114 -84
  110. orq_ai_sdk/models/responsestartedevent.py +18 -1
  111. orq_ai_sdk/models/retrieveagentrequestop.py +787 -166
  112. orq_ai_sdk/models/retrievedatapointop.py +236 -42
  113. orq_ai_sdk/models/retrievedatasetop.py +19 -2
  114. orq_ai_sdk/models/retrievedatasourceop.py +17 -26
  115. orq_ai_sdk/models/{retrievecontactop.py → retrieveidentityop.py} +38 -41
  116. orq_ai_sdk/models/retrievememorydocumentop.py +18 -1
  117. orq_ai_sdk/models/retrievememoryop.py +18 -21
  118. orq_ai_sdk/models/retrievememorystoreop.py +18 -1
  119. orq_ai_sdk/models/retrievetoolop.py +309 -8
  120. orq_ai_sdk/models/runagentop.py +1451 -197
  121. orq_ai_sdk/models/searchknowledgeop.py +108 -1
  122. orq_ai_sdk/models/security.py +18 -1
  123. orq_ai_sdk/models/streamagentop.py +93 -2
  124. orq_ai_sdk/models/streamrunagentop.py +1428 -195
  125. orq_ai_sdk/models/textcontentpartschema.py +34 -1
  126. orq_ai_sdk/models/thinkingconfigenabledschema.py +18 -1
  127. orq_ai_sdk/models/toolcallpart.py +18 -1
  128. orq_ai_sdk/models/tooldoneevent.py +18 -1
  129. orq_ai_sdk/models/toolexecutionfailedstreamingevent.py +50 -1
  130. orq_ai_sdk/models/toolexecutionfinishedstreamingevent.py +34 -1
  131. orq_ai_sdk/models/toolexecutionstartedstreamingevent.py +34 -1
  132. orq_ai_sdk/models/toolresultpart.py +18 -1
  133. orq_ai_sdk/models/toolreviewrequestedevent.py +18 -1
  134. orq_ai_sdk/models/toolstartedevent.py +18 -1
  135. orq_ai_sdk/models/updateagentop.py +1951 -404
  136. orq_ai_sdk/models/updatechunkop.py +46 -19
  137. orq_ai_sdk/models/updateconversationop.py +61 -39
  138. orq_ai_sdk/models/updatedatapointop.py +424 -80
  139. orq_ai_sdk/models/updatedatasetop.py +51 -2
  140. orq_ai_sdk/models/updatedatasourceop.py +17 -26
  141. orq_ai_sdk/models/updateevalop.py +577 -16
  142. orq_ai_sdk/models/{updatecontactop.py → updateidentityop.py} +78 -68
  143. orq_ai_sdk/models/updateknowledgeop.py +234 -190
  144. orq_ai_sdk/models/updatememorydocumentop.py +50 -1
  145. orq_ai_sdk/models/updatememoryop.py +50 -21
  146. orq_ai_sdk/models/updatememorystoreop.py +66 -1
  147. orq_ai_sdk/models/updatepromptop.py +2844 -1450
  148. orq_ai_sdk/models/updatetoolop.py +592 -9
  149. orq_ai_sdk/models/usermessagerequest.py +18 -2
  150. orq_ai_sdk/moderations.py +218 -0
  151. orq_ai_sdk/orq_completions.py +660 -0
  152. orq_ai_sdk/orq_responses.py +398 -0
  153. orq_ai_sdk/prompts.py +28 -36
  154. orq_ai_sdk/rerank.py +232 -0
  155. orq_ai_sdk/router.py +89 -641
  156. orq_ai_sdk/sdk.py +3 -0
  157. orq_ai_sdk/speech.py +251 -0
  158. orq_ai_sdk/transcriptions.py +326 -0
  159. orq_ai_sdk/translations.py +298 -0
  160. orq_ai_sdk/utils/__init__.py +13 -1
  161. orq_ai_sdk/variations.py +254 -0
  162. orq_ai_sdk-4.2.6.dist-info/METADATA +888 -0
  163. orq_ai_sdk-4.2.6.dist-info/RECORD +263 -0
  164. {orq_ai_sdk-4.2.0rc28.dist-info → orq_ai_sdk-4.2.6.dist-info}/WHEEL +2 -1
  165. orq_ai_sdk-4.2.6.dist-info/top_level.txt +1 -0
  166. orq_ai_sdk-4.2.0rc28.dist-info/METADATA +0 -867
  167. orq_ai_sdk-4.2.0rc28.dist-info/RECORD +0 -233
@@ -43,6 +43,22 @@ class ListKnowledgeBasesRequest(BaseModel):
43
43
  ] = None
44
44
  r"""A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with `01JJ1HDHN79XAS7A01WB3HYSDB`, your subsequent call can include `before=01JJ1HDHN79XAS7A01WB3HYSDB` in order to fetch the previous page of the list."""
45
45
 
46
+ @model_serializer(mode="wrap")
47
+ def serialize_model(self, handler):
48
+ optional_fields = set(["limit", "starting_after", "ending_before"])
49
+ serialized = handler(self)
50
+ m = {}
51
+
52
+ for n, f in type(self).model_fields.items():
53
+ k = f.alias or n
54
+ val = serialized.get(k)
55
+
56
+ if val != UNSET_SENTINEL:
57
+ if val is not None or k not in optional_fields:
58
+ m[k] = val
59
+
60
+ return m
61
+
46
62
 
47
63
  ListKnowledgeBasesObject = Literal["list",]
48
64
 
@@ -73,6 +89,22 @@ class DataRerankConfig(BaseModel):
73
89
  rerank_threshold: Optional[float] = 0.5
74
90
  r"""The threshold value used to filter the rerank results, only documents with a relevance score greater than the threshold will be returned"""
75
91
 
92
+ @model_serializer(mode="wrap")
93
+ def serialize_model(self, handler):
94
+ optional_fields = set(["top_k", "rerank_threshold"])
95
+ serialized = handler(self)
96
+ m = {}
97
+
98
+ for n, f in type(self).model_fields.items():
99
+ k = f.alias or n
100
+ val = serialized.get(k)
101
+
102
+ if val != UNSET_SENTINEL:
103
+ if val is not None or k not in optional_fields:
104
+ m[k] = val
105
+
106
+ return m
107
+
76
108
 
77
109
  class DataAgenticRagConfigTypedDict(TypedDict):
78
110
  r"""The Agentic RAG configuration for the knowledge base. If `null` is provided, Agentic RAG will be disabled."""
@@ -118,31 +150,28 @@ class DataRetrievalSettings(BaseModel):
118
150
 
119
151
  @model_serializer(mode="wrap")
120
152
  def serialize_model(self, handler):
121
- optional_fields = ["top_k", "threshold", "rerank_config", "agentic_rag_config"]
122
- nullable_fields = ["rerank_config", "agentic_rag_config"]
123
- null_default_fields = []
124
-
153
+ optional_fields = set(
154
+ ["top_k", "threshold", "rerank_config", "agentic_rag_config"]
155
+ )
156
+ nullable_fields = set(["rerank_config", "agentic_rag_config"])
125
157
  serialized = handler(self)
126
-
127
158
  m = {}
128
159
 
129
160
  for n, f in type(self).model_fields.items():
130
161
  k = f.alias or n
131
162
  val = serialized.get(k)
132
- serialized.pop(k, None)
133
-
134
- optional_nullable = k in optional_fields and k in nullable_fields
135
- is_set = (
136
- self.__pydantic_fields_set__.intersection({n})
137
- or k in null_default_fields
138
- ) # pylint: disable=no-member
139
-
140
- if val is not None and val != UNSET_SENTINEL:
141
- m[k] = val
142
- elif val != UNSET_SENTINEL and (
143
- not k in optional_fields or (optional_nullable and is_set)
144
- ):
145
- m[k] = val
163
+ is_nullable_and_explicitly_set = (
164
+ k in nullable_fields
165
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
166
+ )
167
+
168
+ if val != UNSET_SENTINEL:
169
+ if (
170
+ val is not None
171
+ or k not in optional_fields
172
+ or is_nullable_and_explicitly_set
173
+ ):
174
+ m[k] = val
146
175
 
147
176
  return m
148
177
 
@@ -230,38 +259,35 @@ class Data2(BaseModel):
230
259
 
231
260
  @model_serializer(mode="wrap")
232
261
  def serialize_model(self, handler):
233
- optional_fields = [
234
- "description",
235
- "path",
236
- "created_by_id",
237
- "updated_by_id",
238
- "type",
239
- "retrieval_settings",
240
- ]
241
- nullable_fields = ["created_by_id", "updated_by_id"]
242
- null_default_fields = []
243
-
262
+ optional_fields = set(
263
+ [
264
+ "description",
265
+ "path",
266
+ "created_by_id",
267
+ "updated_by_id",
268
+ "type",
269
+ "retrieval_settings",
270
+ ]
271
+ )
272
+ nullable_fields = set(["created_by_id", "updated_by_id"])
244
273
  serialized = handler(self)
245
-
246
274
  m = {}
247
275
 
248
276
  for n, f in type(self).model_fields.items():
249
277
  k = f.alias or n
250
278
  val = serialized.get(k)
251
- serialized.pop(k, None)
252
-
253
- optional_nullable = k in optional_fields and k in nullable_fields
254
- is_set = (
255
- self.__pydantic_fields_set__.intersection({n})
256
- or k in null_default_fields
257
- ) # pylint: disable=no-member
258
-
259
- if val is not None and val != UNSET_SENTINEL:
260
- m[k] = val
261
- elif val != UNSET_SENTINEL and (
262
- not k in optional_fields or (optional_nullable and is_set)
263
- ):
264
- m[k] = val
279
+ is_nullable_and_explicitly_set = (
280
+ k in nullable_fields
281
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
282
+ )
283
+
284
+ if val != UNSET_SENTINEL:
285
+ if (
286
+ val is not None
287
+ or k not in optional_fields
288
+ or is_nullable_and_explicitly_set
289
+ ):
290
+ m[k] = val
265
291
 
266
292
  return m
267
293
 
@@ -300,6 +326,22 @@ class ListKnowledgeBasesDataRerankConfig(BaseModel):
300
326
  rerank_threshold: Optional[float] = 0.5
301
327
  r"""The threshold value used to filter the rerank results, only documents with a relevance score greater than the threshold will be returned"""
302
328
 
329
+ @model_serializer(mode="wrap")
330
+ def serialize_model(self, handler):
331
+ optional_fields = set(["top_k", "rerank_threshold"])
332
+ serialized = handler(self)
333
+ m = {}
334
+
335
+ for n, f in type(self).model_fields.items():
336
+ k = f.alias or n
337
+ val = serialized.get(k)
338
+
339
+ if val != UNSET_SENTINEL:
340
+ if val is not None or k not in optional_fields:
341
+ m[k] = val
342
+
343
+ return m
344
+
303
345
 
304
346
  class ListKnowledgeBasesDataAgenticRagConfigTypedDict(TypedDict):
305
347
  r"""The Agentic RAG configuration for the knowledge base. If `null` is provided, Agentic RAG will be disabled."""
@@ -352,37 +394,34 @@ class ListKnowledgeBasesDataRetrievalSettings(BaseModel):
352
394
 
353
395
  @model_serializer(mode="wrap")
354
396
  def serialize_model(self, handler):
355
- optional_fields = [
356
- "retrieval_type",
357
- "top_k",
358
- "threshold",
359
- "rerank_config",
360
- "agentic_rag_config",
361
- ]
362
- nullable_fields = ["rerank_config", "agentic_rag_config"]
363
- null_default_fields = []
364
-
397
+ optional_fields = set(
398
+ [
399
+ "retrieval_type",
400
+ "top_k",
401
+ "threshold",
402
+ "rerank_config",
403
+ "agentic_rag_config",
404
+ ]
405
+ )
406
+ nullable_fields = set(["rerank_config", "agentic_rag_config"])
365
407
  serialized = handler(self)
366
-
367
408
  m = {}
368
409
 
369
410
  for n, f in type(self).model_fields.items():
370
411
  k = f.alias or n
371
412
  val = serialized.get(k)
372
- serialized.pop(k, None)
373
-
374
- optional_nullable = k in optional_fields and k in nullable_fields
375
- is_set = (
376
- self.__pydantic_fields_set__.intersection({n})
377
- or k in null_default_fields
378
- ) # pylint: disable=no-member
379
-
380
- if val is not None and val != UNSET_SENTINEL:
381
- m[k] = val
382
- elif val != UNSET_SENTINEL and (
383
- not k in optional_fields or (optional_nullable and is_set)
384
- ):
385
- m[k] = val
413
+ is_nullable_and_explicitly_set = (
414
+ k in nullable_fields
415
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
416
+ )
417
+
418
+ if val != UNSET_SENTINEL:
419
+ if (
420
+ val is not None
421
+ or k not in optional_fields
422
+ or is_nullable_and_explicitly_set
423
+ ):
424
+ m[k] = val
386
425
 
387
426
  return m
388
427
 
@@ -457,38 +496,35 @@ class Data1(BaseModel):
457
496
 
458
497
  @model_serializer(mode="wrap")
459
498
  def serialize_model(self, handler):
460
- optional_fields = [
461
- "description",
462
- "path",
463
- "created_by_id",
464
- "updated_by_id",
465
- "type",
466
- "retrieval_settings",
467
- ]
468
- nullable_fields = ["created_by_id", "updated_by_id"]
469
- null_default_fields = []
470
-
499
+ optional_fields = set(
500
+ [
501
+ "description",
502
+ "path",
503
+ "created_by_id",
504
+ "updated_by_id",
505
+ "type",
506
+ "retrieval_settings",
507
+ ]
508
+ )
509
+ nullable_fields = set(["created_by_id", "updated_by_id"])
471
510
  serialized = handler(self)
472
-
473
511
  m = {}
474
512
 
475
513
  for n, f in type(self).model_fields.items():
476
514
  k = f.alias or n
477
515
  val = serialized.get(k)
478
- serialized.pop(k, None)
479
-
480
- optional_nullable = k in optional_fields and k in nullable_fields
481
- is_set = (
482
- self.__pydantic_fields_set__.intersection({n})
483
- or k in null_default_fields
484
- ) # pylint: disable=no-member
485
-
486
- if val is not None and val != UNSET_SENTINEL:
487
- m[k] = val
488
- elif val != UNSET_SENTINEL and (
489
- not k in optional_fields or (optional_nullable and is_set)
490
- ):
491
- m[k] = val
516
+ is_nullable_and_explicitly_set = (
517
+ k in nullable_fields
518
+ and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member
519
+ )
520
+
521
+ if val != UNSET_SENTINEL:
522
+ if (
523
+ val is not None
524
+ or k not in optional_fields
525
+ or is_nullable_and_explicitly_set
526
+ ):
527
+ m[k] = val
492
528
 
493
529
  return m
494
530
 
@@ -17,6 +17,7 @@ ListModelsType = Literal[
17
17
  "tts",
18
18
  "stt",
19
19
  "rerank",
20
+ "ocr",
20
21
  "moderation",
21
22
  "vision",
22
23
  ]