together 2.0.0a8__py3-none-any.whl → 2.0.0a10__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/_streaming.py +50 -48
- together/_types.py +3 -2
- together/_utils/_utils.py +1 -1
- together/_version.py +1 -1
- together/lib/cli/api/fine_tuning.py +65 -3
- together/lib/cli/api/models.py +1 -6
- together/lib/resources/fine_tuning.py +41 -2
- together/resources/audio/transcriptions.py +20 -0
- together/resources/chat/completions.py +48 -0
- together/resources/fine_tuning.py +213 -5
- together/resources/images.py +13 -1
- together/resources/models.py +41 -5
- together/types/__init__.py +3 -0
- together/types/audio/transcription_create_params.py +14 -0
- together/types/audio/voice_list_response.py +4 -0
- together/types/autoscaling.py +2 -0
- together/types/autoscaling_param.py +2 -0
- together/types/chat/completion_create_params.py +78 -5
- together/types/dedicated_endpoint.py +2 -0
- together/types/endpoint_list_avzones_response.py +2 -0
- together/types/endpoint_list_response.py +2 -0
- together/types/execute_response.py +7 -0
- together/types/fine_tuning_cancel_response.py +6 -0
- together/types/fine_tuning_estimate_price_params.py +98 -0
- together/types/fine_tuning_estimate_price_response.py +24 -0
- together/types/fine_tuning_list_response.py +6 -0
- together/types/hardware_list_response.py +8 -0
- together/types/image_generate_params.py +9 -0
- together/types/model_list_params.py +12 -0
- together/types/video_job.py +8 -0
- {together-2.0.0a8.dist-info → together-2.0.0a10.dist-info}/METADATA +11 -12
- {together-2.0.0a8.dist-info → together-2.0.0a10.dist-info}/RECORD +35 -33
- together/lib/resources/models.py +0 -35
- {together-2.0.0a8.dist-info → together-2.0.0a10.dist-info}/WHEEL +0 -0
- {together-2.0.0a8.dist-info → together-2.0.0a10.dist-info}/entry_points.txt +0 -0
- {together-2.0.0a8.dist-info → together-2.0.0a10.dist-info}/licenses/LICENSE +0 -0
|
@@ -22,12 +22,19 @@ __all__ = [
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
class SuccessfulExecutionDataOutputStreamOutput(BaseModel):
|
|
25
|
+
"""Outputs that were printed to stdout or stderr"""
|
|
26
|
+
|
|
25
27
|
data: str
|
|
26
28
|
|
|
27
29
|
type: Literal["stdout", "stderr"]
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
class SuccessfulExecutionDataOutputError(BaseModel):
|
|
33
|
+
"""Errors and exceptions that occurred.
|
|
34
|
+
|
|
35
|
+
If this output type is present, your code did not execute successfully.
|
|
36
|
+
"""
|
|
37
|
+
|
|
31
38
|
data: str
|
|
32
39
|
|
|
33
40
|
type: Literal["error"]
|
|
@@ -43,6 +43,8 @@ LrSchedulerLrSchedulerArgs: TypeAlias = Union[
|
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
class LrScheduler(BaseModel):
|
|
46
|
+
"""Learning rate scheduler configuration"""
|
|
47
|
+
|
|
46
48
|
lr_scheduler_type: Literal["linear", "cosine"]
|
|
47
49
|
|
|
48
50
|
lr_scheduler_args: Optional[LrSchedulerLrSchedulerArgs] = None
|
|
@@ -95,6 +97,10 @@ TrainingType: TypeAlias = Union[TrainingTypeFullTrainingType, TrainingTypeLoRaTr
|
|
|
95
97
|
|
|
96
98
|
|
|
97
99
|
class FineTuningCancelResponse(BaseModel):
|
|
100
|
+
"""
|
|
101
|
+
A truncated version of the fine-tune response, used for POST /fine-tunes, GET /fine-tunes and POST /fine-tunes/{id}/cancel endpoints
|
|
102
|
+
"""
|
|
103
|
+
|
|
98
104
|
id: str
|
|
99
105
|
"""Unique identifier for the fine-tune job"""
|
|
100
106
|
|
|
@@ -0,0 +1,98 @@
|
|
|
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 Union
|
|
6
|
+
from typing_extensions import Literal, Required, TypeAlias, TypedDict
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
"FineTuningEstimatePriceParams",
|
|
10
|
+
"TrainingMethod",
|
|
11
|
+
"TrainingMethodTrainingMethodSft",
|
|
12
|
+
"TrainingMethodTrainingMethodDpo",
|
|
13
|
+
"TrainingType",
|
|
14
|
+
"TrainingTypeFullTrainingType",
|
|
15
|
+
"TrainingTypeLoRaTrainingType",
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class FineTuningEstimatePriceParams(TypedDict, total=False):
|
|
20
|
+
training_file: Required[str]
|
|
21
|
+
"""File-ID of a training file uploaded to the Together API"""
|
|
22
|
+
|
|
23
|
+
from_checkpoint: str
|
|
24
|
+
"""The checkpoint identifier to continue training from a previous fine-tuning job.
|
|
25
|
+
|
|
26
|
+
Format is `{$JOB_ID}` or `{$OUTPUT_MODEL_NAME}` or `{$JOB_ID}:{$STEP}` or
|
|
27
|
+
`{$OUTPUT_MODEL_NAME}:{$STEP}`. The step value is optional; without it, the
|
|
28
|
+
final checkpoint will be used.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
model: str
|
|
32
|
+
"""Name of the base model to run fine-tune job on"""
|
|
33
|
+
|
|
34
|
+
n_epochs: int
|
|
35
|
+
"""
|
|
36
|
+
Number of complete passes through the training dataset (higher values may
|
|
37
|
+
improve results but increase cost and risk of overfitting)
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
n_evals: int
|
|
41
|
+
"""Number of evaluations to be run on a given validation set during training"""
|
|
42
|
+
|
|
43
|
+
training_method: TrainingMethod
|
|
44
|
+
"""The training method to use.
|
|
45
|
+
|
|
46
|
+
'sft' for Supervised Fine-Tuning or 'dpo' for Direct Preference Optimization.
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
training_type: TrainingType
|
|
50
|
+
|
|
51
|
+
validation_file: str
|
|
52
|
+
"""File-ID of a validation file uploaded to the Together API"""
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class TrainingMethodTrainingMethodSft(TypedDict, total=False):
|
|
56
|
+
method: Required[Literal["sft"]]
|
|
57
|
+
|
|
58
|
+
train_on_inputs: Required[Union[bool, Literal["auto"]]]
|
|
59
|
+
"""
|
|
60
|
+
Whether to mask the user messages in conversational data or prompts in
|
|
61
|
+
instruction data.
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class TrainingMethodTrainingMethodDpo(TypedDict, total=False):
|
|
66
|
+
method: Required[Literal["dpo"]]
|
|
67
|
+
|
|
68
|
+
dpo_beta: float
|
|
69
|
+
|
|
70
|
+
dpo_normalize_logratios_by_length: bool
|
|
71
|
+
|
|
72
|
+
dpo_reference_free: bool
|
|
73
|
+
|
|
74
|
+
rpo_alpha: float
|
|
75
|
+
|
|
76
|
+
simpo_gamma: float
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
TrainingMethod: TypeAlias = Union[TrainingMethodTrainingMethodSft, TrainingMethodTrainingMethodDpo]
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
class TrainingTypeFullTrainingType(TypedDict, total=False):
|
|
83
|
+
type: Required[Literal["Full"]]
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class TrainingTypeLoRaTrainingType(TypedDict, total=False):
|
|
87
|
+
lora_alpha: Required[int]
|
|
88
|
+
|
|
89
|
+
lora_r: Required[int]
|
|
90
|
+
|
|
91
|
+
type: Required[Literal["Lora"]]
|
|
92
|
+
|
|
93
|
+
lora_dropout: float
|
|
94
|
+
|
|
95
|
+
lora_trainable_modules: str
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
TrainingType: TypeAlias = Union[TrainingTypeFullTrainingType, TrainingTypeLoRaTrainingType]
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from .._models import BaseModel
|
|
6
|
+
|
|
7
|
+
__all__ = ["FineTuningEstimatePriceResponse"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FineTuningEstimatePriceResponse(BaseModel):
|
|
11
|
+
allowed_to_proceed: Optional[bool] = None
|
|
12
|
+
"""Whether the user is allowed to proceed with the fine-tuning job"""
|
|
13
|
+
|
|
14
|
+
estimated_eval_token_count: Optional[float] = None
|
|
15
|
+
"""The estimated number of tokens for evaluation"""
|
|
16
|
+
|
|
17
|
+
estimated_total_price: Optional[float] = None
|
|
18
|
+
"""The price of the fine-tuning job"""
|
|
19
|
+
|
|
20
|
+
estimated_train_token_count: Optional[float] = None
|
|
21
|
+
"""The estimated number of tokens to be trained"""
|
|
22
|
+
|
|
23
|
+
user_limit: Optional[float] = None
|
|
24
|
+
"""The user's credit limit in dollars"""
|
|
@@ -44,6 +44,8 @@ DataLrSchedulerLrSchedulerArgs: TypeAlias = Union[
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
class DataLrScheduler(BaseModel):
|
|
47
|
+
"""Learning rate scheduler configuration"""
|
|
48
|
+
|
|
47
49
|
lr_scheduler_type: Literal["linear", "cosine"]
|
|
48
50
|
|
|
49
51
|
lr_scheduler_args: Optional[DataLrSchedulerLrSchedulerArgs] = None
|
|
@@ -96,6 +98,10 @@ DataTrainingType: TypeAlias = Union[DataTrainingTypeFullTrainingType, DataTraini
|
|
|
96
98
|
|
|
97
99
|
|
|
98
100
|
class Data(BaseModel):
|
|
101
|
+
"""
|
|
102
|
+
A truncated version of the fine-tune response, used for POST /fine-tunes, GET /fine-tunes and POST /fine-tunes/{id}/cancel endpoints
|
|
103
|
+
"""
|
|
104
|
+
|
|
99
105
|
id: str
|
|
100
106
|
"""Unique identifier for the fine-tune job"""
|
|
101
107
|
|
|
@@ -10,11 +10,15 @@ __all__ = ["HardwareListResponse", "Data", "DataPricing", "DataSpecs", "DataAvai
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class DataPricing(BaseModel):
|
|
13
|
+
"""Pricing details for using an endpoint"""
|
|
14
|
+
|
|
13
15
|
cents_per_minute: float
|
|
14
16
|
"""Cost per minute of endpoint uptime in cents"""
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
class DataSpecs(BaseModel):
|
|
20
|
+
"""Detailed specifications of a hardware configuration"""
|
|
21
|
+
|
|
18
22
|
gpu_count: int
|
|
19
23
|
"""Number of GPUs in this configuration"""
|
|
20
24
|
|
|
@@ -29,11 +33,15 @@ class DataSpecs(BaseModel):
|
|
|
29
33
|
|
|
30
34
|
|
|
31
35
|
class DataAvailability(BaseModel):
|
|
36
|
+
"""Indicates the current availability status of a hardware configuration"""
|
|
37
|
+
|
|
32
38
|
status: Literal["available", "unavailable", "insufficient"]
|
|
33
39
|
"""The availability status of the hardware configuration"""
|
|
34
40
|
|
|
35
41
|
|
|
36
42
|
class Data(BaseModel):
|
|
43
|
+
"""Hardware configuration details with optional availability status"""
|
|
44
|
+
|
|
37
45
|
id: str
|
|
38
46
|
"""Unique identifier for the hardware configuration"""
|
|
39
47
|
|
|
@@ -5,6 +5,8 @@ from __future__ import annotations
|
|
|
5
5
|
from typing import Union, Iterable
|
|
6
6
|
from typing_extensions import Literal, Required, TypedDict
|
|
7
7
|
|
|
8
|
+
from .._types import SequenceNotStr
|
|
9
|
+
|
|
8
10
|
__all__ = ["ImageGenerateParams", "ImageLora"]
|
|
9
11
|
|
|
10
12
|
|
|
@@ -61,6 +63,13 @@ class ImageGenerateParams(TypedDict, total=False):
|
|
|
61
63
|
Can be either be `jpeg` or `png`. Defaults to `jpeg`.
|
|
62
64
|
"""
|
|
63
65
|
|
|
66
|
+
reference_images: SequenceNotStr[str]
|
|
67
|
+
"""
|
|
68
|
+
An array of image URLs that guide the overall appearance and style of the
|
|
69
|
+
generated image. These reference images influence the visual characteristics
|
|
70
|
+
consistently across the generation.
|
|
71
|
+
"""
|
|
72
|
+
|
|
64
73
|
response_format: Literal["base64", "url"]
|
|
65
74
|
"""Format of the image response. Can be either a base64 string or a URL."""
|
|
66
75
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing_extensions import TypedDict
|
|
6
|
+
|
|
7
|
+
__all__ = ["ModelListParams"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ModelListParams(TypedDict, total=False):
|
|
11
|
+
dedicated: bool
|
|
12
|
+
"""Filter models to only return dedicated models"""
|
together/types/video_job.py
CHANGED
|
@@ -9,12 +9,18 @@ __all__ = ["VideoJob", "Error", "Outputs"]
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
class Error(BaseModel):
|
|
12
|
+
"""Error payload that explains why generation failed, if applicable."""
|
|
13
|
+
|
|
12
14
|
message: str
|
|
13
15
|
|
|
14
16
|
code: Optional[str] = None
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
class Outputs(BaseModel):
|
|
20
|
+
"""
|
|
21
|
+
Available upon completion, the outputs provides the cost charged and the hosted url to access the video
|
|
22
|
+
"""
|
|
23
|
+
|
|
18
24
|
cost: int
|
|
19
25
|
"""The cost of generated video charged to the owners account."""
|
|
20
26
|
|
|
@@ -23,6 +29,8 @@ class Outputs(BaseModel):
|
|
|
23
29
|
|
|
24
30
|
|
|
25
31
|
class VideoJob(BaseModel):
|
|
32
|
+
"""Structured information describing a generated video job."""
|
|
33
|
+
|
|
26
34
|
id: str
|
|
27
35
|
"""Unique identifier for the video job."""
|
|
28
36
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: together
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.0a10
|
|
4
4
|
Summary: The official Python library for the together API
|
|
5
5
|
Project-URL: Homepage, https://github.com/togethercomputer/together-py
|
|
6
6
|
Project-URL: Repository, https://github.com/togethercomputer/together-py
|
|
@@ -144,6 +144,7 @@ pip install 'together[aiohttp] @ git+ssh://git@github.com/togethercomputer/toget
|
|
|
144
144
|
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
|
|
145
145
|
|
|
146
146
|
```python
|
|
147
|
+
import os
|
|
147
148
|
import asyncio
|
|
148
149
|
from together import DefaultAioHttpClient
|
|
149
150
|
from together import AsyncTogether
|
|
@@ -151,7 +152,7 @@ from together import AsyncTogether
|
|
|
151
152
|
|
|
152
153
|
async def main() -> None:
|
|
153
154
|
async with AsyncTogether(
|
|
154
|
-
api_key="
|
|
155
|
+
api_key=os.environ.get("TOGETHER_API_KEY"), # This is the default and can be omitted
|
|
155
156
|
http_client=DefaultAioHttpClient(),
|
|
156
157
|
) as client:
|
|
157
158
|
chat_completion = await client.chat.completions.create(
|
|
@@ -231,17 +232,15 @@ from together import Together
|
|
|
231
232
|
|
|
232
233
|
client = Together()
|
|
233
234
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
model="meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",
|
|
242
|
-
response_format={},
|
|
235
|
+
dedicated_endpoint = client.endpoints.create(
|
|
236
|
+
autoscaling={
|
|
237
|
+
"max_replicas": 5,
|
|
238
|
+
"min_replicas": 2,
|
|
239
|
+
},
|
|
240
|
+
hardware="1x_nvidia_a100_80gb_sxm",
|
|
241
|
+
model="meta-llama/Llama-3-8b-chat-hf",
|
|
243
242
|
)
|
|
244
|
-
print(
|
|
243
|
+
print(dedicated_endpoint.autoscaling)
|
|
245
244
|
```
|
|
246
245
|
|
|
247
246
|
The async client uses the exact same interface. If you pass a [`PathLike`](https://docs.python.org/3/library/os.html#os.PathLike) instance, the file contents will be read asynchronously automatically.
|
|
@@ -9,9 +9,9 @@ together/_models.py,sha256=3D65psj_C02Mw0K2zpBWrn1khmrvtEXgTTQ6P4r3tUY,31837
|
|
|
9
9
|
together/_qs.py,sha256=craIKyvPktJ94cvf9zn8j8ekG9dWJzhWv0ob34lIOv4,4828
|
|
10
10
|
together/_resource.py,sha256=-ZTq9O5qf2YsgjJk_gwJs-CM_OG4p6gdMLcNWjuxFwQ,1112
|
|
11
11
|
together/_response.py,sha256=lvqEsCbpD8SRJTjlhhUFGbnLUR_4-Qva-OApxfVdiY4,28800
|
|
12
|
-
together/_streaming.py,sha256=
|
|
13
|
-
together/_types.py,sha256=
|
|
14
|
-
together/_version.py,sha256=
|
|
12
|
+
together/_streaming.py,sha256=sk6fVYbpdO3Y-0S5iwZTHQJ3N24UkK0KaupgUTftWZk,11825
|
|
13
|
+
together/_types.py,sha256=LzaeqN09mUAEvRg_XrLzihdOaW0D_R9qrG7jKsFjnQY,7297
|
|
14
|
+
together/_version.py,sha256=XmBi_Hs7NKx8HCFG-ERQy7tKZ3NfYmSV0kJTKf_6-o0,169
|
|
15
15
|
together/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
16
|
together/_utils/__init__.py,sha256=7fch0GT9zpNnErbciSpUNa-SjTxxjY6kxHxKMOM4AGs,2305
|
|
17
17
|
together/_utils/_compat.py,sha256=rN17SSvjMoQE1GmKFTLniRuG1sKj2WAD5VjdLPeRlF0,1231
|
|
@@ -24,7 +24,7 @@ together/_utils/_streams.py,sha256=SMC90diFFecpEg_zgDRVbdR3hSEIgVVij4taD-noMLM,2
|
|
|
24
24
|
together/_utils/_sync.py,sha256=HBnZkkBnzxtwOZe0212C4EyoRvxhTVtTrLFDz2_xVCg,1589
|
|
25
25
|
together/_utils/_transform.py,sha256=NjCzmnfqYrsAikUHQig6N9QfuTVbKipuP3ur9mcNF-E,15951
|
|
26
26
|
together/_utils/_typing.py,sha256=N_5PPuFNsaygbtA_npZd98SVN1LQQvFTKL6bkWPBZGU,4786
|
|
27
|
-
together/_utils/_utils.py,sha256=
|
|
27
|
+
together/_utils/_utils.py,sha256=g9ftElB09kVT6EVfCIlD_nUfANhDX5_vZO61FDWoIQI,12334
|
|
28
28
|
together/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
|
|
29
29
|
together/lib/__init__.py,sha256=Qtdi6geFNzxE-F51eNDk1ESXYyYDt8b82MR1POANQBQ,394
|
|
30
30
|
together/lib/constants.py,sha256=EgcTlmk4QqVqjZjGej5k5JEwoRqidlITQ8LQqzW0dXI,1795
|
|
@@ -34,13 +34,12 @@ together/lib/cli/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
|
34
34
|
together/lib/cli/api/endpoints.py,sha256=MyliUrTuJWw2qFd80J27pFs9xTazIVAP0mqgRYxdVsw,14851
|
|
35
35
|
together/lib/cli/api/evals.py,sha256=KkSvz2wIYmPQ3sFQBte6inNBZt1aptIkMVL5TKWTW5k,19074
|
|
36
36
|
together/lib/cli/api/files.py,sha256=HbflC45PpzBIF0CE0TLucQaVr319ScL05VyAFKf2T6Y,3596
|
|
37
|
-
together/lib/cli/api/fine_tuning.py,sha256=
|
|
38
|
-
together/lib/cli/api/models.py,sha256=
|
|
37
|
+
together/lib/cli/api/fine_tuning.py,sha256=XlkS8cUrlKIJAsPgtlSitDSCd66X86zRcT4bTk-36u4,22202
|
|
38
|
+
together/lib/cli/api/models.py,sha256=Jfrl7gcbWAkbBQ1i1gCy485HHT2C4C784OMaaHZPiPw,4084
|
|
39
39
|
together/lib/cli/api/utils.py,sha256=qppHd3MdATVA7MI32e_--OVeFQdftCq9s9tvKz8xaNY,1317
|
|
40
40
|
together/lib/resources/__init__.py,sha256=ystIb0pBHQLuwUBtHJwhRgtjK3_TV6K0KuM8NGuuNoU,172
|
|
41
41
|
together/lib/resources/files.py,sha256=jM7Ra43eCKAa4pu9xA-1rPtP-0fXs8CkUq-hc6X8CaA,34418
|
|
42
|
-
together/lib/resources/fine_tuning.py,sha256
|
|
43
|
-
together/lib/resources/models.py,sha256=h3UZxMzz0Kq9Lzp3KaL0HLcUco1fqtwWanxPB16g_1g,1118
|
|
42
|
+
together/lib/resources/fine_tuning.py,sha256=-yCS6AIbgXpAcUkeqJcia8CPrnVcmyiaUN4dvksEjcc,12642
|
|
44
43
|
together/lib/types/__init__.py,sha256=1-kHsAp9Sh9HxjTGKfdHnF1nTS_cM_Tazv-3Z9hrEbY,205
|
|
45
44
|
together/lib/types/error.py,sha256=i-rnTZPRZuJDUf1lM-52abG2JHWOUBTCh55zPNGoakg,135
|
|
46
45
|
together/lib/types/fine_tuning.py,sha256=DN8mTSna3ptO-gQJBy_MnAZ-Zw6jOwZNuA73eVBt5l8,12555
|
|
@@ -56,29 +55,29 @@ together/resources/embeddings.py,sha256=7EU6DZQd0Nm0Sh7x7v37QQOLNuLqNmcjdJAyOTck
|
|
|
56
55
|
together/resources/endpoints.py,sha256=dYdLlAJ0P7HJNhzZGxlbzEQYpUWsh35cjAMVfdWiifw,27884
|
|
57
56
|
together/resources/evals.py,sha256=FPjvkbsBY5rrzLyQ-X1G9fWt2QmivI9ol5GExGtqYVA,16216
|
|
58
57
|
together/resources/files.py,sha256=0paHeVqNt3NQCXoztCgFS8PEIg_-mMVto-ulHTr7GzE,16854
|
|
59
|
-
together/resources/fine_tuning.py,sha256=
|
|
58
|
+
together/resources/fine_tuning.py,sha256=rpdUFb2p7_AGn8TIn7dPuhcFCCsuE-yuUGzo8S-epO8,54170
|
|
60
59
|
together/resources/hardware.py,sha256=xgfCmMrrwF5o1igax0JGec8RY7kkS0s4kKm62RdC3ME,6850
|
|
61
|
-
together/resources/images.py,sha256=
|
|
60
|
+
together/resources/images.py,sha256=mVPQYpDHKBjLVO_Sv0uT62zYXdtWKN2PW3fCvfQLQCs,12612
|
|
62
61
|
together/resources/jobs.py,sha256=TnzSnvJw4x5pqo1xzrkYH8f0viZrzyOqT-_w7xc0NzY,7797
|
|
63
|
-
together/resources/models.py,sha256=
|
|
62
|
+
together/resources/models.py,sha256=QqPV9wlY2eTY_-aHSj805rkEsm2dD4lc6MTUvJbj_co,11773
|
|
64
63
|
together/resources/rerank.py,sha256=Xoaco2OvKdII7AhPaJDqUqoXmJvXbTWmY4_g_aqq8dQ,8334
|
|
65
64
|
together/resources/videos.py,sha256=AdcC08JrUtbcEJV-G0viH4CF1qU9oNjdjQ7U38QCEkU,14883
|
|
66
65
|
together/resources/audio/__init__.py,sha256=MKUWFwFsAdCf9LrO8AiUCeIzdknPNDPr4lpAt-pkYSw,2521
|
|
67
66
|
together/resources/audio/audio.py,sha256=stpvzuxIwMnAQLQnqW1KRxx3G_DI-oDSnx3uDN_X1R8,7180
|
|
68
67
|
together/resources/audio/speech.py,sha256=ZavAHDhi8rKzIQ0tRTv1UOIlUJQ5_ArvH3JG1JdN41M,27560
|
|
69
|
-
together/resources/audio/transcriptions.py,sha256=
|
|
68
|
+
together/resources/audio/transcriptions.py,sha256=k5zLDKXNqISjeieSyi1FKbyKsWyhnkeIkApG3l7QzeY,12965
|
|
70
69
|
together/resources/audio/translations.py,sha256=zeV1wJPGzBmQGGgSPNA_vigy_4yuV3aBq6sSLa19-jg,10251
|
|
71
70
|
together/resources/audio/voices.py,sha256=Lj9DtOcv_Dhaq3E5p7Oty1T_JkhrsGDZcDF91HHA3Yw,4905
|
|
72
71
|
together/resources/chat/__init__.py,sha256=BVAfz9TM3DT5W9f_mt0P9YRxL_MsUxKCWAH6u1iogmA,1041
|
|
73
72
|
together/resources/chat/chat.py,sha256=aJQQ4Zlof2NlrG53auI5omXPJVdG3c_vwnEkj-ahLG4,3688
|
|
74
|
-
together/resources/chat/completions.py,sha256=
|
|
73
|
+
together/resources/chat/completions.py,sha256=FKD9PyO4-VncgXI3yMjSiadwlzBxSginRUjfuIdNk-4,56256
|
|
75
74
|
together/resources/code_interpreter/__init__.py,sha256=qeNVuBUuYy66RDhyh4RDx_xsf0gTMIrrZkZHpkPy9r0,1146
|
|
76
75
|
together/resources/code_interpreter/code_interpreter.py,sha256=ZrWQIn5FO-uau3qTt_HhsHiaclM_ZNfOqZI_AWT2SMk,10373
|
|
77
76
|
together/resources/code_interpreter/sessions.py,sha256=Sl8X6-r1gds2VHhzpjPhfwYNTciZCJxAH-YjJerA_eU,5020
|
|
78
|
-
together/types/__init__.py,sha256=
|
|
77
|
+
together/types/__init__.py,sha256=LyZBx2A_Y_thLZWIWs9MnVHP-dhOKzToYiZqk14AfXw,4753
|
|
79
78
|
together/types/audio_speech_stream_chunk.py,sha256=npxlsMce0q4_VoJaZzfSh982TYTM0-j-zmhyI-9hP5o,346
|
|
80
|
-
together/types/autoscaling.py,sha256=
|
|
81
|
-
together/types/autoscaling_param.py,sha256=
|
|
79
|
+
together/types/autoscaling.py,sha256=nlOvbwrsgJQsz2ALlunp9o4sRdAmLe1tinXKSBNa2Yg,447
|
|
80
|
+
together/types/autoscaling_param.py,sha256=GNyqO4jV5zQie2BmOjfwpESxJ9IyVcz6p9wAxGIf6F0,544
|
|
82
81
|
together/types/batch_create_params.py,sha256=2vFTT9PsqBn_F8qvnQNCRahrdeFl0MMhUg5AGRdiMHk,660
|
|
83
82
|
together/types/batch_create_response.py,sha256=wJgUqyNbJ8oPwgUWpHHWkJx65bN6llbudAhF94gaKWs,325
|
|
84
83
|
together/types/batch_job.py,sha256=3z7fVqcWcm38QGqy9O3mTJvPiuvfc6jZDYTIQ-VrFso,1138
|
|
@@ -87,13 +86,13 @@ together/types/code_interpreter_execute_params.py,sha256=n9YEbz2W5xCRUP2Coe6xYS9
|
|
|
87
86
|
together/types/completion.py,sha256=9t9bQc1x3s0LUGZ19fifWUosSGPTllO7kviY2Hvpkns,897
|
|
88
87
|
together/types/completion_chunk.py,sha256=2GgVkgdnm7Ne-MnbFLakVTMIISkwXtAdn-CWdQ76D0U,1354
|
|
89
88
|
together/types/completion_create_params.py,sha256=IxnGl1I_7sJl5rW57DwJfA74-nEnJTmkdeoDH0p-x-0,4772
|
|
90
|
-
together/types/dedicated_endpoint.py,sha256=
|
|
89
|
+
together/types/dedicated_endpoint.py,sha256=eZx8Arh3WEWpsFciws0CF7Z2RlWw5wKiA6NIPtcCrZY,1147
|
|
91
90
|
together/types/embedding.py,sha256=ThcALXoTfDPptcFikqfUjDkBTHk3diJtYJ4hXYQOVHk,413
|
|
92
91
|
together/types/embedding_create_params.py,sha256=6FEUFFRj3EQ7_3T8qjjCpfpA1YWzcpcO259db5koNCo,913
|
|
93
92
|
together/types/endpoint_create_params.py,sha256=GnfrwDdtGTJjSrPgE8lxRz4Hfql8DMVBRAnY6gSmLVo,1311
|
|
94
|
-
together/types/endpoint_list_avzones_response.py,sha256=
|
|
93
|
+
together/types/endpoint_list_avzones_response.py,sha256=LbzRkG7snD7Swy-t0E0MLXrlU-utn_N9qPwjPkr8jT4,303
|
|
95
94
|
together/types/endpoint_list_params.py,sha256=83Mg5beLYX_ipn1X_izk7hDIO8q8YNEL-tjsv5AcNXo,506
|
|
96
|
-
together/types/endpoint_list_response.py,sha256=
|
|
95
|
+
together/types/endpoint_list_response.py,sha256=LPyv8np_HctSW0QKstC8k7vF0RAejb6X9N2JowZtaEY,1010
|
|
97
96
|
together/types/endpoint_update_params.py,sha256=ONGRuPZQe_C40N5tfnu-HyPBNFvPRWeA3A9lEtrligc,780
|
|
98
97
|
together/types/eval_create_params.py,sha256=KH4Jn8jzyufANXm1EQ5Cu4DkzQlqmRa7_t4m5c9QHHw,8059
|
|
99
98
|
together/types/eval_create_response.py,sha256=s8tjFerVLIm8J4-qmp-kZ-yP65PsjWZ2AtK-ObGUv30,429
|
|
@@ -101,31 +100,34 @@ together/types/eval_list_params.py,sha256=pdKw4pK5FQMnyY76L7Yj2Q-mOXtJv9rg9BU3iA
|
|
|
101
100
|
together/types/eval_list_response.py,sha256=htHk3n6LuY8ELXoNdt1u3EboPTua4WRNYMG7QVTNfEs,277
|
|
102
101
|
together/types/eval_status_response.py,sha256=plUTISq48Vy9YPDnOczxMpGemWTla4_NluX4jpbYfIo,2886
|
|
103
102
|
together/types/evaluation_job.py,sha256=XdrmLE5X-7uGhbrsSFc1zHfx9-Niyaxp3l1YpbBQ_iQ,3925
|
|
104
|
-
together/types/execute_response.py,sha256=
|
|
103
|
+
together/types/execute_response.py,sha256=8k-ElkQLShIr-Ghxyle34GL2KoynHniN0Boo1eTWy7A,3509
|
|
105
104
|
together/types/file_delete_response.py,sha256=CdqGlYIGsrRc2RHPZXIevSCiRTOUu9VyUqIREQXNNZM,286
|
|
106
105
|
together/types/file_list.py,sha256=AE9muto7B4HyABgt3k9obSbUG1GW09pVvB0POnEQeUg,266
|
|
107
106
|
together/types/file_purpose.py,sha256=9sHEbQ1qy4V99KMT7R5Ya_VXutu1ZZG1pho-w2ZZ9OM,302
|
|
108
107
|
together/types/file_response.py,sha256=Abmu-Ph-masbhAFePB64VhiswHEFmExWF34jaiTm4Lg,626
|
|
109
108
|
together/types/file_type.py,sha256=lrvFtcJr0Wn5thWP4NihmrmK23AouK2e6Ev4LCCPg5A,218
|
|
110
|
-
together/types/fine_tuning_cancel_response.py,sha256=
|
|
109
|
+
together/types/fine_tuning_cancel_response.py,sha256=POZIRboDF3WBj6IHGaKpyUvKux7Kt3Fkuwo9TRKJn5Q,5423
|
|
111
110
|
together/types/fine_tuning_content_params.py,sha256=_5rqZ2lk6FShmX-5Hj4A9jQdpPZP6lcgjXvnrC30G8k,711
|
|
112
111
|
together/types/fine_tuning_delete_params.py,sha256=YwUcN_gFl9N2zuUJqyOrE0ngONL2N_OgfVw6h-sH2RE,273
|
|
113
112
|
together/types/fine_tuning_delete_response.py,sha256=oWoJM51-2b_RIINhJSMyMelSKQkHFYrJjDLeD51dUgo,323
|
|
113
|
+
together/types/fine_tuning_estimate_price_params.py,sha256=LIlP1Z5C1EAQgOg3b3BZ1LkQOxsFckyZOwYb0dBN9OE,2608
|
|
114
|
+
together/types/fine_tuning_estimate_price_response.py,sha256=lA2MUesE_C_Ia8U-rJRsqRGRzkZJno2dsIsrMmoQMIo,770
|
|
114
115
|
together/types/fine_tuning_list_checkpoints_response.py,sha256=9S0kRl7ItqFU6CeodrB9jb1zgf7-Ehb7VGjsbKq_hBY,377
|
|
115
116
|
together/types/fine_tuning_list_events_response.py,sha256=DeDJLF1IxQV47HOwfuVt8Zis5W2CKs3iKkKvwDxyswk,309
|
|
116
|
-
together/types/fine_tuning_list_response.py,sha256=
|
|
117
|
+
together/types/fine_tuning_list_response.py,sha256=4owaCLVcmOWWlSVEQ7x3DZlJ-PPMlIymWkfj8vZ8ObI,5597
|
|
117
118
|
together/types/finetune_event.py,sha256=0apAXe6Anx2_ffse2pOBJDxngCeuSvuDMYczZ0DtzZg,787
|
|
118
119
|
together/types/finetune_event_type.py,sha256=Bm4lkBhsLI_kaD5yabsvW6BpnjXzZO_lwDtiEeMNXnw,824
|
|
119
120
|
together/types/finetune_response.py,sha256=BrdlilnNFAenIR73cbu9Oj2IIIgudqTD_Qcpo_KGqmg,4289
|
|
120
121
|
together/types/hardware_list_params.py,sha256=BbfiigtdQE0QNGFGr6o-Twg912x_riH5mbUNpZWYWO4,435
|
|
121
|
-
together/types/hardware_list_response.py,sha256=
|
|
122
|
+
together/types/hardware_list_response.py,sha256=KfGhnEy7qEW2Bzt4Q8b-JSvxG-IKIIFfcpWEQHS9YdM,1732
|
|
122
123
|
together/types/image_data_b64.py,sha256=pLY7JDBb1HF1T29ACbae_xn6JQfttpqQVeG_jJeenZU,284
|
|
123
124
|
together/types/image_data_url.py,sha256=6A_EYNfcR6Z6sZkyC4MThxeZnK2cvTuQn6-A1dXM85w,274
|
|
124
125
|
together/types/image_file.py,sha256=sADh0UcrGlemkreIvHBEBizstAvt64CVOu7KtOALcHk,569
|
|
125
|
-
together/types/image_generate_params.py,sha256=
|
|
126
|
+
together/types/image_generate_params.py,sha256=bdOsD1NXYjCq8QT27wCd8P1hGWIfCd70E8u6n8TLzGQ,2783
|
|
126
127
|
together/types/job_list_response.py,sha256=y7tFXGH2dYD9PfVH2_2Rf6RDkWsW4olljXt5FnGO6UA,950
|
|
127
128
|
together/types/job_retrieve_response.py,sha256=I4HHmSUCAVFuy2RkrZuanssaPLRkDmG_i0Qc192yRmM,880
|
|
128
129
|
together/types/log_probs.py,sha256=A1DD9Cdb5G7bufrBiaMZC4HJ7v1NH5_zFEYvLgFY1NI,473
|
|
130
|
+
together/types/model_list_params.py,sha256=W1S2NtMJOsGGYo1Y01foP6BUYjovMgk7jOU6a3Yo4p8,319
|
|
129
131
|
together/types/model_list_response.py,sha256=MvJLqK_tczrk8kCijb0HChLs706_pXJdf1EJgslON2w,273
|
|
130
132
|
together/types/model_object.py,sha256=ixXrw0t4ZyGaINI69nG0uUVGjgTG9DNhlzeUaNxW7GY,745
|
|
131
133
|
together/types/model_upload_params.py,sha256=8_mcHCUkmvTy0psgzTGZV2Gkw6RvNYNFVRo401i4Nfo,1033
|
|
@@ -138,14 +140,14 @@ together/types/tools_param.py,sha256=dRo4u37j5nyjhyU_yc2_l5smDOs76UhQluB-CMq8BMU
|
|
|
138
140
|
together/types/training_method_dpo.py,sha256=INdq7tJYKBhY_Hwodn217h-9-7q4IX6mJdRN4P44vdQ,519
|
|
139
141
|
together/types/training_method_sft.py,sha256=Ro9vRS2Kw9e5HENJ6BXLGZjqKsfTsrGLfoVljoOlHgw,453
|
|
140
142
|
together/types/video_create_params.py,sha256=9Mx7TWTaPHOOpaMezz9FD5VC7hN6jGbnynGlUNPr8U0,2657
|
|
141
|
-
together/types/video_job.py,sha256=
|
|
143
|
+
together/types/video_job.py,sha256=49S_V4lygUJUZR2x8vr_L39mUZV6YisXK3kuHEQXHOo,1740
|
|
142
144
|
together/types/audio/__init__.py,sha256=FRPjWqhXrrSZgg615cnF6cWNqEowSovw__2V7BR3kgo,654
|
|
143
145
|
together/types/audio/speech_create_params.py,sha256=SwoTcRMG5NnO_LpT3eAXFfOqqxyFh6C-cU8mtY2v4lk,2867
|
|
144
|
-
together/types/audio/transcription_create_params.py,sha256=
|
|
146
|
+
together/types/audio/transcription_create_params.py,sha256=utzevQa2y_fiznVYVIUK7J76HzH_YWgLsvtbtFIH_Gs,2156
|
|
145
147
|
together/types/audio/transcription_create_response.py,sha256=z8_pzJlzYjP4QxJhwbKuDgAeVpWbgee6jt3QLFVVSjM,3059
|
|
146
148
|
together/types/audio/translation_create_params.py,sha256=RjKaaR2RNSE4DxuBHCBKDURxxqalZJmApIhtmDV7MBM,1140
|
|
147
149
|
together/types/audio/translation_create_response.py,sha256=T6SUCExVMin1qSGamHuiWGWS84MZ92tZPBHD7NYm4IU,1843
|
|
148
|
-
together/types/audio/voice_list_response.py,sha256=
|
|
150
|
+
together/types/audio/voice_list_response.py,sha256=vS2yvGBz7U2cxnJkEr7BewT7j5ActDjn99k3QhhEKk4,517
|
|
149
151
|
together/types/chat/__init__.py,sha256=XuRK_yunfmDRsbxLftYqP_yl51m8hpM6iqPGJGnUx_Y,997
|
|
150
152
|
together/types/chat/chat_completion.py,sha256=0mpjMaALiX-LHSQbtwRdKmENpHcLBi_DQksT1kIM4xU,1361
|
|
151
153
|
together/types/chat/chat_completion_chunk.py,sha256=UwCs1yDwJgRSOCwyvdbyqFyOAj0eXOSg-eswk5pSn-k,1381
|
|
@@ -154,11 +156,11 @@ together/types/chat/chat_completion_structured_message_text_param.py,sha256=ogWM
|
|
|
154
156
|
together/types/chat/chat_completion_structured_message_video_url_param.py,sha256=i0VjxkE6xEYr11YBkOd2pkDSu01EiTbYjFDAkt0RE0g,504
|
|
155
157
|
together/types/chat/chat_completion_usage.py,sha256=tkDp4y7jzxFKtK3tXe_bJb7Coew-nt8u3S7bZCvcVXo,269
|
|
156
158
|
together/types/chat/chat_completion_warning.py,sha256=_Dp7YKlxyY2HeZopTvT-Go7qqKsbj3h_Vv06uLzgsTU,216
|
|
157
|
-
together/types/chat/completion_create_params.py,sha256=
|
|
159
|
+
together/types/chat/completion_create_params.py,sha256=Ia2dWuVxjderCRfpqV4Zpl-9rVng0p8deILUXVC3O0s,13687
|
|
158
160
|
together/types/code_interpreter/__init__.py,sha256=dAXfb3ryLMtcBalCfxxNu2wJVswVP8G1xXryZnahPQY,201
|
|
159
161
|
together/types/code_interpreter/session_list_response.py,sha256=TRxLGFTmIY-KLpStKjJtsrm4EI6BBvakpx43B6pkhnw,662
|
|
160
|
-
together-2.0.
|
|
161
|
-
together-2.0.
|
|
162
|
-
together-2.0.
|
|
163
|
-
together-2.0.
|
|
164
|
-
together-2.0.
|
|
162
|
+
together-2.0.0a10.dist-info/METADATA,sha256=w9kCFvckPuJ7x5S6JIi7g6O9-Ah9ixwOVCgQajuHp9Q,20247
|
|
163
|
+
together-2.0.0a10.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
164
|
+
together-2.0.0a10.dist-info/entry_points.txt,sha256=4f4RAX89wQkx3AnfHXiGrKyg2fCPnwMd2UdPX48OczA,55
|
|
165
|
+
together-2.0.0a10.dist-info/licenses/LICENSE,sha256=5I5MO2DiiBFcD_p4ZF2T4GDb-WeBMD591ALtADdtXDc,11338
|
|
166
|
+
together-2.0.0a10.dist-info/RECORD,,
|
together/lib/resources/models.py
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
from typing import List
|
|
2
|
-
from typing_extensions import TypeAlias
|
|
3
|
-
|
|
4
|
-
from together import Together
|
|
5
|
-
from together._models import BaseModel
|
|
6
|
-
from together.types.model_list_response import ModelListResponse
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class DedicatedModel(BaseModel):
|
|
10
|
-
name: str
|
|
11
|
-
id: str
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
ModelList: TypeAlias = List[DedicatedModel]
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def filter_by_dedicated_models(client: Together, models: ModelListResponse) -> ModelListResponse:
|
|
18
|
-
"""
|
|
19
|
-
Filter models based on dedicated model response.
|
|
20
|
-
|
|
21
|
-
Args:
|
|
22
|
-
models (List[BaseModel]): List of all models
|
|
23
|
-
dedicated_response (APIResponse): Response from autoscale models endpoint
|
|
24
|
-
|
|
25
|
-
Returns:
|
|
26
|
-
List[BaseModel]: Filtered list of models
|
|
27
|
-
"""
|
|
28
|
-
dedicated_models = client.get("/autoscale/models", cast_to=ModelList)
|
|
29
|
-
|
|
30
|
-
# Create a set of dedicated model names for efficient lookup
|
|
31
|
-
dedicated_model_names = {model.name for model in dedicated_models}
|
|
32
|
-
|
|
33
|
-
# Filter models to only include those in dedicated_model_names
|
|
34
|
-
# Note: The model.id from ModelObject matches the name field in the autoscale response
|
|
35
|
-
return [model for model in models if model.id in dedicated_model_names]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|