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
orq_ai_sdk/rerank.py ADDED
@@ -0,0 +1,330 @@
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 creatererankop as models_creatererankop
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 List, Mapping, Optional, Union
11
+
12
+
13
+ class Rerank(BaseSDK):
14
+ def create(
15
+ self,
16
+ *,
17
+ query: str,
18
+ documents: List[str],
19
+ model: str,
20
+ top_n: Optional[float] = None,
21
+ filename: OptionalNullable[str] = UNSET,
22
+ name: Optional[str] = None,
23
+ fallbacks: Optional[
24
+ Union[
25
+ List[models_creatererankop.CreateRerankFallbacks],
26
+ List[models_creatererankop.CreateRerankFallbacksTypedDict],
27
+ ]
28
+ ] = None,
29
+ retry: Optional[
30
+ Union[
31
+ models_creatererankop.CreateRerankRetry,
32
+ models_creatererankop.CreateRerankRetryTypedDict,
33
+ ]
34
+ ] = None,
35
+ cache: Optional[
36
+ Union[
37
+ models_creatererankop.CreateRerankCache,
38
+ models_creatererankop.CreateRerankCacheTypedDict,
39
+ ]
40
+ ] = None,
41
+ load_balancer: Optional[
42
+ Union[
43
+ models_creatererankop.CreateRerankLoadBalancer,
44
+ models_creatererankop.CreateRerankLoadBalancerTypedDict,
45
+ ]
46
+ ] = None,
47
+ timeout: Optional[
48
+ Union[
49
+ models_creatererankop.CreateRerankTimeout,
50
+ models_creatererankop.CreateRerankTimeoutTypedDict,
51
+ ]
52
+ ] = None,
53
+ orq: Optional[
54
+ Union[
55
+ models_creatererankop.CreateRerankOrq,
56
+ models_creatererankop.CreateRerankOrqTypedDict,
57
+ ]
58
+ ] = None,
59
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
60
+ server_url: Optional[str] = None,
61
+ timeout_ms: Optional[int] = None,
62
+ http_headers: Optional[Mapping[str, str]] = None,
63
+ ) -> models.CreateRerankResponseBody:
64
+ r"""Create rerank
65
+
66
+ Rerank a list of documents based on their relevance to a query.
67
+
68
+ :param query: The search query
69
+ :param documents: A list of texts that will be compared to the `query`. For optimal performance we recommend against sending more than 1,000 documents in a single request.
70
+ :param model: The identifier of the model to use
71
+ :param top_n: The number of most relevant documents or indices to return, defaults to the length of the documents
72
+ :param filename: The filename of the document to rerank
73
+ :param name: The name to display on the trace. If not specified, the default system name will be used.
74
+ :param fallbacks: Array of fallback models to use if primary model fails
75
+ :param retry: Retry configuration for the request
76
+ :param cache: Cache configuration for the request.
77
+ :param load_balancer: Load balancer configuration for the request.
78
+ :param timeout: Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
79
+ :param orq:
80
+ :param retries: Override the default retry configuration for this method
81
+ :param server_url: Override the default server URL for this method
82
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
83
+ :param http_headers: Additional headers to set or replace on requests.
84
+ """
85
+ base_url = None
86
+ url_variables = None
87
+ if timeout_ms is None:
88
+ timeout_ms = self.sdk_configuration.timeout_ms
89
+
90
+ if timeout_ms is None:
91
+ timeout_ms = 600000
92
+
93
+ if server_url is not None:
94
+ base_url = server_url
95
+ else:
96
+ base_url = self._get_url(base_url, url_variables)
97
+
98
+ request = models.CreateRerankRequestBody(
99
+ query=query,
100
+ documents=documents,
101
+ model=model,
102
+ top_n=top_n,
103
+ filename=filename,
104
+ name=name,
105
+ fallbacks=utils.get_pydantic_model(
106
+ fallbacks, Optional[List[models.CreateRerankFallbacks]]
107
+ ),
108
+ retry=utils.get_pydantic_model(retry, Optional[models.CreateRerankRetry]),
109
+ cache=utils.get_pydantic_model(cache, Optional[models.CreateRerankCache]),
110
+ load_balancer=utils.get_pydantic_model(
111
+ load_balancer, Optional[models.CreateRerankLoadBalancer]
112
+ ),
113
+ timeout=utils.get_pydantic_model(
114
+ timeout, Optional[models.CreateRerankTimeout]
115
+ ),
116
+ orq=utils.get_pydantic_model(orq, Optional[models.CreateRerankOrq]),
117
+ )
118
+
119
+ req = self._build_request(
120
+ method="POST",
121
+ path="/v2/router/rerank",
122
+ base_url=base_url,
123
+ url_variables=url_variables,
124
+ request=request,
125
+ request_body_required=True,
126
+ request_has_path_params=False,
127
+ request_has_query_params=True,
128
+ user_agent_header="user-agent",
129
+ accept_header_value="application/json",
130
+ http_headers=http_headers,
131
+ security=self.sdk_configuration.security,
132
+ get_serialized_body=lambda: utils.serialize_request_body(
133
+ request, False, False, "json", models.CreateRerankRequestBody
134
+ ),
135
+ allow_empty_value=None,
136
+ timeout_ms=timeout_ms,
137
+ )
138
+
139
+ if retries == UNSET:
140
+ if self.sdk_configuration.retry_config is not UNSET:
141
+ retries = self.sdk_configuration.retry_config
142
+
143
+ retry_config = None
144
+ if isinstance(retries, utils.RetryConfig):
145
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
146
+
147
+ http_res = self.do_request(
148
+ hook_ctx=HookContext(
149
+ config=self.sdk_configuration,
150
+ base_url=base_url or "",
151
+ operation_id="createRerank",
152
+ oauth2_scopes=None,
153
+ security_source=get_security_from_env(
154
+ self.sdk_configuration.security, models.Security
155
+ ),
156
+ ),
157
+ request=req,
158
+ error_status_codes=["4XX", "5XX"],
159
+ retry_config=retry_config,
160
+ )
161
+
162
+ if utils.match_response(http_res, "200", "application/json"):
163
+ return unmarshal_json_response(models.CreateRerankResponseBody, http_res)
164
+ if utils.match_response(http_res, "4XX", "*"):
165
+ http_res_text = utils.stream_to_text(http_res)
166
+ raise models.APIError("API error occurred", http_res, http_res_text)
167
+ if utils.match_response(http_res, "5XX", "*"):
168
+ http_res_text = utils.stream_to_text(http_res)
169
+ raise models.APIError("API error occurred", http_res, http_res_text)
170
+
171
+ raise models.APIError("Unexpected response received", http_res)
172
+
173
+ async def create_async(
174
+ self,
175
+ *,
176
+ query: str,
177
+ documents: List[str],
178
+ model: str,
179
+ top_n: Optional[float] = None,
180
+ filename: OptionalNullable[str] = UNSET,
181
+ name: Optional[str] = None,
182
+ fallbacks: Optional[
183
+ Union[
184
+ List[models_creatererankop.CreateRerankFallbacks],
185
+ List[models_creatererankop.CreateRerankFallbacksTypedDict],
186
+ ]
187
+ ] = None,
188
+ retry: Optional[
189
+ Union[
190
+ models_creatererankop.CreateRerankRetry,
191
+ models_creatererankop.CreateRerankRetryTypedDict,
192
+ ]
193
+ ] = None,
194
+ cache: Optional[
195
+ Union[
196
+ models_creatererankop.CreateRerankCache,
197
+ models_creatererankop.CreateRerankCacheTypedDict,
198
+ ]
199
+ ] = None,
200
+ load_balancer: Optional[
201
+ Union[
202
+ models_creatererankop.CreateRerankLoadBalancer,
203
+ models_creatererankop.CreateRerankLoadBalancerTypedDict,
204
+ ]
205
+ ] = None,
206
+ timeout: Optional[
207
+ Union[
208
+ models_creatererankop.CreateRerankTimeout,
209
+ models_creatererankop.CreateRerankTimeoutTypedDict,
210
+ ]
211
+ ] = None,
212
+ orq: Optional[
213
+ Union[
214
+ models_creatererankop.CreateRerankOrq,
215
+ models_creatererankop.CreateRerankOrqTypedDict,
216
+ ]
217
+ ] = None,
218
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
219
+ server_url: Optional[str] = None,
220
+ timeout_ms: Optional[int] = None,
221
+ http_headers: Optional[Mapping[str, str]] = None,
222
+ ) -> models.CreateRerankResponseBody:
223
+ r"""Create rerank
224
+
225
+ Rerank a list of documents based on their relevance to a query.
226
+
227
+ :param query: The search query
228
+ :param documents: A list of texts that will be compared to the `query`. For optimal performance we recommend against sending more than 1,000 documents in a single request.
229
+ :param model: The identifier of the model to use
230
+ :param top_n: The number of most relevant documents or indices to return, defaults to the length of the documents
231
+ :param filename: The filename of the document to rerank
232
+ :param name: The name to display on the trace. If not specified, the default system name will be used.
233
+ :param fallbacks: Array of fallback models to use if primary model fails
234
+ :param retry: Retry configuration for the request
235
+ :param cache: Cache configuration for the request.
236
+ :param load_balancer: Load balancer configuration for the request.
237
+ :param timeout: Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
238
+ :param orq:
239
+ :param retries: Override the default retry configuration for this method
240
+ :param server_url: Override the default server URL for this method
241
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
242
+ :param http_headers: Additional headers to set or replace on requests.
243
+ """
244
+ base_url = None
245
+ url_variables = None
246
+ if timeout_ms is None:
247
+ timeout_ms = self.sdk_configuration.timeout_ms
248
+
249
+ if timeout_ms is None:
250
+ timeout_ms = 600000
251
+
252
+ if server_url is not None:
253
+ base_url = server_url
254
+ else:
255
+ base_url = self._get_url(base_url, url_variables)
256
+
257
+ request = models.CreateRerankRequestBody(
258
+ query=query,
259
+ documents=documents,
260
+ model=model,
261
+ top_n=top_n,
262
+ filename=filename,
263
+ name=name,
264
+ fallbacks=utils.get_pydantic_model(
265
+ fallbacks, Optional[List[models.CreateRerankFallbacks]]
266
+ ),
267
+ retry=utils.get_pydantic_model(retry, Optional[models.CreateRerankRetry]),
268
+ cache=utils.get_pydantic_model(cache, Optional[models.CreateRerankCache]),
269
+ load_balancer=utils.get_pydantic_model(
270
+ load_balancer, Optional[models.CreateRerankLoadBalancer]
271
+ ),
272
+ timeout=utils.get_pydantic_model(
273
+ timeout, Optional[models.CreateRerankTimeout]
274
+ ),
275
+ orq=utils.get_pydantic_model(orq, Optional[models.CreateRerankOrq]),
276
+ )
277
+
278
+ req = self._build_request_async(
279
+ method="POST",
280
+ path="/v2/router/rerank",
281
+ base_url=base_url,
282
+ url_variables=url_variables,
283
+ request=request,
284
+ request_body_required=True,
285
+ request_has_path_params=False,
286
+ request_has_query_params=True,
287
+ user_agent_header="user-agent",
288
+ accept_header_value="application/json",
289
+ http_headers=http_headers,
290
+ security=self.sdk_configuration.security,
291
+ get_serialized_body=lambda: utils.serialize_request_body(
292
+ request, False, False, "json", models.CreateRerankRequestBody
293
+ ),
294
+ allow_empty_value=None,
295
+ timeout_ms=timeout_ms,
296
+ )
297
+
298
+ if retries == UNSET:
299
+ if self.sdk_configuration.retry_config is not UNSET:
300
+ retries = self.sdk_configuration.retry_config
301
+
302
+ retry_config = None
303
+ if isinstance(retries, utils.RetryConfig):
304
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
305
+
306
+ http_res = await self.do_request_async(
307
+ hook_ctx=HookContext(
308
+ config=self.sdk_configuration,
309
+ base_url=base_url or "",
310
+ operation_id="createRerank",
311
+ oauth2_scopes=None,
312
+ security_source=get_security_from_env(
313
+ self.sdk_configuration.security, models.Security
314
+ ),
315
+ ),
316
+ request=req,
317
+ error_status_codes=["4XX", "5XX"],
318
+ retry_config=retry_config,
319
+ )
320
+
321
+ if utils.match_response(http_res, "200", "application/json"):
322
+ return unmarshal_json_response(models.CreateRerankResponseBody, http_res)
323
+ if utils.match_response(http_res, "4XX", "*"):
324
+ http_res_text = await utils.stream_to_text_async(http_res)
325
+ raise models.APIError("API error occurred", http_res, http_res_text)
326
+ if utils.match_response(http_res, "5XX", "*"):
327
+ http_res_text = await utils.stream_to_text_async(http_res)
328
+ raise models.APIError("API error occurred", http_res, http_res_text)
329
+
330
+ raise models.APIError("Unexpected response received", http_res)