together 1.5.17__py3-none-any.whl → 2.0.0a8__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 -63
- 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 +108 -75
- together/lib/cli/api/evals.py +588 -0
- together/{cli → lib/cli}/api/files.py +20 -17
- together/{cli/api/finetune.py → lib/cli/api/fine_tuning.py} +161 -120
- together/lib/cli/api/models.py +140 -0
- together/{cli → lib/cli}/api/utils.py +6 -7
- together/{cli → lib/cli}/cli.py +16 -24
- together/{constants.py → lib/constants.py} +17 -12
- 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 +455 -0
- together/{utils → lib/utils}/__init__.py +6 -14
- together/{utils → lib/utils}/_log.py +11 -16
- together/lib/utils/files.py +628 -0
- together/lib/utils/serializer.py +10 -0
- together/{utils → lib/utils}/tools.py +19 -55
- together/resources/__init__.py +225 -33
- together/resources/audio/__init__.py +72 -21
- together/resources/audio/audio.py +198 -0
- together/resources/audio/speech.py +574 -122
- together/resources/audio/transcriptions.py +282 -0
- together/resources/audio/translations.py +256 -0
- together/resources/audio/voices.py +135 -0
- 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 +598 -395
- together/resources/evals.py +452 -0
- together/resources/files.py +398 -121
- together/resources/fine_tuning.py +1033 -0
- together/resources/hardware.py +181 -0
- together/resources/images.py +256 -108
- together/resources/jobs.py +214 -0
- together/resources/models.py +238 -90
- together/resources/rerank.py +190 -92
- together/resources/videos.py +374 -0
- together/types/__init__.py +65 -109
- 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_job.py +57 -0
- together-2.0.0a8.dist-info/METADATA +680 -0
- together-2.0.0a8.dist-info/RECORD +164 -0
- {together-1.5.17.dist-info → together-2.0.0a8.dist-info}/WHEEL +1 -1
- together-2.0.0a8.dist-info/entry_points.txt +2 -0
- {together-1.5.17.dist-info → together-2.0.0a8.dist-info/licenses}/LICENSE +1 -1
- together/abstract/api_requestor.py +0 -729
- together/cli/api/chat.py +0 -276
- together/cli/api/completions.py +0 -119
- together/cli/api/images.py +0 -93
- together/cli/api/models.py +0 -55
- together/client.py +0 -176
- together/error.py +0 -194
- together/filemanager.py +0 -389
- 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 -136
- together/resources/code_interpreter.py +0 -82
- together/resources/finetune.py +0 -1064
- together/together_response.py +0 -50
- together/types/abstract.py +0 -26
- together/types/audio_speech.py +0 -110
- together/types/batch.py +0 -53
- together/types/chat_completions.py +0 -197
- together/types/code_interpreter.py +0 -57
- together/types/common.py +0 -66
- 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/files.py +0 -90
- together/types/finetune.py +0 -398
- together/types/images.py +0 -44
- together/types/models.py +0 -45
- together/types/rerank.py +0 -43
- together/utils/api_helpers.py +0 -124
- together/utils/files.py +0 -425
- together/version.py +0 -6
- together-1.5.17.dist-info/METADATA +0 -525
- together-1.5.17.dist-info/RECORD +0 -69
- together-1.5.17.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
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
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,
|
|
19
|
+
)
|
|
20
|
+
from ...types.audio import transcription_create_params
|
|
21
|
+
from ..._base_client import make_request_options
|
|
22
|
+
from ...types.audio.transcription_create_response import TranscriptionCreateResponse
|
|
23
|
+
|
|
24
|
+
__all__ = ["TranscriptionsResource", "AsyncTranscriptionsResource"]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class TranscriptionsResource(SyncAPIResource):
|
|
28
|
+
@cached_property
|
|
29
|
+
def with_raw_response(self) -> TranscriptionsResourceWithRawResponse:
|
|
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 TranscriptionsResourceWithRawResponse(self)
|
|
37
|
+
|
|
38
|
+
@cached_property
|
|
39
|
+
def with_streaming_response(self) -> TranscriptionsResourceWithStreamingResponse:
|
|
40
|
+
"""
|
|
41
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
42
|
+
|
|
43
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
44
|
+
"""
|
|
45
|
+
return TranscriptionsResourceWithStreamingResponse(self)
|
|
46
|
+
|
|
47
|
+
def create(
|
|
48
|
+
self,
|
|
49
|
+
*,
|
|
50
|
+
file: FileTypes,
|
|
51
|
+
diarize: bool | Omit = omit,
|
|
52
|
+
language: str | Omit = omit,
|
|
53
|
+
model: Literal["openai/whisper-large-v3"] | Omit = omit,
|
|
54
|
+
prompt: str | Omit = omit,
|
|
55
|
+
response_format: Literal["json", "verbose_json"] | Omit = omit,
|
|
56
|
+
temperature: float | Omit = omit,
|
|
57
|
+
timestamp_granularities: Union[Literal["segment", "word"], List[Literal["segment", "word"]]] | Omit = omit,
|
|
58
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
59
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
60
|
+
extra_headers: Headers | None = None,
|
|
61
|
+
extra_query: Query | None = None,
|
|
62
|
+
extra_body: Body | None = None,
|
|
63
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
64
|
+
) -> TranscriptionCreateResponse:
|
|
65
|
+
"""
|
|
66
|
+
Transcribes audio into text
|
|
67
|
+
|
|
68
|
+
Args:
|
|
69
|
+
file: Audio file to transcribe
|
|
70
|
+
|
|
71
|
+
diarize: Whether to enable speaker diarization. When enabled, you will get the speaker id
|
|
72
|
+
for each word in the transcription. In the response, in the words array, you
|
|
73
|
+
will get the speaker id for each word. In addition, we also return the
|
|
74
|
+
speaker_segments array which contains the speaker id for each speaker segment
|
|
75
|
+
along with the start and end time of the segment along with all the words in the
|
|
76
|
+
segment.
|
|
77
|
+
|
|
78
|
+
For eg - ... "speaker_segments": [ "speaker_id": "SPEAKER_00", "start": 0,
|
|
79
|
+
"end": 30.02, "words": [ { "id": 0, "word": "Tijana", "start": 0, "end": 11.475,
|
|
80
|
+
"speaker_id": "SPEAKER_00" }, ...
|
|
81
|
+
|
|
82
|
+
language: Optional ISO 639-1 language code. If `auto` is provided, language is
|
|
83
|
+
auto-detected.
|
|
84
|
+
|
|
85
|
+
model: Model to use for transcription
|
|
86
|
+
|
|
87
|
+
prompt: Optional text to bias decoding.
|
|
88
|
+
|
|
89
|
+
response_format: The format of the response
|
|
90
|
+
|
|
91
|
+
temperature: Sampling temperature between 0.0 and 1.0
|
|
92
|
+
|
|
93
|
+
timestamp_granularities: Controls level of timestamp detail in verbose_json. Only used when
|
|
94
|
+
response_format is verbose_json. Can be a single granularity or an array to get
|
|
95
|
+
multiple levels.
|
|
96
|
+
|
|
97
|
+
extra_headers: Send extra headers
|
|
98
|
+
|
|
99
|
+
extra_query: Add additional query parameters to the request
|
|
100
|
+
|
|
101
|
+
extra_body: Add additional JSON properties to the request
|
|
102
|
+
|
|
103
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
104
|
+
"""
|
|
105
|
+
body = deepcopy_minimal(
|
|
106
|
+
{
|
|
107
|
+
"file": file,
|
|
108
|
+
"diarize": diarize,
|
|
109
|
+
"language": language,
|
|
110
|
+
"model": model,
|
|
111
|
+
"prompt": prompt,
|
|
112
|
+
"response_format": response_format,
|
|
113
|
+
"temperature": temperature,
|
|
114
|
+
"timestamp_granularities": timestamp_granularities,
|
|
115
|
+
}
|
|
116
|
+
)
|
|
117
|
+
files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
|
|
118
|
+
# It should be noted that the actual Content-Type header that will be
|
|
119
|
+
# sent to the server will contain a `boundary` parameter, e.g.
|
|
120
|
+
# multipart/form-data; boundary=---abc--
|
|
121
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
122
|
+
return cast(
|
|
123
|
+
TranscriptionCreateResponse,
|
|
124
|
+
self._post(
|
|
125
|
+
"/audio/transcriptions",
|
|
126
|
+
body=maybe_transform(body, transcription_create_params.TranscriptionCreateParams),
|
|
127
|
+
files=files,
|
|
128
|
+
options=make_request_options(
|
|
129
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
130
|
+
),
|
|
131
|
+
cast_to=cast(
|
|
132
|
+
Any, TranscriptionCreateResponse
|
|
133
|
+
), # Union types cannot be passed in as arguments in the type system
|
|
134
|
+
),
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class AsyncTranscriptionsResource(AsyncAPIResource):
|
|
139
|
+
@cached_property
|
|
140
|
+
def with_raw_response(self) -> AsyncTranscriptionsResourceWithRawResponse:
|
|
141
|
+
"""
|
|
142
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
143
|
+
the raw response object instead of the parsed content.
|
|
144
|
+
|
|
145
|
+
For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
|
|
146
|
+
"""
|
|
147
|
+
return AsyncTranscriptionsResourceWithRawResponse(self)
|
|
148
|
+
|
|
149
|
+
@cached_property
|
|
150
|
+
def with_streaming_response(self) -> AsyncTranscriptionsResourceWithStreamingResponse:
|
|
151
|
+
"""
|
|
152
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
153
|
+
|
|
154
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
155
|
+
"""
|
|
156
|
+
return AsyncTranscriptionsResourceWithStreamingResponse(self)
|
|
157
|
+
|
|
158
|
+
async def create(
|
|
159
|
+
self,
|
|
160
|
+
*,
|
|
161
|
+
file: FileTypes,
|
|
162
|
+
diarize: bool | Omit = omit,
|
|
163
|
+
language: str | Omit = omit,
|
|
164
|
+
model: Literal["openai/whisper-large-v3"] | Omit = omit,
|
|
165
|
+
prompt: str | Omit = omit,
|
|
166
|
+
response_format: Literal["json", "verbose_json"] | Omit = omit,
|
|
167
|
+
temperature: float | Omit = omit,
|
|
168
|
+
timestamp_granularities: Union[Literal["segment", "word"], List[Literal["segment", "word"]]] | Omit = omit,
|
|
169
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
170
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
171
|
+
extra_headers: Headers | None = None,
|
|
172
|
+
extra_query: Query | None = None,
|
|
173
|
+
extra_body: Body | None = None,
|
|
174
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
175
|
+
) -> TranscriptionCreateResponse:
|
|
176
|
+
"""
|
|
177
|
+
Transcribes audio into text
|
|
178
|
+
|
|
179
|
+
Args:
|
|
180
|
+
file: Audio file to transcribe
|
|
181
|
+
|
|
182
|
+
diarize: Whether to enable speaker diarization. When enabled, you will get the speaker id
|
|
183
|
+
for each word in the transcription. In the response, in the words array, you
|
|
184
|
+
will get the speaker id for each word. In addition, we also return the
|
|
185
|
+
speaker_segments array which contains the speaker id for each speaker segment
|
|
186
|
+
along with the start and end time of the segment along with all the words in the
|
|
187
|
+
segment.
|
|
188
|
+
|
|
189
|
+
For eg - ... "speaker_segments": [ "speaker_id": "SPEAKER_00", "start": 0,
|
|
190
|
+
"end": 30.02, "words": [ { "id": 0, "word": "Tijana", "start": 0, "end": 11.475,
|
|
191
|
+
"speaker_id": "SPEAKER_00" }, ...
|
|
192
|
+
|
|
193
|
+
language: Optional ISO 639-1 language code. If `auto` is provided, language is
|
|
194
|
+
auto-detected.
|
|
195
|
+
|
|
196
|
+
model: Model to use for transcription
|
|
197
|
+
|
|
198
|
+
prompt: Optional text to bias decoding.
|
|
199
|
+
|
|
200
|
+
response_format: The format of the response
|
|
201
|
+
|
|
202
|
+
temperature: Sampling temperature between 0.0 and 1.0
|
|
203
|
+
|
|
204
|
+
timestamp_granularities: Controls level of timestamp detail in verbose_json. Only used when
|
|
205
|
+
response_format is verbose_json. Can be a single granularity or an array to get
|
|
206
|
+
multiple levels.
|
|
207
|
+
|
|
208
|
+
extra_headers: Send extra headers
|
|
209
|
+
|
|
210
|
+
extra_query: Add additional query parameters to the request
|
|
211
|
+
|
|
212
|
+
extra_body: Add additional JSON properties to the request
|
|
213
|
+
|
|
214
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
215
|
+
"""
|
|
216
|
+
body = deepcopy_minimal(
|
|
217
|
+
{
|
|
218
|
+
"file": file,
|
|
219
|
+
"diarize": diarize,
|
|
220
|
+
"language": language,
|
|
221
|
+
"model": model,
|
|
222
|
+
"prompt": prompt,
|
|
223
|
+
"response_format": response_format,
|
|
224
|
+
"temperature": temperature,
|
|
225
|
+
"timestamp_granularities": timestamp_granularities,
|
|
226
|
+
}
|
|
227
|
+
)
|
|
228
|
+
files = extract_files(cast(Mapping[str, object], body), paths=[["file"]])
|
|
229
|
+
# It should be noted that the actual Content-Type header that will be
|
|
230
|
+
# sent to the server will contain a `boundary` parameter, e.g.
|
|
231
|
+
# multipart/form-data; boundary=---abc--
|
|
232
|
+
extra_headers = {"Content-Type": "multipart/form-data", **(extra_headers or {})}
|
|
233
|
+
return cast(
|
|
234
|
+
TranscriptionCreateResponse,
|
|
235
|
+
await self._post(
|
|
236
|
+
"/audio/transcriptions",
|
|
237
|
+
body=await async_maybe_transform(body, transcription_create_params.TranscriptionCreateParams),
|
|
238
|
+
files=files,
|
|
239
|
+
options=make_request_options(
|
|
240
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
241
|
+
),
|
|
242
|
+
cast_to=cast(
|
|
243
|
+
Any, TranscriptionCreateResponse
|
|
244
|
+
), # Union types cannot be passed in as arguments in the type system
|
|
245
|
+
),
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
class TranscriptionsResourceWithRawResponse:
|
|
250
|
+
def __init__(self, transcriptions: TranscriptionsResource) -> None:
|
|
251
|
+
self._transcriptions = transcriptions
|
|
252
|
+
|
|
253
|
+
self.create = to_raw_response_wrapper(
|
|
254
|
+
transcriptions.create,
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
class AsyncTranscriptionsResourceWithRawResponse:
|
|
259
|
+
def __init__(self, transcriptions: AsyncTranscriptionsResource) -> None:
|
|
260
|
+
self._transcriptions = transcriptions
|
|
261
|
+
|
|
262
|
+
self.create = async_to_raw_response_wrapper(
|
|
263
|
+
transcriptions.create,
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
class TranscriptionsResourceWithStreamingResponse:
|
|
268
|
+
def __init__(self, transcriptions: TranscriptionsResource) -> None:
|
|
269
|
+
self._transcriptions = transcriptions
|
|
270
|
+
|
|
271
|
+
self.create = to_streamed_response_wrapper(
|
|
272
|
+
transcriptions.create,
|
|
273
|
+
)
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
class AsyncTranscriptionsResourceWithStreamingResponse:
|
|
277
|
+
def __init__(self, transcriptions: AsyncTranscriptionsResource) -> None:
|
|
278
|
+
self._transcriptions = transcriptions
|
|
279
|
+
|
|
280
|
+
self.create = async_to_streamed_response_wrapper(
|
|
281
|
+
transcriptions.create,
|
|
282
|
+
)
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
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,
|
|
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)
|
|
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.
|
|
42
|
+
|
|
43
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
44
|
+
"""
|
|
45
|
+
return TranslationsResourceWithStreamingResponse(self)
|
|
46
|
+
|
|
47
|
+
def create(
|
|
48
|
+
self,
|
|
49
|
+
*,
|
|
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:
|
|
64
|
+
"""
|
|
65
|
+
Translates audio into English
|
|
66
|
+
|
|
67
|
+
Args:
|
|
68
|
+
file: Audio file to translate
|
|
69
|
+
|
|
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
|
|
78
|
+
|
|
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(
|
|
94
|
+
{
|
|
95
|
+
"file": file,
|
|
96
|
+
"language": language,
|
|
97
|
+
"model": model,
|
|
98
|
+
"prompt": prompt,
|
|
99
|
+
"response_format": response_format,
|
|
100
|
+
"temperature": temperature,
|
|
101
|
+
"timestamp_granularities": timestamp_granularities,
|
|
102
|
+
}
|
|
103
|
+
)
|
|
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
|
|
117
|
+
),
|
|
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)
|
|
144
|
+
|
|
145
|
+
async def create(
|
|
146
|
+
self,
|
|
147
|
+
*,
|
|
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:
|
|
162
|
+
"""
|
|
163
|
+
Translates audio into English
|
|
164
|
+
|
|
165
|
+
Args:
|
|
166
|
+
file: Audio file to translate
|
|
167
|
+
|
|
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
|
|
178
|
+
|
|
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(
|
|
192
|
+
{
|
|
193
|
+
"file": file,
|
|
194
|
+
"language": language,
|
|
195
|
+
"model": model,
|
|
196
|
+
"prompt": prompt,
|
|
197
|
+
"response_format": response_format,
|
|
198
|
+
"temperature": temperature,
|
|
199
|
+
"timestamp_granularities": timestamp_granularities,
|
|
200
|
+
}
|
|
201
|
+
)
|
|
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
|
|
215
|
+
),
|
|
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
|
+
)
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
from ..._types import Body, Query, Headers, NotGiven, not_given
|
|
8
|
+
from ..._compat import cached_property
|
|
9
|
+
from ..._resource import SyncAPIResource, AsyncAPIResource
|
|
10
|
+
from ..._response import (
|
|
11
|
+
to_raw_response_wrapper,
|
|
12
|
+
to_streamed_response_wrapper,
|
|
13
|
+
async_to_raw_response_wrapper,
|
|
14
|
+
async_to_streamed_response_wrapper,
|
|
15
|
+
)
|
|
16
|
+
from ..._base_client import make_request_options
|
|
17
|
+
from ...types.audio.voice_list_response import VoiceListResponse
|
|
18
|
+
|
|
19
|
+
__all__ = ["VoicesResource", "AsyncVoicesResource"]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class VoicesResource(SyncAPIResource):
|
|
23
|
+
@cached_property
|
|
24
|
+
def with_raw_response(self) -> VoicesResourceWithRawResponse:
|
|
25
|
+
"""
|
|
26
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
27
|
+
the raw response object instead of the parsed content.
|
|
28
|
+
|
|
29
|
+
For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
|
|
30
|
+
"""
|
|
31
|
+
return VoicesResourceWithRawResponse(self)
|
|
32
|
+
|
|
33
|
+
@cached_property
|
|
34
|
+
def with_streaming_response(self) -> VoicesResourceWithStreamingResponse:
|
|
35
|
+
"""
|
|
36
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
37
|
+
|
|
38
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
39
|
+
"""
|
|
40
|
+
return VoicesResourceWithStreamingResponse(self)
|
|
41
|
+
|
|
42
|
+
def list(
|
|
43
|
+
self,
|
|
44
|
+
*,
|
|
45
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
46
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
47
|
+
extra_headers: Headers | None = None,
|
|
48
|
+
extra_query: Query | None = None,
|
|
49
|
+
extra_body: Body | None = None,
|
|
50
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
51
|
+
) -> VoiceListResponse:
|
|
52
|
+
"""Fetch available voices for each model"""
|
|
53
|
+
return self._get(
|
|
54
|
+
"/voices",
|
|
55
|
+
options=make_request_options(
|
|
56
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
57
|
+
),
|
|
58
|
+
cast_to=VoiceListResponse,
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class AsyncVoicesResource(AsyncAPIResource):
|
|
63
|
+
@cached_property
|
|
64
|
+
def with_raw_response(self) -> AsyncVoicesResourceWithRawResponse:
|
|
65
|
+
"""
|
|
66
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
67
|
+
the raw response object instead of the parsed content.
|
|
68
|
+
|
|
69
|
+
For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
|
|
70
|
+
"""
|
|
71
|
+
return AsyncVoicesResourceWithRawResponse(self)
|
|
72
|
+
|
|
73
|
+
@cached_property
|
|
74
|
+
def with_streaming_response(self) -> AsyncVoicesResourceWithStreamingResponse:
|
|
75
|
+
"""
|
|
76
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
77
|
+
|
|
78
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
79
|
+
"""
|
|
80
|
+
return AsyncVoicesResourceWithStreamingResponse(self)
|
|
81
|
+
|
|
82
|
+
async def list(
|
|
83
|
+
self,
|
|
84
|
+
*,
|
|
85
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
86
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
87
|
+
extra_headers: Headers | None = None,
|
|
88
|
+
extra_query: Query | None = None,
|
|
89
|
+
extra_body: Body | None = None,
|
|
90
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
91
|
+
) -> VoiceListResponse:
|
|
92
|
+
"""Fetch available voices for each model"""
|
|
93
|
+
return await self._get(
|
|
94
|
+
"/voices",
|
|
95
|
+
options=make_request_options(
|
|
96
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
97
|
+
),
|
|
98
|
+
cast_to=VoiceListResponse,
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
class VoicesResourceWithRawResponse:
|
|
103
|
+
def __init__(self, voices: VoicesResource) -> None:
|
|
104
|
+
self._voices = voices
|
|
105
|
+
|
|
106
|
+
self.list = to_raw_response_wrapper(
|
|
107
|
+
voices.list,
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
class AsyncVoicesResourceWithRawResponse:
|
|
112
|
+
def __init__(self, voices: AsyncVoicesResource) -> None:
|
|
113
|
+
self._voices = voices
|
|
114
|
+
|
|
115
|
+
self.list = async_to_raw_response_wrapper(
|
|
116
|
+
voices.list,
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
class VoicesResourceWithStreamingResponse:
|
|
121
|
+
def __init__(self, voices: VoicesResource) -> None:
|
|
122
|
+
self._voices = voices
|
|
123
|
+
|
|
124
|
+
self.list = to_streamed_response_wrapper(
|
|
125
|
+
voices.list,
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class AsyncVoicesResourceWithStreamingResponse:
|
|
130
|
+
def __init__(self, voices: AsyncVoicesResource) -> None:
|
|
131
|
+
self._voices = voices
|
|
132
|
+
|
|
133
|
+
self.list = async_to_streamed_response_wrapper(
|
|
134
|
+
voices.list,
|
|
135
|
+
)
|