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/speech.py ADDED
@@ -0,0 +1,333 @@
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 createspeechop as models_createspeechop
7
+ from orq_ai_sdk.types import OptionalNullable, UNSET
8
+ from orq_ai_sdk.utils import get_security_from_env
9
+ from typing import List, Mapping, Optional, Union
10
+
11
+
12
+ class Speech(BaseSDK):
13
+ def create(
14
+ self,
15
+ *,
16
+ input_: str,
17
+ model: str,
18
+ voice: str,
19
+ response_format: Optional[
20
+ models_createspeechop.CreateSpeechResponseFormat
21
+ ] = "mp3",
22
+ speed: Optional[float] = 1,
23
+ name: Optional[str] = None,
24
+ fallbacks: Optional[
25
+ Union[
26
+ List[models_createspeechop.CreateSpeechFallbacks],
27
+ List[models_createspeechop.CreateSpeechFallbacksTypedDict],
28
+ ]
29
+ ] = None,
30
+ retry: Optional[
31
+ Union[
32
+ models_createspeechop.CreateSpeechRetry,
33
+ models_createspeechop.CreateSpeechRetryTypedDict,
34
+ ]
35
+ ] = None,
36
+ load_balancer: Optional[
37
+ Union[
38
+ models_createspeechop.CreateSpeechLoadBalancer,
39
+ models_createspeechop.CreateSpeechLoadBalancerTypedDict,
40
+ ]
41
+ ] = None,
42
+ timeout: Optional[
43
+ Union[
44
+ models_createspeechop.CreateSpeechTimeout,
45
+ models_createspeechop.CreateSpeechTimeoutTypedDict,
46
+ ]
47
+ ] = None,
48
+ orq: Optional[
49
+ Union[
50
+ models_createspeechop.CreateSpeechOrq,
51
+ models_createspeechop.CreateSpeechOrqTypedDict,
52
+ ]
53
+ ] = None,
54
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
55
+ server_url: Optional[str] = None,
56
+ timeout_ms: Optional[int] = None,
57
+ http_headers: Optional[Mapping[str, str]] = None,
58
+ ):
59
+ r"""Create speech
60
+
61
+ Generates audio from the input text.
62
+
63
+ :param input: The text to generate audio for. The maximum length is 4096 characters
64
+ :param model: ID of the model to use
65
+ :param voice: The voice to use.
66
+
67
+ Available voices for OpenAI
68
+
69
+ `alloy`, `echo`, `fable`, `onyx`, `nova`, and `shimmer`
70
+
71
+ Available voices for ElevenLabs
72
+
73
+ `aria`, `roger`, `sarah`, `laura`, `charlie`, `george`, `callum`, `river`, `liam`, `charlotte`, `alice`, `matilda`, `will`, `jessica`, `eric`, `chris`, `brian`, `daniel`, `lily`, `bill`
74
+ :param response_format: The format to audio in. Supported formats are `mp3`, `opus`, `aac`, `flac`, `wav`, and `pcm`. If a format is provided but not supported by the provider, the response will be in the default format. When the provided format is not supported by the provider, the response will be in the default format.
75
+ :param speed: The speed of the generated audio.
76
+ :param name: The name to display on the trace. If not specified, the default system name will be used.
77
+ :param fallbacks: Array of fallback models to use if primary model fails
78
+ :param retry: Retry configuration for the request
79
+ :param load_balancer: Load balancer configuration for the request.
80
+ :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.
81
+ :param orq:
82
+ :param retries: Override the default retry configuration for this method
83
+ :param server_url: Override the default server URL for this method
84
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
85
+ :param http_headers: Additional headers to set or replace on requests.
86
+ """
87
+ base_url = None
88
+ url_variables = None
89
+ if timeout_ms is None:
90
+ timeout_ms = self.sdk_configuration.timeout_ms
91
+
92
+ if timeout_ms is None:
93
+ timeout_ms = 600000
94
+
95
+ if server_url is not None:
96
+ base_url = server_url
97
+ else:
98
+ base_url = self._get_url(base_url, url_variables)
99
+
100
+ request = models.CreateSpeechRequestBody(
101
+ input=input_,
102
+ model=model,
103
+ voice=voice,
104
+ response_format=response_format,
105
+ speed=speed,
106
+ name=name,
107
+ fallbacks=utils.get_pydantic_model(
108
+ fallbacks, Optional[List[models.CreateSpeechFallbacks]]
109
+ ),
110
+ retry=utils.get_pydantic_model(retry, Optional[models.CreateSpeechRetry]),
111
+ load_balancer=utils.get_pydantic_model(
112
+ load_balancer, Optional[models.CreateSpeechLoadBalancer]
113
+ ),
114
+ timeout=utils.get_pydantic_model(
115
+ timeout, Optional[models.CreateSpeechTimeout]
116
+ ),
117
+ orq=utils.get_pydantic_model(orq, Optional[models.CreateSpeechOrq]),
118
+ )
119
+
120
+ req = self._build_request(
121
+ method="POST",
122
+ path="/v2/router/audio/speech",
123
+ base_url=base_url,
124
+ url_variables=url_variables,
125
+ request=request,
126
+ request_body_required=True,
127
+ request_has_path_params=False,
128
+ request_has_query_params=True,
129
+ user_agent_header="user-agent",
130
+ accept_header_value="*/*",
131
+ http_headers=http_headers,
132
+ security=self.sdk_configuration.security,
133
+ get_serialized_body=lambda: utils.serialize_request_body(
134
+ request, False, False, "json", models.CreateSpeechRequestBody
135
+ ),
136
+ allow_empty_value=None,
137
+ timeout_ms=timeout_ms,
138
+ )
139
+
140
+ if retries == UNSET:
141
+ if self.sdk_configuration.retry_config is not UNSET:
142
+ retries = self.sdk_configuration.retry_config
143
+
144
+ retry_config = None
145
+ if isinstance(retries, utils.RetryConfig):
146
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
147
+
148
+ http_res = self.do_request(
149
+ hook_ctx=HookContext(
150
+ config=self.sdk_configuration,
151
+ base_url=base_url or "",
152
+ operation_id="createSpeech",
153
+ oauth2_scopes=None,
154
+ security_source=get_security_from_env(
155
+ self.sdk_configuration.security, models.Security
156
+ ),
157
+ ),
158
+ request=req,
159
+ error_status_codes=["4XX", "5XX"],
160
+ retry_config=retry_config,
161
+ )
162
+
163
+ if utils.match_response(http_res, "200", "*"):
164
+ return
165
+ if utils.match_response(http_res, "4XX", "*"):
166
+ http_res_text = utils.stream_to_text(http_res)
167
+ raise models.APIError("API error occurred", http_res, http_res_text)
168
+ if utils.match_response(http_res, "5XX", "*"):
169
+ http_res_text = utils.stream_to_text(http_res)
170
+ raise models.APIError("API error occurred", http_res, http_res_text)
171
+
172
+ raise models.APIError("Unexpected response received", http_res)
173
+
174
+ async def create_async(
175
+ self,
176
+ *,
177
+ input_: str,
178
+ model: str,
179
+ voice: str,
180
+ response_format: Optional[
181
+ models_createspeechop.CreateSpeechResponseFormat
182
+ ] = "mp3",
183
+ speed: Optional[float] = 1,
184
+ name: Optional[str] = None,
185
+ fallbacks: Optional[
186
+ Union[
187
+ List[models_createspeechop.CreateSpeechFallbacks],
188
+ List[models_createspeechop.CreateSpeechFallbacksTypedDict],
189
+ ]
190
+ ] = None,
191
+ retry: Optional[
192
+ Union[
193
+ models_createspeechop.CreateSpeechRetry,
194
+ models_createspeechop.CreateSpeechRetryTypedDict,
195
+ ]
196
+ ] = None,
197
+ load_balancer: Optional[
198
+ Union[
199
+ models_createspeechop.CreateSpeechLoadBalancer,
200
+ models_createspeechop.CreateSpeechLoadBalancerTypedDict,
201
+ ]
202
+ ] = None,
203
+ timeout: Optional[
204
+ Union[
205
+ models_createspeechop.CreateSpeechTimeout,
206
+ models_createspeechop.CreateSpeechTimeoutTypedDict,
207
+ ]
208
+ ] = None,
209
+ orq: Optional[
210
+ Union[
211
+ models_createspeechop.CreateSpeechOrq,
212
+ models_createspeechop.CreateSpeechOrqTypedDict,
213
+ ]
214
+ ] = None,
215
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
216
+ server_url: Optional[str] = None,
217
+ timeout_ms: Optional[int] = None,
218
+ http_headers: Optional[Mapping[str, str]] = None,
219
+ ):
220
+ r"""Create speech
221
+
222
+ Generates audio from the input text.
223
+
224
+ :param input: The text to generate audio for. The maximum length is 4096 characters
225
+ :param model: ID of the model to use
226
+ :param voice: The voice to use.
227
+
228
+ Available voices for OpenAI
229
+
230
+ `alloy`, `echo`, `fable`, `onyx`, `nova`, and `shimmer`
231
+
232
+ Available voices for ElevenLabs
233
+
234
+ `aria`, `roger`, `sarah`, `laura`, `charlie`, `george`, `callum`, `river`, `liam`, `charlotte`, `alice`, `matilda`, `will`, `jessica`, `eric`, `chris`, `brian`, `daniel`, `lily`, `bill`
235
+ :param response_format: The format to audio in. Supported formats are `mp3`, `opus`, `aac`, `flac`, `wav`, and `pcm`. If a format is provided but not supported by the provider, the response will be in the default format. When the provided format is not supported by the provider, the response will be in the default format.
236
+ :param speed: The speed of the generated audio.
237
+ :param name: The name to display on the trace. If not specified, the default system name will be used.
238
+ :param fallbacks: Array of fallback models to use if primary model fails
239
+ :param retry: Retry configuration for the request
240
+ :param load_balancer: Load balancer configuration for the request.
241
+ :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.
242
+ :param orq:
243
+ :param retries: Override the default retry configuration for this method
244
+ :param server_url: Override the default server URL for this method
245
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
246
+ :param http_headers: Additional headers to set or replace on requests.
247
+ """
248
+ base_url = None
249
+ url_variables = None
250
+ if timeout_ms is None:
251
+ timeout_ms = self.sdk_configuration.timeout_ms
252
+
253
+ if timeout_ms is None:
254
+ timeout_ms = 600000
255
+
256
+ if server_url is not None:
257
+ base_url = server_url
258
+ else:
259
+ base_url = self._get_url(base_url, url_variables)
260
+
261
+ request = models.CreateSpeechRequestBody(
262
+ input=input_,
263
+ model=model,
264
+ voice=voice,
265
+ response_format=response_format,
266
+ speed=speed,
267
+ name=name,
268
+ fallbacks=utils.get_pydantic_model(
269
+ fallbacks, Optional[List[models.CreateSpeechFallbacks]]
270
+ ),
271
+ retry=utils.get_pydantic_model(retry, Optional[models.CreateSpeechRetry]),
272
+ load_balancer=utils.get_pydantic_model(
273
+ load_balancer, Optional[models.CreateSpeechLoadBalancer]
274
+ ),
275
+ timeout=utils.get_pydantic_model(
276
+ timeout, Optional[models.CreateSpeechTimeout]
277
+ ),
278
+ orq=utils.get_pydantic_model(orq, Optional[models.CreateSpeechOrq]),
279
+ )
280
+
281
+ req = self._build_request_async(
282
+ method="POST",
283
+ path="/v2/router/audio/speech",
284
+ base_url=base_url,
285
+ url_variables=url_variables,
286
+ request=request,
287
+ request_body_required=True,
288
+ request_has_path_params=False,
289
+ request_has_query_params=True,
290
+ user_agent_header="user-agent",
291
+ accept_header_value="*/*",
292
+ http_headers=http_headers,
293
+ security=self.sdk_configuration.security,
294
+ get_serialized_body=lambda: utils.serialize_request_body(
295
+ request, False, False, "json", models.CreateSpeechRequestBody
296
+ ),
297
+ allow_empty_value=None,
298
+ timeout_ms=timeout_ms,
299
+ )
300
+
301
+ if retries == UNSET:
302
+ if self.sdk_configuration.retry_config is not UNSET:
303
+ retries = self.sdk_configuration.retry_config
304
+
305
+ retry_config = None
306
+ if isinstance(retries, utils.RetryConfig):
307
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
308
+
309
+ http_res = await self.do_request_async(
310
+ hook_ctx=HookContext(
311
+ config=self.sdk_configuration,
312
+ base_url=base_url or "",
313
+ operation_id="createSpeech",
314
+ oauth2_scopes=None,
315
+ security_source=get_security_from_env(
316
+ self.sdk_configuration.security, models.Security
317
+ ),
318
+ ),
319
+ request=req,
320
+ error_status_codes=["4XX", "5XX"],
321
+ retry_config=retry_config,
322
+ )
323
+
324
+ if utils.match_response(http_res, "200", "*"):
325
+ return
326
+ if utils.match_response(http_res, "4XX", "*"):
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
+ if utils.match_response(http_res, "5XX", "*"):
330
+ http_res_text = await utils.stream_to_text_async(http_res)
331
+ raise models.APIError("API error occurred", http_res, http_res_text)
332
+
333
+ raise models.APIError("Unexpected response received", http_res)