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,214 @@
|
|
|
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.job_list_response import JobListResponse
|
|
18
|
+
from ..types.job_retrieve_response import JobRetrieveResponse
|
|
19
|
+
|
|
20
|
+
__all__ = ["JobsResource", "AsyncJobsResource"]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class JobsResource(SyncAPIResource):
|
|
24
|
+
@cached_property
|
|
25
|
+
def with_raw_response(self) -> JobsResourceWithRawResponse:
|
|
26
|
+
"""
|
|
27
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
28
|
+
the raw response object instead of the parsed content.
|
|
29
|
+
|
|
30
|
+
For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
|
|
31
|
+
"""
|
|
32
|
+
return JobsResourceWithRawResponse(self)
|
|
33
|
+
|
|
34
|
+
@cached_property
|
|
35
|
+
def with_streaming_response(self) -> JobsResourceWithStreamingResponse:
|
|
36
|
+
"""
|
|
37
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
38
|
+
|
|
39
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
40
|
+
"""
|
|
41
|
+
return JobsResourceWithStreamingResponse(self)
|
|
42
|
+
|
|
43
|
+
def retrieve(
|
|
44
|
+
self,
|
|
45
|
+
job_id: str,
|
|
46
|
+
*,
|
|
47
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
48
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
49
|
+
extra_headers: Headers | None = None,
|
|
50
|
+
extra_query: Query | None = None,
|
|
51
|
+
extra_body: Body | None = None,
|
|
52
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
53
|
+
) -> JobRetrieveResponse:
|
|
54
|
+
"""
|
|
55
|
+
Get the status of a specific job
|
|
56
|
+
|
|
57
|
+
Args:
|
|
58
|
+
extra_headers: Send extra headers
|
|
59
|
+
|
|
60
|
+
extra_query: Add additional query parameters to the request
|
|
61
|
+
|
|
62
|
+
extra_body: Add additional JSON properties to the request
|
|
63
|
+
|
|
64
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
65
|
+
"""
|
|
66
|
+
if not job_id:
|
|
67
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
68
|
+
return self._get(
|
|
69
|
+
f"/jobs/{job_id}",
|
|
70
|
+
options=make_request_options(
|
|
71
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
72
|
+
),
|
|
73
|
+
cast_to=JobRetrieveResponse,
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
def list(
|
|
77
|
+
self,
|
|
78
|
+
*,
|
|
79
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
80
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
81
|
+
extra_headers: Headers | None = None,
|
|
82
|
+
extra_query: Query | None = None,
|
|
83
|
+
extra_body: Body | None = None,
|
|
84
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
85
|
+
) -> JobListResponse:
|
|
86
|
+
"""List all jobs and their statuses"""
|
|
87
|
+
return self._get(
|
|
88
|
+
"/jobs",
|
|
89
|
+
options=make_request_options(
|
|
90
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
91
|
+
),
|
|
92
|
+
cast_to=JobListResponse,
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class AsyncJobsResource(AsyncAPIResource):
|
|
97
|
+
@cached_property
|
|
98
|
+
def with_raw_response(self) -> AsyncJobsResourceWithRawResponse:
|
|
99
|
+
"""
|
|
100
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
101
|
+
the raw response object instead of the parsed content.
|
|
102
|
+
|
|
103
|
+
For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
|
|
104
|
+
"""
|
|
105
|
+
return AsyncJobsResourceWithRawResponse(self)
|
|
106
|
+
|
|
107
|
+
@cached_property
|
|
108
|
+
def with_streaming_response(self) -> AsyncJobsResourceWithStreamingResponse:
|
|
109
|
+
"""
|
|
110
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
111
|
+
|
|
112
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
113
|
+
"""
|
|
114
|
+
return AsyncJobsResourceWithStreamingResponse(self)
|
|
115
|
+
|
|
116
|
+
async def retrieve(
|
|
117
|
+
self,
|
|
118
|
+
job_id: str,
|
|
119
|
+
*,
|
|
120
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
121
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
122
|
+
extra_headers: Headers | None = None,
|
|
123
|
+
extra_query: Query | None = None,
|
|
124
|
+
extra_body: Body | None = None,
|
|
125
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
126
|
+
) -> JobRetrieveResponse:
|
|
127
|
+
"""
|
|
128
|
+
Get the status of a specific job
|
|
129
|
+
|
|
130
|
+
Args:
|
|
131
|
+
extra_headers: Send extra headers
|
|
132
|
+
|
|
133
|
+
extra_query: Add additional query parameters to the request
|
|
134
|
+
|
|
135
|
+
extra_body: Add additional JSON properties to the request
|
|
136
|
+
|
|
137
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
138
|
+
"""
|
|
139
|
+
if not job_id:
|
|
140
|
+
raise ValueError(f"Expected a non-empty value for `job_id` but received {job_id!r}")
|
|
141
|
+
return await self._get(
|
|
142
|
+
f"/jobs/{job_id}",
|
|
143
|
+
options=make_request_options(
|
|
144
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
145
|
+
),
|
|
146
|
+
cast_to=JobRetrieveResponse,
|
|
147
|
+
)
|
|
148
|
+
|
|
149
|
+
async def list(
|
|
150
|
+
self,
|
|
151
|
+
*,
|
|
152
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
153
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
154
|
+
extra_headers: Headers | None = None,
|
|
155
|
+
extra_query: Query | None = None,
|
|
156
|
+
extra_body: Body | None = None,
|
|
157
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
158
|
+
) -> JobListResponse:
|
|
159
|
+
"""List all jobs and their statuses"""
|
|
160
|
+
return await self._get(
|
|
161
|
+
"/jobs",
|
|
162
|
+
options=make_request_options(
|
|
163
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
164
|
+
),
|
|
165
|
+
cast_to=JobListResponse,
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
class JobsResourceWithRawResponse:
|
|
170
|
+
def __init__(self, jobs: JobsResource) -> None:
|
|
171
|
+
self._jobs = jobs
|
|
172
|
+
|
|
173
|
+
self.retrieve = to_raw_response_wrapper(
|
|
174
|
+
jobs.retrieve,
|
|
175
|
+
)
|
|
176
|
+
self.list = to_raw_response_wrapper(
|
|
177
|
+
jobs.list,
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
class AsyncJobsResourceWithRawResponse:
|
|
182
|
+
def __init__(self, jobs: AsyncJobsResource) -> None:
|
|
183
|
+
self._jobs = jobs
|
|
184
|
+
|
|
185
|
+
self.retrieve = async_to_raw_response_wrapper(
|
|
186
|
+
jobs.retrieve,
|
|
187
|
+
)
|
|
188
|
+
self.list = async_to_raw_response_wrapper(
|
|
189
|
+
jobs.list,
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
class JobsResourceWithStreamingResponse:
|
|
194
|
+
def __init__(self, jobs: JobsResource) -> None:
|
|
195
|
+
self._jobs = jobs
|
|
196
|
+
|
|
197
|
+
self.retrieve = to_streamed_response_wrapper(
|
|
198
|
+
jobs.retrieve,
|
|
199
|
+
)
|
|
200
|
+
self.list = to_streamed_response_wrapper(
|
|
201
|
+
jobs.list,
|
|
202
|
+
)
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
class AsyncJobsResourceWithStreamingResponse:
|
|
206
|
+
def __init__(self, jobs: AsyncJobsResource) -> None:
|
|
207
|
+
self._jobs = jobs
|
|
208
|
+
|
|
209
|
+
self.retrieve = async_to_streamed_response_wrapper(
|
|
210
|
+
jobs.retrieve,
|
|
211
|
+
)
|
|
212
|
+
self.list = async_to_streamed_response_wrapper(
|
|
213
|
+
jobs.list,
|
|
214
|
+
)
|
together/resources/models.py
CHANGED
|
@@ -1,134 +1,282 @@
|
|
|
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
|
|
5
|
+
from typing_extensions import Literal
|
|
6
|
+
|
|
7
|
+
import httpx
|
|
4
8
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
7
|
-
from
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
from ..types import model_upload_params
|
|
10
|
+
from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
|
|
11
|
+
from .._utils import maybe_transform, 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,
|
|
11
19
|
)
|
|
20
|
+
from .._base_client import make_request_options
|
|
21
|
+
from ..types.model_list_response import ModelListResponse
|
|
22
|
+
from ..types.model_upload_response import ModelUploadResponse
|
|
12
23
|
|
|
24
|
+
__all__ = ["ModelsResource", "AsyncModelsResource"]
|
|
13
25
|
|
|
14
|
-
class ModelsBase:
|
|
15
|
-
def __init__(self, client: TogetherClient) -> None:
|
|
16
|
-
self._client = client
|
|
17
26
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
) ->
|
|
27
|
+
class ModelsResource(SyncAPIResource):
|
|
28
|
+
@cached_property
|
|
29
|
+
def with_raw_response(self) -> ModelsResourceWithRawResponse:
|
|
21
30
|
"""
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
Args:
|
|
25
|
-
models (List[ModelObject]): List of all models
|
|
26
|
-
dedicated_response (TogetherResponse): Response from autoscale models endpoint
|
|
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.
|
|
27
33
|
|
|
28
|
-
|
|
29
|
-
List[ModelObject]: Filtered list of models
|
|
34
|
+
For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
|
|
30
35
|
"""
|
|
31
|
-
|
|
36
|
+
return ModelsResourceWithRawResponse(self)
|
|
32
37
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
# Note: The model.id from ModelObject matches the name field in the autoscale response
|
|
38
|
-
return [model for model in models if model.id in dedicated_model_names]
|
|
38
|
+
@cached_property
|
|
39
|
+
def with_streaming_response(self) -> ModelsResourceWithStreamingResponse:
|
|
40
|
+
"""
|
|
41
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
39
42
|
|
|
43
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
44
|
+
"""
|
|
45
|
+
return ModelsResourceWithStreamingResponse(self)
|
|
40
46
|
|
|
41
|
-
class Models(ModelsBase):
|
|
42
47
|
def list(
|
|
43
48
|
self,
|
|
44
|
-
|
|
45
|
-
|
|
49
|
+
*,
|
|
50
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
51
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
52
|
+
extra_headers: Headers | None = None,
|
|
53
|
+
extra_query: Query | None = None,
|
|
54
|
+
extra_body: Body | None = None,
|
|
55
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
56
|
+
) -> ModelListResponse:
|
|
57
|
+
"""Lists all of Together's open-source models"""
|
|
58
|
+
return self._get(
|
|
59
|
+
"/models",
|
|
60
|
+
options=make_request_options(
|
|
61
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
62
|
+
),
|
|
63
|
+
cast_to=ModelListResponse,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
def upload(
|
|
67
|
+
self,
|
|
68
|
+
*,
|
|
69
|
+
model_name: str,
|
|
70
|
+
model_source: str,
|
|
71
|
+
base_model: str | Omit = omit,
|
|
72
|
+
description: str | Omit = omit,
|
|
73
|
+
hf_token: str | Omit = omit,
|
|
74
|
+
lora_model: str | Omit = omit,
|
|
75
|
+
model_type: Literal["model", "adapter"] | Omit = omit,
|
|
76
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
77
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
78
|
+
extra_headers: Headers | None = None,
|
|
79
|
+
extra_query: Query | None = None,
|
|
80
|
+
extra_body: Body | None = None,
|
|
81
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
82
|
+
) -> ModelUploadResponse:
|
|
46
83
|
"""
|
|
47
|
-
|
|
84
|
+
Upload a custom model or adapter from Hugging Face or S3
|
|
48
85
|
|
|
49
86
|
Args:
|
|
50
|
-
|
|
87
|
+
model_name: The name to give to your uploaded model
|
|
51
88
|
|
|
52
|
-
|
|
53
|
-
List[ModelObject]: List of model objects
|
|
54
|
-
"""
|
|
55
|
-
requestor = api_requestor.APIRequestor(
|
|
56
|
-
client=self._client,
|
|
57
|
-
)
|
|
89
|
+
model_source: The source location of the model (Hugging Face repo or S3 path)
|
|
58
90
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
method="GET",
|
|
62
|
-
url="models",
|
|
63
|
-
),
|
|
64
|
-
stream=False,
|
|
65
|
-
)
|
|
91
|
+
base_model: The base model to use for an adapter if setting it to run against a serverless
|
|
92
|
+
pool. Only used for model_type `adapter`.
|
|
66
93
|
|
|
67
|
-
|
|
68
|
-
assert isinstance(response.data, list)
|
|
94
|
+
description: A description of your model
|
|
69
95
|
|
|
70
|
-
|
|
96
|
+
hf_token: Hugging Face token (if uploading from Hugging Face)
|
|
71
97
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
dedicated_response, _, _ = requestor.request(
|
|
75
|
-
options=TogetherRequest(
|
|
76
|
-
method="GET",
|
|
77
|
-
url="autoscale/models",
|
|
78
|
-
),
|
|
79
|
-
stream=False,
|
|
80
|
-
)
|
|
98
|
+
lora_model: The lora pool to use for an adapter if setting it to run against, say, a
|
|
99
|
+
dedicated pool. Only used for model_type `adapter`.
|
|
81
100
|
|
|
82
|
-
|
|
101
|
+
model_type: Whether the model is a full model or an adapter
|
|
83
102
|
|
|
84
|
-
|
|
103
|
+
extra_headers: Send extra headers
|
|
85
104
|
|
|
86
|
-
|
|
105
|
+
extra_query: Add additional query parameters to the request
|
|
87
106
|
|
|
107
|
+
extra_body: Add additional JSON properties to the request
|
|
108
|
+
|
|
109
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
110
|
+
"""
|
|
111
|
+
return self._post(
|
|
112
|
+
"/models",
|
|
113
|
+
body=maybe_transform(
|
|
114
|
+
{
|
|
115
|
+
"model_name": model_name,
|
|
116
|
+
"model_source": model_source,
|
|
117
|
+
"base_model": base_model,
|
|
118
|
+
"description": description,
|
|
119
|
+
"hf_token": hf_token,
|
|
120
|
+
"lora_model": lora_model,
|
|
121
|
+
"model_type": model_type,
|
|
122
|
+
},
|
|
123
|
+
model_upload_params.ModelUploadParams,
|
|
124
|
+
),
|
|
125
|
+
options=make_request_options(
|
|
126
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
127
|
+
),
|
|
128
|
+
cast_to=ModelUploadResponse,
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
class AsyncModelsResource(AsyncAPIResource):
|
|
133
|
+
@cached_property
|
|
134
|
+
def with_raw_response(self) -> AsyncModelsResourceWithRawResponse:
|
|
135
|
+
"""
|
|
136
|
+
This property can be used as a prefix for any HTTP method call to return
|
|
137
|
+
the raw response object instead of the parsed content.
|
|
138
|
+
|
|
139
|
+
For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
|
|
140
|
+
"""
|
|
141
|
+
return AsyncModelsResourceWithRawResponse(self)
|
|
142
|
+
|
|
143
|
+
@cached_property
|
|
144
|
+
def with_streaming_response(self) -> AsyncModelsResourceWithStreamingResponse:
|
|
145
|
+
"""
|
|
146
|
+
An alternative to `.with_raw_response` that doesn't eagerly read the response body.
|
|
147
|
+
|
|
148
|
+
For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
|
|
149
|
+
"""
|
|
150
|
+
return AsyncModelsResourceWithStreamingResponse(self)
|
|
88
151
|
|
|
89
|
-
class AsyncModels(ModelsBase):
|
|
90
152
|
async def list(
|
|
91
153
|
self,
|
|
92
|
-
|
|
93
|
-
|
|
154
|
+
*,
|
|
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
|
+
) -> ModelListResponse:
|
|
162
|
+
"""Lists all of Together's open-source models"""
|
|
163
|
+
return await self._get(
|
|
164
|
+
"/models",
|
|
165
|
+
options=make_request_options(
|
|
166
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
167
|
+
),
|
|
168
|
+
cast_to=ModelListResponse,
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
async def upload(
|
|
172
|
+
self,
|
|
173
|
+
*,
|
|
174
|
+
model_name: str,
|
|
175
|
+
model_source: str,
|
|
176
|
+
base_model: str | Omit = omit,
|
|
177
|
+
description: str | Omit = omit,
|
|
178
|
+
hf_token: str | Omit = omit,
|
|
179
|
+
lora_model: str | Omit = omit,
|
|
180
|
+
model_type: Literal["model", "adapter"] | Omit = omit,
|
|
181
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
182
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
183
|
+
extra_headers: Headers | None = None,
|
|
184
|
+
extra_query: Query | None = None,
|
|
185
|
+
extra_body: Body | None = None,
|
|
186
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
187
|
+
) -> ModelUploadResponse:
|
|
94
188
|
"""
|
|
95
|
-
|
|
189
|
+
Upload a custom model or adapter from Hugging Face or S3
|
|
96
190
|
|
|
97
191
|
Args:
|
|
98
|
-
|
|
192
|
+
model_name: The name to give to your uploaded model
|
|
193
|
+
|
|
194
|
+
model_source: The source location of the model (Hugging Face repo or S3 path)
|
|
195
|
+
|
|
196
|
+
base_model: The base model to use for an adapter if setting it to run against a serverless
|
|
197
|
+
pool. Only used for model_type `adapter`.
|
|
198
|
+
|
|
199
|
+
description: A description of your model
|
|
99
200
|
|
|
100
|
-
|
|
101
|
-
|
|
201
|
+
hf_token: Hugging Face token (if uploading from Hugging Face)
|
|
202
|
+
|
|
203
|
+
lora_model: The lora pool to use for an adapter if setting it to run against, say, a
|
|
204
|
+
dedicated pool. Only used for model_type `adapter`.
|
|
205
|
+
|
|
206
|
+
model_type: Whether the model is a full model or an adapter
|
|
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
|
|
102
215
|
"""
|
|
103
|
-
|
|
104
|
-
|
|
216
|
+
return await self._post(
|
|
217
|
+
"/models",
|
|
218
|
+
body=await async_maybe_transform(
|
|
219
|
+
{
|
|
220
|
+
"model_name": model_name,
|
|
221
|
+
"model_source": model_source,
|
|
222
|
+
"base_model": base_model,
|
|
223
|
+
"description": description,
|
|
224
|
+
"hf_token": hf_token,
|
|
225
|
+
"lora_model": lora_model,
|
|
226
|
+
"model_type": model_type,
|
|
227
|
+
},
|
|
228
|
+
model_upload_params.ModelUploadParams,
|
|
229
|
+
),
|
|
230
|
+
options=make_request_options(
|
|
231
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
232
|
+
),
|
|
233
|
+
cast_to=ModelUploadResponse,
|
|
105
234
|
)
|
|
106
235
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
236
|
+
|
|
237
|
+
class ModelsResourceWithRawResponse:
|
|
238
|
+
def __init__(self, models: ModelsResource) -> None:
|
|
239
|
+
self._models = models
|
|
240
|
+
|
|
241
|
+
self.list = to_raw_response_wrapper(
|
|
242
|
+
models.list,
|
|
243
|
+
)
|
|
244
|
+
self.upload = to_raw_response_wrapper(
|
|
245
|
+
models.upload,
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
class AsyncModelsResourceWithRawResponse:
|
|
250
|
+
def __init__(self, models: AsyncModelsResource) -> None:
|
|
251
|
+
self._models = models
|
|
252
|
+
|
|
253
|
+
self.list = async_to_raw_response_wrapper(
|
|
254
|
+
models.list,
|
|
255
|
+
)
|
|
256
|
+
self.upload = async_to_raw_response_wrapper(
|
|
257
|
+
models.upload,
|
|
113
258
|
)
|
|
114
259
|
|
|
115
|
-
assert isinstance(response, TogetherResponse)
|
|
116
|
-
assert isinstance(response.data, list)
|
|
117
260
|
|
|
118
|
-
|
|
261
|
+
class ModelsResourceWithStreamingResponse:
|
|
262
|
+
def __init__(self, models: ModelsResource) -> None:
|
|
263
|
+
self._models = models
|
|
119
264
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
),
|
|
127
|
-
stream=False,
|
|
128
|
-
)
|
|
265
|
+
self.list = to_streamed_response_wrapper(
|
|
266
|
+
models.list,
|
|
267
|
+
)
|
|
268
|
+
self.upload = to_streamed_response_wrapper(
|
|
269
|
+
models.upload,
|
|
270
|
+
)
|
|
129
271
|
|
|
130
|
-
models = self._filter_dedicated_models(models, dedicated_response)
|
|
131
272
|
|
|
132
|
-
|
|
273
|
+
class AsyncModelsResourceWithStreamingResponse:
|
|
274
|
+
def __init__(self, models: AsyncModelsResource) -> None:
|
|
275
|
+
self._models = models
|
|
133
276
|
|
|
134
|
-
|
|
277
|
+
self.list = async_to_streamed_response_wrapper(
|
|
278
|
+
models.list,
|
|
279
|
+
)
|
|
280
|
+
self.upload = async_to_streamed_response_wrapper(
|
|
281
|
+
models.upload,
|
|
282
|
+
)
|