orq-ai-sdk 4.2.0rc49__py3-none-any.whl → 4.2.12__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 (103) 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/chat.py +22 -0
  5. orq_ai_sdk/completions.py +438 -0
  6. orq_ai_sdk/contacts.py +43 -886
  7. orq_ai_sdk/deployments.py +61 -0
  8. orq_ai_sdk/edits.py +364 -0
  9. orq_ai_sdk/embeddings.py +344 -0
  10. orq_ai_sdk/generations.py +370 -0
  11. orq_ai_sdk/images.py +28 -0
  12. orq_ai_sdk/models/__init__.py +3839 -424
  13. orq_ai_sdk/models/conversationresponse.py +1 -1
  14. orq_ai_sdk/models/conversationwithmessagesresponse.py +1 -1
  15. orq_ai_sdk/models/createagentrequestop.py +768 -12
  16. orq_ai_sdk/models/createagentresponse.py +68 -2
  17. orq_ai_sdk/models/createchatcompletionop.py +538 -313
  18. orq_ai_sdk/models/createcompletionop.py +2078 -0
  19. orq_ai_sdk/models/createcontactop.py +5 -10
  20. orq_ai_sdk/models/createconversationop.py +1 -1
  21. orq_ai_sdk/models/createconversationresponseop.py +2 -2
  22. orq_ai_sdk/models/createdatasetitemop.py +4 -4
  23. orq_ai_sdk/models/createdatasetop.py +1 -1
  24. orq_ai_sdk/models/createdatasourceop.py +1 -1
  25. orq_ai_sdk/models/createembeddingop.py +579 -0
  26. orq_ai_sdk/models/createevalop.py +14 -14
  27. orq_ai_sdk/models/createidentityop.py +1 -1
  28. orq_ai_sdk/models/createimageeditop.py +715 -0
  29. orq_ai_sdk/models/createimageop.py +228 -82
  30. orq_ai_sdk/models/createimagevariationop.py +706 -0
  31. orq_ai_sdk/models/creatememoryop.py +4 -2
  32. orq_ai_sdk/models/createmoderationop.py +521 -0
  33. orq_ai_sdk/models/createpromptop.py +375 -6
  34. orq_ai_sdk/models/creatererankop.py +608 -0
  35. orq_ai_sdk/models/createresponseop.py +2567 -0
  36. orq_ai_sdk/models/createspeechop.py +466 -0
  37. orq_ai_sdk/models/createtoolop.py +6 -6
  38. orq_ai_sdk/models/createtranscriptionop.py +732 -0
  39. orq_ai_sdk/models/createtranslationop.py +702 -0
  40. orq_ai_sdk/models/deploymentgetconfigop.py +17 -7
  41. orq_ai_sdk/models/deploymentsop.py +1 -0
  42. orq_ai_sdk/models/deploymentstreamop.py +7 -0
  43. orq_ai_sdk/models/filegetop.py +1 -1
  44. orq_ai_sdk/models/filelistop.py +1 -1
  45. orq_ai_sdk/models/fileuploadop.py +1 -1
  46. orq_ai_sdk/models/generateconversationnameop.py +1 -1
  47. orq_ai_sdk/models/getallmemoriesop.py +4 -2
  48. orq_ai_sdk/models/getallpromptsop.py +188 -3
  49. orq_ai_sdk/models/getalltoolsop.py +6 -6
  50. orq_ai_sdk/models/getevalsop.py +17 -17
  51. orq_ai_sdk/models/getonepromptop.py +188 -3
  52. orq_ai_sdk/models/getpromptversionop.py +188 -3
  53. orq_ai_sdk/models/invokedeploymentrequest.py +11 -4
  54. orq_ai_sdk/models/listagentsop.py +372 -0
  55. orq_ai_sdk/models/listdatasetdatapointsop.py +4 -4
  56. orq_ai_sdk/models/listdatasetsop.py +1 -1
  57. orq_ai_sdk/models/listdatasourcesop.py +1 -1
  58. orq_ai_sdk/models/listidentitiesop.py +1 -1
  59. orq_ai_sdk/models/listmodelsop.py +1 -0
  60. orq_ai_sdk/models/listpromptversionsop.py +188 -3
  61. orq_ai_sdk/models/partdoneevent.py +1 -1
  62. orq_ai_sdk/models/post_v2_router_ocrop.py +408 -0
  63. orq_ai_sdk/models/publiccontact.py +9 -3
  64. orq_ai_sdk/models/publicidentity.py +62 -0
  65. orq_ai_sdk/models/reasoningpart.py +1 -1
  66. orq_ai_sdk/models/responsedoneevent.py +14 -11
  67. orq_ai_sdk/models/retrieveagentrequestop.py +382 -0
  68. orq_ai_sdk/models/retrievedatapointop.py +4 -4
  69. orq_ai_sdk/models/retrievedatasetop.py +1 -1
  70. orq_ai_sdk/models/retrievedatasourceop.py +1 -1
  71. orq_ai_sdk/models/retrieveidentityop.py +1 -1
  72. orq_ai_sdk/models/retrievememoryop.py +4 -2
  73. orq_ai_sdk/models/retrievetoolop.py +6 -6
  74. orq_ai_sdk/models/runagentop.py +379 -9
  75. orq_ai_sdk/models/streamrunagentop.py +385 -9
  76. orq_ai_sdk/models/updateagentop.py +770 -12
  77. orq_ai_sdk/models/updateconversationop.py +1 -1
  78. orq_ai_sdk/models/updatedatapointop.py +4 -4
  79. orq_ai_sdk/models/updatedatasetop.py +1 -1
  80. orq_ai_sdk/models/updatedatasourceop.py +1 -1
  81. orq_ai_sdk/models/updateevalop.py +14 -14
  82. orq_ai_sdk/models/updateidentityop.py +1 -1
  83. orq_ai_sdk/models/updatememoryop.py +4 -2
  84. orq_ai_sdk/models/updatepromptop.py +375 -6
  85. orq_ai_sdk/models/updatetoolop.py +7 -7
  86. orq_ai_sdk/moderations.py +218 -0
  87. orq_ai_sdk/orq_completions.py +666 -0
  88. orq_ai_sdk/orq_responses.py +398 -0
  89. orq_ai_sdk/rerank.py +330 -0
  90. orq_ai_sdk/router.py +89 -641
  91. orq_ai_sdk/speech.py +333 -0
  92. orq_ai_sdk/transcriptions.py +416 -0
  93. orq_ai_sdk/translations.py +384 -0
  94. orq_ai_sdk/variations.py +364 -0
  95. orq_ai_sdk-4.2.12.dist-info/METADATA +888 -0
  96. {orq_ai_sdk-4.2.0rc49.dist-info → orq_ai_sdk-4.2.12.dist-info}/RECORD +98 -75
  97. {orq_ai_sdk-4.2.0rc49.dist-info → orq_ai_sdk-4.2.12.dist-info}/WHEEL +1 -1
  98. orq_ai_sdk/models/deletecontactop.py +0 -44
  99. orq_ai_sdk/models/listcontactsop.py +0 -265
  100. orq_ai_sdk/models/retrievecontactop.py +0 -142
  101. orq_ai_sdk/models/updatecontactop.py +0 -233
  102. orq_ai_sdk-4.2.0rc49.dist-info/METADATA +0 -788
  103. {orq_ai_sdk-4.2.0rc49.dist-info → orq_ai_sdk-4.2.12.dist-info}/top_level.txt +0 -0
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)