together 1.5.34__py3-none-any.whl → 2.0.0a6__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.
- together/__init__.py +101 -114
- together/_base_client.py +1995 -0
- together/_client.py +1033 -0
- together/_compat.py +219 -0
- together/_constants.py +14 -0
- together/_exceptions.py +108 -0
- together/_files.py +123 -0
- together/_models.py +857 -0
- together/_qs.py +150 -0
- together/_resource.py +43 -0
- together/_response.py +830 -0
- together/_streaming.py +370 -0
- together/_types.py +260 -0
- together/_utils/__init__.py +64 -0
- together/_utils/_compat.py +45 -0
- together/_utils/_datetime_parse.py +136 -0
- together/_utils/_logs.py +25 -0
- together/_utils/_proxy.py +65 -0
- together/_utils/_reflection.py +42 -0
- together/_utils/_resources_proxy.py +24 -0
- together/_utils/_streams.py +12 -0
- together/_utils/_sync.py +58 -0
- together/_utils/_transform.py +457 -0
- together/_utils/_typing.py +156 -0
- together/_utils/_utils.py +421 -0
- together/_version.py +4 -0
- together/lib/.keep +4 -0
- together/lib/__init__.py +23 -0
- together/{cli → lib/cli}/api/endpoints.py +65 -81
- together/{cli/api/evaluation.py → lib/cli/api/evals.py} +152 -43
- together/{cli → lib/cli}/api/files.py +20 -17
- together/{cli/api/finetune.py → lib/cli/api/fine_tuning.py} +116 -172
- together/{cli → lib/cli}/api/models.py +34 -27
- together/lib/cli/api/utils.py +50 -0
- together/{cli → lib/cli}/cli.py +16 -26
- together/{constants.py → lib/constants.py} +11 -24
- together/lib/resources/__init__.py +11 -0
- together/lib/resources/files.py +999 -0
- together/lib/resources/fine_tuning.py +280 -0
- together/lib/resources/models.py +35 -0
- together/lib/types/__init__.py +13 -0
- together/lib/types/error.py +9 -0
- together/lib/types/fine_tuning.py +397 -0
- together/{utils → lib/utils}/__init__.py +6 -14
- together/{utils → lib/utils}/_log.py +11 -16
- together/{utils → lib/utils}/files.py +90 -288
- together/lib/utils/serializer.py +10 -0
- together/{utils → lib/utils}/tools.py +19 -55
- together/resources/__init__.py +225 -39
- together/resources/audio/__init__.py +72 -48
- together/resources/audio/audio.py +198 -0
- together/resources/audio/speech.py +574 -128
- together/resources/audio/transcriptions.py +247 -261
- together/resources/audio/translations.py +221 -241
- together/resources/audio/voices.py +111 -41
- together/resources/batches.py +417 -0
- together/resources/chat/__init__.py +30 -21
- together/resources/chat/chat.py +102 -0
- together/resources/chat/completions.py +1063 -263
- together/resources/code_interpreter/__init__.py +33 -0
- together/resources/code_interpreter/code_interpreter.py +258 -0
- together/resources/code_interpreter/sessions.py +135 -0
- together/resources/completions.py +884 -225
- together/resources/embeddings.py +172 -68
- together/resources/endpoints.py +589 -477
- together/resources/evals.py +452 -0
- together/resources/files.py +397 -129
- together/resources/fine_tuning.py +1033 -0
- together/resources/hardware.py +181 -0
- together/resources/images.py +258 -104
- together/resources/jobs.py +214 -0
- together/resources/models.py +223 -193
- together/resources/rerank.py +190 -92
- together/resources/videos.py +286 -214
- together/types/__init__.py +66 -167
- together/types/audio/__init__.py +10 -0
- together/types/audio/speech_create_params.py +75 -0
- together/types/audio/transcription_create_params.py +54 -0
- together/types/audio/transcription_create_response.py +111 -0
- together/types/audio/translation_create_params.py +40 -0
- together/types/audio/translation_create_response.py +70 -0
- together/types/audio/voice_list_response.py +23 -0
- together/types/audio_speech_stream_chunk.py +16 -0
- together/types/autoscaling.py +13 -0
- together/types/autoscaling_param.py +15 -0
- together/types/batch_create_params.py +24 -0
- together/types/batch_create_response.py +14 -0
- together/types/batch_job.py +45 -0
- together/types/batch_list_response.py +10 -0
- together/types/chat/__init__.py +18 -0
- together/types/chat/chat_completion.py +60 -0
- together/types/chat/chat_completion_chunk.py +61 -0
- together/types/chat/chat_completion_structured_message_image_url_param.py +18 -0
- together/types/chat/chat_completion_structured_message_text_param.py +13 -0
- together/types/chat/chat_completion_structured_message_video_url_param.py +18 -0
- together/types/chat/chat_completion_usage.py +13 -0
- together/types/chat/chat_completion_warning.py +9 -0
- together/types/chat/completion_create_params.py +329 -0
- together/types/code_interpreter/__init__.py +5 -0
- together/types/code_interpreter/session_list_response.py +31 -0
- together/types/code_interpreter_execute_params.py +45 -0
- together/types/completion.py +42 -0
- together/types/completion_chunk.py +66 -0
- together/types/completion_create_params.py +138 -0
- together/types/dedicated_endpoint.py +44 -0
- together/types/embedding.py +24 -0
- together/types/embedding_create_params.py +31 -0
- together/types/endpoint_create_params.py +43 -0
- together/types/endpoint_list_avzones_response.py +11 -0
- together/types/endpoint_list_params.py +18 -0
- together/types/endpoint_list_response.py +41 -0
- together/types/endpoint_update_params.py +27 -0
- together/types/eval_create_params.py +263 -0
- together/types/eval_create_response.py +16 -0
- together/types/eval_list_params.py +21 -0
- together/types/eval_list_response.py +10 -0
- together/types/eval_status_response.py +100 -0
- together/types/evaluation_job.py +139 -0
- together/types/execute_response.py +108 -0
- together/types/file_delete_response.py +13 -0
- together/types/file_list.py +12 -0
- together/types/file_purpose.py +9 -0
- together/types/file_response.py +31 -0
- together/types/file_type.py +7 -0
- together/types/fine_tuning_cancel_response.py +194 -0
- together/types/fine_tuning_content_params.py +24 -0
- together/types/fine_tuning_delete_params.py +11 -0
- together/types/fine_tuning_delete_response.py +12 -0
- together/types/fine_tuning_list_checkpoints_response.py +21 -0
- together/types/fine_tuning_list_events_response.py +12 -0
- together/types/fine_tuning_list_response.py +199 -0
- together/types/finetune_event.py +41 -0
- together/types/finetune_event_type.py +33 -0
- together/types/finetune_response.py +177 -0
- together/types/hardware_list_params.py +16 -0
- together/types/hardware_list_response.py +58 -0
- together/types/image_data_b64.py +15 -0
- together/types/image_data_url.py +15 -0
- together/types/image_file.py +23 -0
- together/types/image_generate_params.py +85 -0
- together/types/job_list_response.py +47 -0
- together/types/job_retrieve_response.py +43 -0
- together/types/log_probs.py +18 -0
- together/types/model_list_response.py +10 -0
- together/types/model_object.py +42 -0
- together/types/model_upload_params.py +36 -0
- together/types/model_upload_response.py +23 -0
- together/types/rerank_create_params.py +36 -0
- together/types/rerank_create_response.py +36 -0
- together/types/tool_choice.py +23 -0
- together/types/tool_choice_param.py +23 -0
- together/types/tools_param.py +23 -0
- together/types/training_method_dpo.py +22 -0
- together/types/training_method_sft.py +18 -0
- together/types/video_create_params.py +86 -0
- together/types/video_create_response.py +10 -0
- together/types/video_job.py +57 -0
- together-2.0.0a6.dist-info/METADATA +729 -0
- together-2.0.0a6.dist-info/RECORD +165 -0
- {together-1.5.34.dist-info → together-2.0.0a6.dist-info}/WHEEL +1 -1
- together-2.0.0a6.dist-info/entry_points.txt +2 -0
- {together-1.5.34.dist-info → together-2.0.0a6.dist-info}/licenses/LICENSE +1 -1
- together/abstract/api_requestor.py +0 -770
- together/cli/api/chat.py +0 -298
- together/cli/api/completions.py +0 -119
- together/cli/api/images.py +0 -93
- together/cli/api/utils.py +0 -139
- together/client.py +0 -186
- together/error.py +0 -194
- together/filemanager.py +0 -635
- together/legacy/__init__.py +0 -0
- together/legacy/base.py +0 -27
- together/legacy/complete.py +0 -93
- together/legacy/embeddings.py +0 -27
- together/legacy/files.py +0 -146
- together/legacy/finetune.py +0 -177
- together/legacy/images.py +0 -27
- together/legacy/models.py +0 -44
- together/resources/batch.py +0 -165
- together/resources/code_interpreter.py +0 -82
- together/resources/evaluation.py +0 -808
- together/resources/finetune.py +0 -1388
- together/together_response.py +0 -50
- together/types/abstract.py +0 -26
- together/types/audio_speech.py +0 -311
- together/types/batch.py +0 -54
- together/types/chat_completions.py +0 -210
- together/types/code_interpreter.py +0 -57
- together/types/common.py +0 -67
- together/types/completions.py +0 -107
- together/types/embeddings.py +0 -35
- together/types/endpoints.py +0 -123
- together/types/error.py +0 -16
- together/types/evaluation.py +0 -93
- together/types/files.py +0 -93
- together/types/finetune.py +0 -464
- together/types/images.py +0 -42
- together/types/models.py +0 -96
- together/types/rerank.py +0 -43
- together/types/videos.py +0 -69
- together/utils/api_helpers.py +0 -124
- together/version.py +0 -6
- together-1.5.34.dist-info/METADATA +0 -583
- together-1.5.34.dist-info/RECORD +0 -77
- together-1.5.34.dist-info/entry_points.txt +0 -3
- /together/{abstract → lib/cli}/__init__.py +0 -0
- /together/{cli → lib/cli/api}/__init__.py +0 -0
- /together/{cli/api/__init__.py → py.typed} +0 -0
|
@@ -1,276 +1,256 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
1
3
|
from __future__ import annotations
|
|
2
4
|
|
|
3
|
-
from typing import Any,
|
|
4
|
-
from
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
from
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
from typing import Any, List, Union, Mapping, cast
|
|
6
|
+
from typing_extensions import Literal
|
|
7
|
+
|
|
8
|
+
import httpx
|
|
9
|
+
|
|
10
|
+
from ..._types import Body, Omit, Query, Headers, NotGiven, FileTypes, omit, not_given
|
|
11
|
+
from ..._utils import extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
|
|
12
|
+
from ..._compat import cached_property
|
|
13
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
14
|
+
from ..._response import (
|
|
15
|
+
to_raw_response_wrapper,
|
|
16
|
+
to_streamed_response_wrapper,
|
|
17
|
+
async_to_raw_response_wrapper,
|
|
18
|
+
async_to_streamed_response_wrapper,
|
|
16
19
|
)
|
|
20
|
+
from ...types.audio import translation_create_params
|
|
21
|
+
from ..._base_client import make_request_options
|
|
22
|
+
from ...types.audio.translation_create_response import TranslationCreateResponse
|
|
23
|
+
|
|
24
|
+
__all__ = ["TranslationsResource", "AsyncTranslationsResource"]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class TranslationsResource(SyncAPIResource):
|
|
28
|
+
@cached_property
|
|
29
|
+
def with_raw_response(self) -> TranslationsResourceWithRawResponse:
|
|
30
|
+
"""
|
|
31
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
32
|
+
the raw response object instead of the parsed content.
|
|
33
|
+
|
|
34
|
+
For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
|
|
35
|
+
"""
|
|
36
|
+
return TranslationsResourceWithRawResponse(self)
|
|
17
37
|
|
|
38
|
+
@cached_property
|
|
39
|
+
def with_streaming_response(self) -> TranslationsResourceWithStreamingResponse:
|
|
40
|
+
"""
|
|
41
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
18
42
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
self
|
|
43
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
44
|
+
"""
|
|
45
|
+
return TranslationsResourceWithStreamingResponse(self)
|
|
22
46
|
|
|
23
47
|
def create(
|
|
24
48
|
self,
|
|
25
49
|
*,
|
|
26
|
-
file:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
prompt:
|
|
30
|
-
response_format:
|
|
31
|
-
temperature: float =
|
|
32
|
-
timestamp_granularities:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
50
|
+
file: FileTypes,
|
|
51
|
+
language: str | Omit = omit,
|
|
52
|
+
model: Literal["openai/whisper-large-v3"] | Omit = omit,
|
|
53
|
+
prompt: str | Omit = omit,
|
|
54
|
+
response_format: Literal["json", "verbose_json"] | Omit = omit,
|
|
55
|
+
temperature: float | Omit = omit,
|
|
56
|
+
timestamp_granularities: Union[Literal["segment", "word"], List[Literal["segment", "word"]]] | Omit = omit,
|
|
57
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
58
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
59
|
+
extra_headers: Headers | None = None,
|
|
60
|
+
extra_query: Query | None = None,
|
|
61
|
+
extra_body: Body | None = None,
|
|
62
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
63
|
+
) -> TranslationCreateResponse:
|
|
37
64
|
"""
|
|
38
|
-
Translates audio into English
|
|
65
|
+
Translates audio into English
|
|
39
66
|
|
|
40
67
|
Args:
|
|
41
|
-
|
|
42
|
-
flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm.
|
|
43
|
-
Can be a file path (str/Path), file object (BinaryIO), or URL (str).
|
|
44
|
-
model: ID of the model to use. Defaults to "openai/whisper-large-v3".
|
|
45
|
-
language: The language of the input audio. Optional ISO-639-1 language code.
|
|
46
|
-
If omitted, language is set to English.
|
|
47
|
-
prompt: An optional text to guide the model's style or continue a previous
|
|
48
|
-
audio segment. The prompt should be in English.
|
|
49
|
-
response_format: The format of the transcript output, in one of these options:
|
|
50
|
-
json, verbose_json.
|
|
51
|
-
temperature: The sampling temperature, between 0 and 1. Higher values like 0.8
|
|
52
|
-
will make the output more random, while lower values like 0.2 will make it
|
|
53
|
-
more focused and deterministic.
|
|
54
|
-
timestamp_granularities: The timestamp granularities to populate for this
|
|
55
|
-
translation. response_format must be set verbose_json to use timestamp
|
|
56
|
-
granularities. Either or both of these options are supported: word, or segment.
|
|
57
|
-
|
|
58
|
-
Returns:
|
|
59
|
-
The translated text in the requested format.
|
|
60
|
-
"""
|
|
68
|
+
file: Audio file to translate
|
|
61
69
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
70
|
+
language: Target output language. Optional ISO 639-1 language code. If omitted, language
|
|
71
|
+
is set to English.
|
|
72
|
+
|
|
73
|
+
model: Model to use for translation
|
|
74
|
+
|
|
75
|
+
prompt: Optional text to bias decoding.
|
|
76
|
+
|
|
77
|
+
response_format: The format of the response
|
|
65
78
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
# Build request parameters
|
|
83
|
-
params_data.update(
|
|
79
|
+
temperature: Sampling temperature between 0.0 and 1.0
|
|
80
|
+
|
|
81
|
+
timestamp_granularities: Controls level of timestamp detail in verbose_json. Only used when
|
|
82
|
+
response_format is verbose_json. Can be a single granularity or an array to get
|
|
83
|
+
multiple levels.
|
|
84
|
+
|
|
85
|
+
extra_headers: Send extra headers
|
|
86
|
+
|
|
87
|
+
extra_query: Add additional query parameters to the request
|
|
88
|
+
|
|
89
|
+
extra_body: Add additional JSON properties to the request
|
|
90
|
+
|
|
91
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
92
|
+
"""
|
|
93
|
+
body = deepcopy_minimal(
|
|
84
94
|
{
|
|
95
|
+
"file": file,
|
|
96
|
+
"language": language,
|
|
85
97
|
"model": model,
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
if isinstance(response_format, str)
|
|
89
|
-
else (
|
|
90
|
-
response_format.value
|
|
91
|
-
if hasattr(response_format, "value")
|
|
92
|
-
else response_format
|
|
93
|
-
)
|
|
94
|
-
),
|
|
98
|
+
"prompt": prompt,
|
|
99
|
+
"response_format": response_format,
|
|
95
100
|
"temperature": temperature,
|
|
101
|
+
"timestamp_granularities": timestamp_granularities,
|
|
96
102
|
}
|
|
97
103
|
)
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
if hasattr(timestamp_granularities, "value")
|
|
112
|
-
else timestamp_granularities
|
|
113
|
-
)
|
|
114
|
-
)
|
|
115
|
-
|
|
116
|
-
# Add any additional kwargs
|
|
117
|
-
params_data.update(kwargs)
|
|
118
|
-
|
|
119
|
-
try:
|
|
120
|
-
response, _, _ = requestor.request(
|
|
121
|
-
options=TogetherRequest(
|
|
122
|
-
method="POST",
|
|
123
|
-
url="audio/translations",
|
|
124
|
-
params=params_data,
|
|
125
|
-
files=files_data,
|
|
104
|
+
files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
|
|
105
|
+
# It should be noted that the actual Content-Type header that will be
|
|
106
|
+
# sent to the server will contain a `boundary` parameter, e.g.
|
|
107
|
+
# multipart/form-data; boundary=---abc--
|
|
108
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
109
|
+
return cast(
|
|
110
|
+
TranslationCreateResponse,
|
|
111
|
+
self._post(
|
|
112
|
+
"/audio/translations",
|
|
113
|
+
body=maybe_transform(body, translation_create_params.TranslationCreateParams),
|
|
114
|
+
files=files,
|
|
115
|
+
options=make_request_options(
|
|
116
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
126
117
|
),
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
)
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
118
|
+
cast_to=cast(
|
|
119
|
+
Any, TranslationCreateResponse
|
|
120
|
+
), # Union types cannot be passed in as arguments in the type system
|
|
121
|
+
),
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
class AsyncTranslationsResource(AsyncAPIResource):
|
|
126
|
+
@cached_property
|
|
127
|
+
def with_raw_response(self) -> AsyncTranslationsResourceWithRawResponse:
|
|
128
|
+
"""
|
|
129
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
130
|
+
the raw response object instead of the parsed content.
|
|
131
|
+
|
|
132
|
+
For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
|
|
133
|
+
"""
|
|
134
|
+
return AsyncTranslationsResourceWithRawResponse(self)
|
|
135
|
+
|
|
136
|
+
@cached_property
|
|
137
|
+
def with_streaming_response(self) -> AsyncTranslationsResourceWithStreamingResponse:
|
|
138
|
+
"""
|
|
139
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
140
|
+
|
|
141
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
142
|
+
"""
|
|
143
|
+
return AsyncTranslationsResourceWithStreamingResponse(self)
|
|
152
144
|
|
|
153
145
|
async def create(
|
|
154
146
|
self,
|
|
155
147
|
*,
|
|
156
|
-
file:
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
prompt:
|
|
160
|
-
response_format:
|
|
161
|
-
temperature: float =
|
|
162
|
-
timestamp_granularities:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
148
|
+
file: FileTypes,
|
|
149
|
+
language: str | Omit = omit,
|
|
150
|
+
model: Literal["openai/whisper-large-v3"] | Omit = omit,
|
|
151
|
+
prompt: str | Omit = omit,
|
|
152
|
+
response_format: Literal["json", "verbose_json"] | Omit = omit,
|
|
153
|
+
temperature: float | Omit = omit,
|
|
154
|
+
timestamp_granularities: Union[Literal["segment", "word"], List[Literal["segment", "word"]]] | Omit = omit,
|
|
155
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
156
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
157
|
+
extra_headers: Headers | None = None,
|
|
158
|
+
extra_query: Query | None = None,
|
|
159
|
+
extra_body: Body | None = None,
|
|
160
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
161
|
+
) -> TranslationCreateResponse:
|
|
167
162
|
"""
|
|
168
|
-
|
|
163
|
+
Translates audio into English
|
|
169
164
|
|
|
170
165
|
Args:
|
|
171
|
-
|
|
172
|
-
flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm.
|
|
173
|
-
Can be a file path (str/Path), file object (BinaryIO), or URL (str).
|
|
174
|
-
model: ID of the model to use. Defaults to "openai/whisper-large-v3".
|
|
175
|
-
language: The language of the input audio. Optional ISO-639-1 language code.
|
|
176
|
-
If omitted, language is set to English.
|
|
177
|
-
prompt: An optional text to guide the model's style or continue a previous
|
|
178
|
-
audio segment. The prompt should be in English.
|
|
179
|
-
response_format: The format of the transcript output, in one of these options:
|
|
180
|
-
json, verbose_json.
|
|
181
|
-
temperature: The sampling temperature, between 0 and 1. Higher values like 0.8
|
|
182
|
-
will make the output more random, while lower values like 0.2 will make it
|
|
183
|
-
more focused and deterministic.
|
|
184
|
-
timestamp_granularities: The timestamp granularities to populate for this
|
|
185
|
-
translation. response_format must be set verbose_json to use timestamp
|
|
186
|
-
granularities. Either or both of these options are supported: word, or segment.
|
|
187
|
-
|
|
188
|
-
Returns:
|
|
189
|
-
The translated text in the requested format.
|
|
190
|
-
"""
|
|
166
|
+
file: Audio file to translate
|
|
191
167
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
168
|
+
language: Target output language. Optional ISO 639-1 language code. If omitted, language
|
|
169
|
+
is set to English.
|
|
170
|
+
|
|
171
|
+
model: Model to use for translation
|
|
172
|
+
|
|
173
|
+
prompt: Optional text to bias decoding.
|
|
174
|
+
|
|
175
|
+
response_format: The format of the response
|
|
176
|
+
|
|
177
|
+
temperature: Sampling temperature between 0.0 and 1.0
|
|
195
178
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
# File object
|
|
210
|
-
files_data["file"] = file
|
|
211
|
-
|
|
212
|
-
# Build request parameters
|
|
213
|
-
params_data.update(
|
|
179
|
+
timestamp_granularities: Controls level of timestamp detail in verbose_json. Only used when
|
|
180
|
+
response_format is verbose_json. Can be a single granularity or an array to get
|
|
181
|
+
multiple levels.
|
|
182
|
+
|
|
183
|
+
extra_headers: Send extra headers
|
|
184
|
+
|
|
185
|
+
extra_query: Add additional query parameters to the request
|
|
186
|
+
|
|
187
|
+
extra_body: Add additional JSON properties to the request
|
|
188
|
+
|
|
189
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
190
|
+
"""
|
|
191
|
+
body = deepcopy_minimal(
|
|
214
192
|
{
|
|
193
|
+
"file": file,
|
|
194
|
+
"language": language,
|
|
215
195
|
"model": model,
|
|
216
|
-
"
|
|
217
|
-
|
|
218
|
-
if isinstance(response_format, str)
|
|
219
|
-
else (
|
|
220
|
-
response_format.value
|
|
221
|
-
if hasattr(response_format, "value")
|
|
222
|
-
else response_format
|
|
223
|
-
)
|
|
224
|
-
),
|
|
196
|
+
"prompt": prompt,
|
|
197
|
+
"response_format": response_format,
|
|
225
198
|
"temperature": temperature,
|
|
199
|
+
"timestamp_granularities": timestamp_granularities,
|
|
226
200
|
}
|
|
227
201
|
)
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
if hasattr(timestamp_granularities, "value")
|
|
242
|
-
else timestamp_granularities
|
|
243
|
-
)
|
|
244
|
-
)
|
|
245
|
-
|
|
246
|
-
# Add any additional kwargs
|
|
247
|
-
params_data.update(kwargs)
|
|
248
|
-
|
|
249
|
-
try:
|
|
250
|
-
response, _, _ = await requestor.arequest(
|
|
251
|
-
options=TogetherRequest(
|
|
252
|
-
method="POST",
|
|
253
|
-
url="audio/translations",
|
|
254
|
-
params=params_data,
|
|
255
|
-
files=files_data,
|
|
202
|
+
files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
|
|
203
|
+
# It should be noted that the actual Content-Type header that will be
|
|
204
|
+
# sent to the server will contain a `boundary` parameter, e.g.
|
|
205
|
+
# multipart/form-data; boundary=---abc--
|
|
206
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
207
|
+
return cast(
|
|
208
|
+
TranslationCreateResponse,
|
|
209
|
+
await self._post(
|
|
210
|
+
"/audio/translations",
|
|
211
|
+
body=await async_maybe_transform(body, translation_create_params.TranslationCreateParams),
|
|
212
|
+
files=files,
|
|
213
|
+
options=make_request_options(
|
|
214
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
256
215
|
),
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
216
|
+
cast_to=cast(
|
|
217
|
+
Any, TranslationCreateResponse
|
|
218
|
+
), # Union types cannot be passed in as arguments in the type system
|
|
219
|
+
),
|
|
220
|
+
)
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
class TranslationsResourceWithRawResponse:
|
|
224
|
+
def __init__(self, translations: TranslationsResource) -> None:
|
|
225
|
+
self._translations = translations
|
|
226
|
+
|
|
227
|
+
self.create = to_raw_response_wrapper(
|
|
228
|
+
translations.create,
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
class AsyncTranslationsResourceWithRawResponse:
|
|
233
|
+
def __init__(self, translations: AsyncTranslationsResource) -> None:
|
|
234
|
+
self._translations = translations
|
|
235
|
+
|
|
236
|
+
self.create = async_to_raw_response_wrapper(
|
|
237
|
+
translations.create,
|
|
238
|
+
)
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
class TranslationsResourceWithStreamingResponse:
|
|
242
|
+
def __init__(self, translations: TranslationsResource) -> None:
|
|
243
|
+
self._translations = translations
|
|
244
|
+
|
|
245
|
+
self.create = to_streamed_response_wrapper(
|
|
246
|
+
translations.create,
|
|
247
|
+
)
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
class AsyncTranslationsResourceWithStreamingResponse:
|
|
251
|
+
def __init__(self, translations: AsyncTranslationsResource) -> None:
|
|
252
|
+
self._translations = translations
|
|
253
|
+
|
|
254
|
+
self.create = async_to_streamed_response_wrapper(
|
|
255
|
+
translations.create,
|
|
256
|
+
)
|