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.
Files changed (166) hide show
  1. orq_ai_sdk/_version.py +3 -3
  2. orq_ai_sdk/agents.py +186 -186
  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 +438 -0
  7. orq_ai_sdk/contacts.py +43 -855
  8. orq_ai_sdk/deployments.py +61 -0
  9. orq_ai_sdk/edits.py +364 -0
  10. orq_ai_sdk/embeddings.py +344 -0
  11. orq_ai_sdk/generations.py +370 -0
  12. orq_ai_sdk/identities.py +1037 -0
  13. orq_ai_sdk/images.py +28 -0
  14. orq_ai_sdk/models/__init__.py +5746 -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 +1945 -383
  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 +1381 -861
  29. orq_ai_sdk/models/createchunkop.py +46 -19
  30. orq_ai_sdk/models/createcompletionop.py +2078 -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 +579 -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 +715 -0
  41. orq_ai_sdk/models/createimageop.py +407 -128
  42. orq_ai_sdk/models/createimagevariationop.py +706 -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 +2759 -1251
  49. orq_ai_sdk/models/creatererankop.py +608 -0
  50. orq_ai_sdk/models/createresponseop.py +2567 -0
  51. orq_ai_sdk/models/createspeechop.py +466 -0
  52. orq_ai_sdk/models/createtoolop.py +537 -12
  53. orq_ai_sdk/models/createtranscriptionop.py +732 -0
  54. orq_ai_sdk/models/createtranslationop.py +702 -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 +1696 -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 +1679 -230
  84. orq_ai_sdk/models/getpromptversionop.py +1676 -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 +805 -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 +1690 -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 +799 -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 +1462 -196
  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 +1439 -194
  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 +1968 -397
  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 +2854 -1448
  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 +666 -0
  152. orq_ai_sdk/orq_responses.py +398 -0
  153. orq_ai_sdk/prompts.py +28 -36
  154. orq_ai_sdk/rerank.py +330 -0
  155. orq_ai_sdk/router.py +89 -641
  156. orq_ai_sdk/sdk.py +3 -0
  157. orq_ai_sdk/speech.py +333 -0
  158. orq_ai_sdk/transcriptions.py +416 -0
  159. orq_ai_sdk/translations.py +384 -0
  160. orq_ai_sdk/utils/__init__.py +13 -1
  161. orq_ai_sdk/variations.py +364 -0
  162. {orq_ai_sdk-4.2.0rc28.dist-info → orq_ai_sdk-4.3.0rc7.dist-info}/METADATA +169 -148
  163. orq_ai_sdk-4.3.0rc7.dist-info/RECORD +263 -0
  164. {orq_ai_sdk-4.2.0rc28.dist-info → orq_ai_sdk-4.3.0rc7.dist-info}/WHEEL +2 -1
  165. orq_ai_sdk-4.3.0rc7.dist-info/top_level.txt +1 -0
  166. orq_ai_sdk-4.2.0rc28.dist-info/RECORD +0 -233
@@ -5,10 +5,10 @@ from .errorpart import ErrorPart, ErrorPartTypedDict
5
5
  from .filepart import FilePart, FilePartTypedDict
6
6
  from .textpart import TextPart, TextPartTypedDict
7
7
  from .toolresultpart import ToolResultPart, ToolResultPartTypedDict
8
- from orq_ai_sdk.types import BaseModel
8
+ from orq_ai_sdk.types import BaseModel, UNSET_SENTINEL
9
9
  from orq_ai_sdk.utils import get_discriminator
10
10
  import pydantic
11
- from pydantic import Discriminator, Tag
11
+ from pydantic import Discriminator, Tag, model_serializer
12
12
  from typing import List, Literal, Optional, Union
13
13
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
14
14
 
@@ -63,3 +63,19 @@ class UserMessageRequest(BaseModel):
63
63
 
64
64
  message_id: Annotated[Optional[str], pydantic.Field(alias="messageId")] = None
65
65
  r"""Optional message ID in ULID format"""
66
+
67
+ @model_serializer(mode="wrap")
68
+ def serialize_model(self, handler):
69
+ optional_fields = set(["messageId"])
70
+ serialized = handler(self)
71
+ m = {}
72
+
73
+ for n, f in type(self).model_fields.items():
74
+ k = f.alias or n
75
+ val = serialized.get(k)
76
+
77
+ if val != UNSET_SENTINEL:
78
+ if val is not None or k not in optional_fields:
79
+ m[k] = val
80
+
81
+ return m
@@ -0,0 +1,218 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from orq_ai_sdk import models, utils
5
+ from orq_ai_sdk._hooks import HookContext
6
+ from orq_ai_sdk.models import createmoderationop as models_createmoderationop
7
+ from orq_ai_sdk.types import OptionalNullable, UNSET
8
+ from orq_ai_sdk.utils import get_security_from_env
9
+ from orq_ai_sdk.utils.unmarshal_json_response import unmarshal_json_response
10
+ from typing import Any, Mapping, Optional, Union
11
+
12
+
13
+ class Moderations(BaseSDK):
14
+ def create(
15
+ self,
16
+ *,
17
+ input_: Union[
18
+ models_createmoderationop.Input, models_createmoderationop.InputTypedDict
19
+ ],
20
+ model: str,
21
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
22
+ server_url: Optional[str] = None,
23
+ timeout_ms: Optional[int] = None,
24
+ http_headers: Optional[Mapping[str, str]] = None,
25
+ ) -> models.CreateModerationResponseBody:
26
+ r"""Create moderation
27
+
28
+ :param input: Input (or inputs) to classify. Can be a single string, an array of strings, or an array of multi-modal input objects similar to other models.
29
+ :param model: The content moderation model you would like to use. Defaults to omni-moderation-latest
30
+ :param retries: Override the default retry configuration for this method
31
+ :param server_url: Override the default server URL for this method
32
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
33
+ :param http_headers: Additional headers to set or replace on requests.
34
+ """
35
+ base_url = None
36
+ url_variables = None
37
+ if timeout_ms is None:
38
+ timeout_ms = self.sdk_configuration.timeout_ms
39
+
40
+ if timeout_ms is None:
41
+ timeout_ms = 600000
42
+
43
+ if server_url is not None:
44
+ base_url = server_url
45
+ else:
46
+ base_url = self._get_url(base_url, url_variables)
47
+
48
+ request = models.CreateModerationRequestBody(
49
+ input=input_,
50
+ model=model,
51
+ )
52
+
53
+ req = self._build_request(
54
+ method="POST",
55
+ path="/v2/router/moderations",
56
+ base_url=base_url,
57
+ url_variables=url_variables,
58
+ request=request,
59
+ request_body_required=True,
60
+ request_has_path_params=False,
61
+ request_has_query_params=True,
62
+ user_agent_header="user-agent",
63
+ accept_header_value="application/json",
64
+ http_headers=http_headers,
65
+ security=self.sdk_configuration.security,
66
+ get_serialized_body=lambda: utils.serialize_request_body(
67
+ request, False, False, "json", models.CreateModerationRequestBody
68
+ ),
69
+ allow_empty_value=None,
70
+ timeout_ms=timeout_ms,
71
+ )
72
+
73
+ if retries == UNSET:
74
+ if self.sdk_configuration.retry_config is not UNSET:
75
+ retries = self.sdk_configuration.retry_config
76
+
77
+ retry_config = None
78
+ if isinstance(retries, utils.RetryConfig):
79
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
80
+
81
+ http_res = self.do_request(
82
+ hook_ctx=HookContext(
83
+ config=self.sdk_configuration,
84
+ base_url=base_url or "",
85
+ operation_id="createModeration",
86
+ oauth2_scopes=None,
87
+ security_source=get_security_from_env(
88
+ self.sdk_configuration.security, models.Security
89
+ ),
90
+ ),
91
+ request=req,
92
+ error_status_codes=["422", "4XX", "5XX"],
93
+ retry_config=retry_config,
94
+ )
95
+
96
+ response_data: Any = None
97
+ if utils.match_response(http_res, "200", "application/json"):
98
+ return unmarshal_json_response(
99
+ models.CreateModerationResponseBody, http_res
100
+ )
101
+ if utils.match_response(http_res, "422", "application/json"):
102
+ response_data = unmarshal_json_response(
103
+ models.CreateModerationRouterModerationsResponseBodyData, http_res
104
+ )
105
+ raise models.CreateModerationRouterModerationsResponseBody(
106
+ response_data, http_res
107
+ )
108
+ if utils.match_response(http_res, "4XX", "*"):
109
+ http_res_text = utils.stream_to_text(http_res)
110
+ raise models.APIError("API error occurred", http_res, http_res_text)
111
+ if utils.match_response(http_res, "5XX", "*"):
112
+ http_res_text = utils.stream_to_text(http_res)
113
+ raise models.APIError("API error occurred", http_res, http_res_text)
114
+
115
+ raise models.APIError("Unexpected response received", http_res)
116
+
117
+ async def create_async(
118
+ self,
119
+ *,
120
+ input_: Union[
121
+ models_createmoderationop.Input, models_createmoderationop.InputTypedDict
122
+ ],
123
+ model: str,
124
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
125
+ server_url: Optional[str] = None,
126
+ timeout_ms: Optional[int] = None,
127
+ http_headers: Optional[Mapping[str, str]] = None,
128
+ ) -> models.CreateModerationResponseBody:
129
+ r"""Create moderation
130
+
131
+ :param input: Input (or inputs) to classify. Can be a single string, an array of strings, or an array of multi-modal input objects similar to other models.
132
+ :param model: The content moderation model you would like to use. Defaults to omni-moderation-latest
133
+ :param retries: Override the default retry configuration for this method
134
+ :param server_url: Override the default server URL for this method
135
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
136
+ :param http_headers: Additional headers to set or replace on requests.
137
+ """
138
+ base_url = None
139
+ url_variables = None
140
+ if timeout_ms is None:
141
+ timeout_ms = self.sdk_configuration.timeout_ms
142
+
143
+ if timeout_ms is None:
144
+ timeout_ms = 600000
145
+
146
+ if server_url is not None:
147
+ base_url = server_url
148
+ else:
149
+ base_url = self._get_url(base_url, url_variables)
150
+
151
+ request = models.CreateModerationRequestBody(
152
+ input=input_,
153
+ model=model,
154
+ )
155
+
156
+ req = self._build_request_async(
157
+ method="POST",
158
+ path="/v2/router/moderations",
159
+ base_url=base_url,
160
+ url_variables=url_variables,
161
+ request=request,
162
+ request_body_required=True,
163
+ request_has_path_params=False,
164
+ request_has_query_params=True,
165
+ user_agent_header="user-agent",
166
+ accept_header_value="application/json",
167
+ http_headers=http_headers,
168
+ security=self.sdk_configuration.security,
169
+ get_serialized_body=lambda: utils.serialize_request_body(
170
+ request, False, False, "json", models.CreateModerationRequestBody
171
+ ),
172
+ allow_empty_value=None,
173
+ timeout_ms=timeout_ms,
174
+ )
175
+
176
+ if retries == UNSET:
177
+ if self.sdk_configuration.retry_config is not UNSET:
178
+ retries = self.sdk_configuration.retry_config
179
+
180
+ retry_config = None
181
+ if isinstance(retries, utils.RetryConfig):
182
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
183
+
184
+ http_res = await self.do_request_async(
185
+ hook_ctx=HookContext(
186
+ config=self.sdk_configuration,
187
+ base_url=base_url or "",
188
+ operation_id="createModeration",
189
+ oauth2_scopes=None,
190
+ security_source=get_security_from_env(
191
+ self.sdk_configuration.security, models.Security
192
+ ),
193
+ ),
194
+ request=req,
195
+ error_status_codes=["422", "4XX", "5XX"],
196
+ retry_config=retry_config,
197
+ )
198
+
199
+ response_data: Any = None
200
+ if utils.match_response(http_res, "200", "application/json"):
201
+ return unmarshal_json_response(
202
+ models.CreateModerationResponseBody, http_res
203
+ )
204
+ if utils.match_response(http_res, "422", "application/json"):
205
+ response_data = unmarshal_json_response(
206
+ models.CreateModerationRouterModerationsResponseBodyData, http_res
207
+ )
208
+ raise models.CreateModerationRouterModerationsResponseBody(
209
+ response_data, http_res
210
+ )
211
+ if utils.match_response(http_res, "4XX", "*"):
212
+ http_res_text = await utils.stream_to_text_async(http_res)
213
+ raise models.APIError("API error occurred", http_res, http_res_text)
214
+ if utils.match_response(http_res, "5XX", "*"):
215
+ http_res_text = await utils.stream_to_text_async(http_res)
216
+ raise models.APIError("API error occurred", http_res, http_res_text)
217
+
218
+ raise models.APIError("Unexpected response received", http_res)