together 1.5.34__py3-none-any.whl → 2.0.0a6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. together/__init__.py +101 -114
  2. together/_base_client.py +1995 -0
  3. together/_client.py +1033 -0
  4. together/_compat.py +219 -0
  5. together/_constants.py +14 -0
  6. together/_exceptions.py +108 -0
  7. together/_files.py +123 -0
  8. together/_models.py +857 -0
  9. together/_qs.py +150 -0
  10. together/_resource.py +43 -0
  11. together/_response.py +830 -0
  12. together/_streaming.py +370 -0
  13. together/_types.py +260 -0
  14. together/_utils/__init__.py +64 -0
  15. together/_utils/_compat.py +45 -0
  16. together/_utils/_datetime_parse.py +136 -0
  17. together/_utils/_logs.py +25 -0
  18. together/_utils/_proxy.py +65 -0
  19. together/_utils/_reflection.py +42 -0
  20. together/_utils/_resources_proxy.py +24 -0
  21. together/_utils/_streams.py +12 -0
  22. together/_utils/_sync.py +58 -0
  23. together/_utils/_transform.py +457 -0
  24. together/_utils/_typing.py +156 -0
  25. together/_utils/_utils.py +421 -0
  26. together/_version.py +4 -0
  27. together/lib/.keep +4 -0
  28. together/lib/__init__.py +23 -0
  29. together/{cli → lib/cli}/api/endpoints.py +65 -81
  30. together/{cli/api/evaluation.py → lib/cli/api/evals.py} +152 -43
  31. together/{cli → lib/cli}/api/files.py +20 -17
  32. together/{cli/api/finetune.py → lib/cli/api/fine_tuning.py} +116 -172
  33. together/{cli → lib/cli}/api/models.py +34 -27
  34. together/lib/cli/api/utils.py +50 -0
  35. together/{cli → lib/cli}/cli.py +16 -26
  36. together/{constants.py → lib/constants.py} +11 -24
  37. together/lib/resources/__init__.py +11 -0
  38. together/lib/resources/files.py +999 -0
  39. together/lib/resources/fine_tuning.py +280 -0
  40. together/lib/resources/models.py +35 -0
  41. together/lib/types/__init__.py +13 -0
  42. together/lib/types/error.py +9 -0
  43. together/lib/types/fine_tuning.py +397 -0
  44. together/{utils → lib/utils}/__init__.py +6 -14
  45. together/{utils → lib/utils}/_log.py +11 -16
  46. together/{utils → lib/utils}/files.py +90 -288
  47. together/lib/utils/serializer.py +10 -0
  48. together/{utils → lib/utils}/tools.py +19 -55
  49. together/resources/__init__.py +225 -39
  50. together/resources/audio/__init__.py +72 -48
  51. together/resources/audio/audio.py +198 -0
  52. together/resources/audio/speech.py +574 -128
  53. together/resources/audio/transcriptions.py +247 -261
  54. together/resources/audio/translations.py +221 -241
  55. together/resources/audio/voices.py +111 -41
  56. together/resources/batches.py +417 -0
  57. together/resources/chat/__init__.py +30 -21
  58. together/resources/chat/chat.py +102 -0
  59. together/resources/chat/completions.py +1063 -263
  60. together/resources/code_interpreter/__init__.py +33 -0
  61. together/resources/code_interpreter/code_interpreter.py +258 -0
  62. together/resources/code_interpreter/sessions.py +135 -0
  63. together/resources/completions.py +884 -225
  64. together/resources/embeddings.py +172 -68
  65. together/resources/endpoints.py +589 -477
  66. together/resources/evals.py +452 -0
  67. together/resources/files.py +397 -129
  68. together/resources/fine_tuning.py +1033 -0
  69. together/resources/hardware.py +181 -0
  70. together/resources/images.py +258 -104
  71. together/resources/jobs.py +214 -0
  72. together/resources/models.py +223 -193
  73. together/resources/rerank.py +190 -92
  74. together/resources/videos.py +286 -214
  75. together/types/__init__.py +66 -167
  76. together/types/audio/__init__.py +10 -0
  77. together/types/audio/speech_create_params.py +75 -0
  78. together/types/audio/transcription_create_params.py +54 -0
  79. together/types/audio/transcription_create_response.py +111 -0
  80. together/types/audio/translation_create_params.py +40 -0
  81. together/types/audio/translation_create_response.py +70 -0
  82. together/types/audio/voice_list_response.py +23 -0
  83. together/types/audio_speech_stream_chunk.py +16 -0
  84. together/types/autoscaling.py +13 -0
  85. together/types/autoscaling_param.py +15 -0
  86. together/types/batch_create_params.py +24 -0
  87. together/types/batch_create_response.py +14 -0
  88. together/types/batch_job.py +45 -0
  89. together/types/batch_list_response.py +10 -0
  90. together/types/chat/__init__.py +18 -0
  91. together/types/chat/chat_completion.py +60 -0
  92. together/types/chat/chat_completion_chunk.py +61 -0
  93. together/types/chat/chat_completion_structured_message_image_url_param.py +18 -0
  94. together/types/chat/chat_completion_structured_message_text_param.py +13 -0
  95. together/types/chat/chat_completion_structured_message_video_url_param.py +18 -0
  96. together/types/chat/chat_completion_usage.py +13 -0
  97. together/types/chat/chat_completion_warning.py +9 -0
  98. together/types/chat/completion_create_params.py +329 -0
  99. together/types/code_interpreter/__init__.py +5 -0
  100. together/types/code_interpreter/session_list_response.py +31 -0
  101. together/types/code_interpreter_execute_params.py +45 -0
  102. together/types/completion.py +42 -0
  103. together/types/completion_chunk.py +66 -0
  104. together/types/completion_create_params.py +138 -0
  105. together/types/dedicated_endpoint.py +44 -0
  106. together/types/embedding.py +24 -0
  107. together/types/embedding_create_params.py +31 -0
  108. together/types/endpoint_create_params.py +43 -0
  109. together/types/endpoint_list_avzones_response.py +11 -0
  110. together/types/endpoint_list_params.py +18 -0
  111. together/types/endpoint_list_response.py +41 -0
  112. together/types/endpoint_update_params.py +27 -0
  113. together/types/eval_create_params.py +263 -0
  114. together/types/eval_create_response.py +16 -0
  115. together/types/eval_list_params.py +21 -0
  116. together/types/eval_list_response.py +10 -0
  117. together/types/eval_status_response.py +100 -0
  118. together/types/evaluation_job.py +139 -0
  119. together/types/execute_response.py +108 -0
  120. together/types/file_delete_response.py +13 -0
  121. together/types/file_list.py +12 -0
  122. together/types/file_purpose.py +9 -0
  123. together/types/file_response.py +31 -0
  124. together/types/file_type.py +7 -0
  125. together/types/fine_tuning_cancel_response.py +194 -0
  126. together/types/fine_tuning_content_params.py +24 -0
  127. together/types/fine_tuning_delete_params.py +11 -0
  128. together/types/fine_tuning_delete_response.py +12 -0
  129. together/types/fine_tuning_list_checkpoints_response.py +21 -0
  130. together/types/fine_tuning_list_events_response.py +12 -0
  131. together/types/fine_tuning_list_response.py +199 -0
  132. together/types/finetune_event.py +41 -0
  133. together/types/finetune_event_type.py +33 -0
  134. together/types/finetune_response.py +177 -0
  135. together/types/hardware_list_params.py +16 -0
  136. together/types/hardware_list_response.py +58 -0
  137. together/types/image_data_b64.py +15 -0
  138. together/types/image_data_url.py +15 -0
  139. together/types/image_file.py +23 -0
  140. together/types/image_generate_params.py +85 -0
  141. together/types/job_list_response.py +47 -0
  142. together/types/job_retrieve_response.py +43 -0
  143. together/types/log_probs.py +18 -0
  144. together/types/model_list_response.py +10 -0
  145. together/types/model_object.py +42 -0
  146. together/types/model_upload_params.py +36 -0
  147. together/types/model_upload_response.py +23 -0
  148. together/types/rerank_create_params.py +36 -0
  149. together/types/rerank_create_response.py +36 -0
  150. together/types/tool_choice.py +23 -0
  151. together/types/tool_choice_param.py +23 -0
  152. together/types/tools_param.py +23 -0
  153. together/types/training_method_dpo.py +22 -0
  154. together/types/training_method_sft.py +18 -0
  155. together/types/video_create_params.py +86 -0
  156. together/types/video_create_response.py +10 -0
  157. together/types/video_job.py +57 -0
  158. together-2.0.0a6.dist-info/METADATA +729 -0
  159. together-2.0.0a6.dist-info/RECORD +165 -0
  160. {together-1.5.34.dist-info → together-2.0.0a6.dist-info}/WHEEL +1 -1
  161. together-2.0.0a6.dist-info/entry_points.txt +2 -0
  162. {together-1.5.34.dist-info → together-2.0.0a6.dist-info}/licenses/LICENSE +1 -1
  163. together/abstract/api_requestor.py +0 -770
  164. together/cli/api/chat.py +0 -298
  165. together/cli/api/completions.py +0 -119
  166. together/cli/api/images.py +0 -93
  167. together/cli/api/utils.py +0 -139
  168. together/client.py +0 -186
  169. together/error.py +0 -194
  170. together/filemanager.py +0 -635
  171. together/legacy/__init__.py +0 -0
  172. together/legacy/base.py +0 -27
  173. together/legacy/complete.py +0 -93
  174. together/legacy/embeddings.py +0 -27
  175. together/legacy/files.py +0 -146
  176. together/legacy/finetune.py +0 -177
  177. together/legacy/images.py +0 -27
  178. together/legacy/models.py +0 -44
  179. together/resources/batch.py +0 -165
  180. together/resources/code_interpreter.py +0 -82
  181. together/resources/evaluation.py +0 -808
  182. together/resources/finetune.py +0 -1388
  183. together/together_response.py +0 -50
  184. together/types/abstract.py +0 -26
  185. together/types/audio_speech.py +0 -311
  186. together/types/batch.py +0 -54
  187. together/types/chat_completions.py +0 -210
  188. together/types/code_interpreter.py +0 -57
  189. together/types/common.py +0 -67
  190. together/types/completions.py +0 -107
  191. together/types/embeddings.py +0 -35
  192. together/types/endpoints.py +0 -123
  193. together/types/error.py +0 -16
  194. together/types/evaluation.py +0 -93
  195. together/types/files.py +0 -93
  196. together/types/finetune.py +0 -464
  197. together/types/images.py +0 -42
  198. together/types/models.py +0 -96
  199. together/types/rerank.py +0 -43
  200. together/types/videos.py +0 -69
  201. together/utils/api_helpers.py +0 -124
  202. together/version.py +0 -6
  203. together-1.5.34.dist-info/METADATA +0 -583
  204. together-1.5.34.dist-info/RECORD +0 -77
  205. together-1.5.34.dist-info/entry_points.txt +0 -3
  206. /together/{abstract → lib/cli}/__init__.py +0 -0
  207. /together/{cli → lib/cli/api}/__init__.py +0 -0
  208. /together/{cli/api/__init__.py → py.typed} +0 -0
together/client.py DELETED
@@ -1,186 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import os
4
- import sys
5
- from typing import Dict, TYPE_CHECKING
6
-
7
- from together import resources
8
- from together.constants import BASE_URL, MAX_RETRIES, TIMEOUT_SECS
9
- from together.error import AuthenticationError
10
- from together.resources.code_interpreter import CodeInterpreter
11
- from together.types import TogetherClient
12
- from together.utils import enforce_trailing_slash
13
- from together.utils.api_helpers import get_google_colab_secret
14
-
15
-
16
- class Together:
17
- completions: resources.Completions
18
- chat: resources.Chat
19
- embeddings: resources.Embeddings
20
- files: resources.Files
21
- images: resources.Images
22
- models: resources.Models
23
- fine_tuning: resources.FineTuning
24
- rerank: resources.Rerank
25
- audio: resources.Audio
26
- batches: resources.Batches
27
- code_interpreter: CodeInterpreter
28
- evaluation: resources.Evaluation
29
- videos: resources.Videos
30
-
31
- # client options
32
- client: TogetherClient
33
-
34
- def __init__(
35
- self,
36
- *,
37
- api_key: str | None = None,
38
- base_url: str | None = None,
39
- timeout: float | None = None,
40
- max_retries: int | None = None,
41
- supplied_headers: Dict[str, str] | None = None,
42
- ) -> None:
43
- """Construct a new synchronous together client instance.
44
-
45
- This automatically infers the following arguments from their corresponding environment variables if they are not provided:
46
- - `api_key` from `TOGETHER_API_KEY`
47
- - `base_url` from `TOGETHER_BASE_URL`
48
- """
49
-
50
- # get api key
51
- if not api_key:
52
- api_key = os.environ.get("TOGETHER_API_KEY")
53
-
54
- if not api_key and "google.colab" in sys.modules:
55
- api_key = get_google_colab_secret("TOGETHER_API_KEY")
56
-
57
- if not api_key:
58
- raise AuthenticationError(
59
- "The api_key client option must be set either by passing api_key to the client or by setting the "
60
- "TOGETHER_API_KEY environment variable"
61
- )
62
-
63
- # get base url
64
- if not base_url:
65
- base_url = os.environ.get("TOGETHER_BASE_URL")
66
-
67
- if not base_url:
68
- base_url = BASE_URL
69
-
70
- if timeout is None:
71
- timeout = TIMEOUT_SECS
72
-
73
- if max_retries is None:
74
- max_retries = MAX_RETRIES
75
-
76
- # TogetherClient object
77
- self.client = TogetherClient(
78
- api_key=api_key,
79
- base_url=enforce_trailing_slash(base_url),
80
- timeout=timeout,
81
- max_retries=max_retries,
82
- supplied_headers=supplied_headers,
83
- )
84
-
85
- self.completions = resources.Completions(self.client)
86
- self.chat = resources.Chat(self.client)
87
- self.embeddings = resources.Embeddings(self.client)
88
- self.files = resources.Files(self.client)
89
- self.images = resources.Images(self.client)
90
- self.models = resources.Models(self.client)
91
- self.fine_tuning = resources.FineTuning(self.client)
92
- self.rerank = resources.Rerank(self.client)
93
- self.audio = resources.Audio(self.client)
94
- self.endpoints = resources.Endpoints(self.client)
95
- self.code_interpreter = CodeInterpreter(self.client)
96
- self.batches = resources.Batches(self.client)
97
- self.evaluation = resources.Evaluation(self.client)
98
- self.videos = resources.Videos(self.client)
99
-
100
-
101
- class AsyncTogether:
102
- completions: resources.AsyncCompletions
103
- chat: resources.AsyncChat
104
- embeddings: resources.AsyncEmbeddings
105
- files: resources.AsyncFiles
106
- images: resources.AsyncImages
107
- models: resources.AsyncModels
108
- fine_tuning: resources.AsyncFineTuning
109
- rerank: resources.AsyncRerank
110
- audio: resources.AsyncAudio
111
- code_interpreter: CodeInterpreter
112
- batches: resources.AsyncBatches
113
- evaluation: resources.AsyncEvaluation
114
- videos: resources.AsyncVideos
115
- # client options
116
- client: TogetherClient
117
-
118
- def __init__(
119
- self,
120
- *,
121
- api_key: str | None = None,
122
- base_url: str | None = None,
123
- timeout: float | None = None,
124
- max_retries: int | None = None,
125
- supplied_headers: Dict[str, str] | None = None,
126
- ) -> None:
127
- """Construct a new async together client instance.
128
-
129
- This automatically infers the following arguments from their corresponding environment variables if they are not provided:
130
- - `api_key` from `TOGETHER_API_KEY`
131
- - `base_url` from `TOGETHER_BASE_URL`
132
- """
133
-
134
- # get api key
135
- if not api_key:
136
- api_key = os.environ.get("TOGETHER_API_KEY")
137
-
138
- if not api_key and "google.colab" in sys.modules:
139
- api_key = get_google_colab_secret("TOGETHER_API_KEY")
140
-
141
- if not api_key:
142
- raise AuthenticationError(
143
- "The api_key client option must be set either by passing api_key to the client or by setting the "
144
- "TOGETHER_API_KEY environment variable"
145
- )
146
-
147
- # get base url
148
- if not base_url:
149
- base_url = os.environ.get("TOGETHER_BASE_URL")
150
-
151
- if not base_url:
152
- base_url = BASE_URL
153
-
154
- if timeout is None:
155
- timeout = TIMEOUT_SECS
156
-
157
- if max_retries is None:
158
- max_retries = MAX_RETRIES
159
-
160
- # TogetherClient object
161
- self.client = TogetherClient(
162
- api_key=api_key,
163
- base_url=enforce_trailing_slash(base_url),
164
- timeout=timeout,
165
- max_retries=max_retries,
166
- supplied_headers=supplied_headers,
167
- )
168
-
169
- self.completions = resources.AsyncCompletions(self.client)
170
- self.chat = resources.AsyncChat(self.client)
171
- self.embeddings = resources.AsyncEmbeddings(self.client)
172
- self.files = resources.AsyncFiles(self.client)
173
- self.images = resources.AsyncImages(self.client)
174
- self.models = resources.AsyncModels(self.client)
175
- self.fine_tuning = resources.AsyncFineTuning(self.client)
176
- self.rerank = resources.AsyncRerank(self.client)
177
- self.audio = resources.AsyncAudio(self.client)
178
- self.code_interpreter = CodeInterpreter(self.client)
179
- self.batches = resources.AsyncBatches(self.client)
180
- self.evaluation = resources.AsyncEvaluation(self.client)
181
- self.videos = resources.AsyncVideos(self.client)
182
-
183
-
184
- Client = Together
185
-
186
- AsyncClient = AsyncTogether
together/error.py DELETED
@@ -1,194 +0,0 @@
1
- from __future__ import annotations
2
-
3
- import json
4
- from typing import Any, Dict
5
-
6
- from requests import RequestException
7
-
8
- from together.types.error import TogetherErrorResponse
9
-
10
-
11
- class TogetherException(Exception):
12
- def __init__(
13
- self,
14
- message: (
15
- TogetherErrorResponse | Exception | str | RequestException | None
16
- ) = None,
17
- headers: str | Dict[Any, Any] | None = None,
18
- request_id: str | None = None,
19
- http_status: int | None = None,
20
- ) -> None:
21
- if isinstance(message, TogetherErrorResponse):
22
- self.api_response = message
23
-
24
- _message = (
25
- json.dumps(message.model_dump(exclude_none=True))
26
- if isinstance(message, TogetherErrorResponse)
27
- else message
28
- )
29
- if http_status is not None:
30
- self._message = f"Error code: {http_status} - {_message}"
31
- else:
32
- self._message = str(_message)
33
-
34
- super().__init__(self._message)
35
-
36
- self.http_status = http_status
37
- self.headers = headers or {}
38
- self.request_id = request_id
39
-
40
- def __repr__(self) -> str:
41
- repr_message = json.dumps(
42
- {
43
- "response": self._message,
44
- "status": self.http_status,
45
- "request_id": self.request_id,
46
- "headers": self.headers,
47
- }
48
- )
49
- return "%s(%r)" % (self.__class__.__name__, repr_message)
50
-
51
-
52
- class AuthenticationError(TogetherException):
53
- def __init__(
54
- self,
55
- message: (
56
- TogetherErrorResponse | Exception | str | RequestException | None
57
- ) = None,
58
- **kwargs: Any,
59
- ) -> None:
60
- super().__init__(message=message, **kwargs)
61
-
62
-
63
- class ResponseError(TogetherException):
64
- def __init__(
65
- self,
66
- message: (
67
- TogetherErrorResponse | Exception | str | RequestException | None
68
- ) = None,
69
- **kwargs: Any,
70
- ) -> None:
71
- super().__init__(message=message, **kwargs)
72
-
73
-
74
- class JSONError(TogetherException):
75
- def __init__(
76
- self,
77
- message: (
78
- TogetherErrorResponse | Exception | str | RequestException | None
79
- ) = None,
80
- **kwargs: Any,
81
- ) -> None:
82
- super().__init__(message=message, **kwargs)
83
-
84
-
85
- class InstanceError(TogetherException):
86
- def __init__(self, model: str | None = "model", **kwargs: Any) -> None:
87
- super().__init__(**kwargs)
88
- self.message = f"""No running instances for {model}.
89
- You can start an instance with one of the following methods:
90
- 1. navigating to the Together Playground at api.together.ai
91
- 2. starting one in python using together.Models.start(model_name)
92
- 3. `$ together models start <MODEL_NAME>` at the command line.
93
- See `together.Models.list()` in python or `$ together models list` in command line
94
- to get an updated list of valid model names.
95
- """
96
-
97
-
98
- class RateLimitError(TogetherException):
99
- def __init__(
100
- self,
101
- message: (
102
- TogetherErrorResponse | Exception | str | RequestException | None
103
- ) = None,
104
- **kwargs: Any,
105
- ) -> None:
106
- super().__init__(message=message, **kwargs)
107
-
108
-
109
- class FileTypeError(TogetherException):
110
- def __init__(
111
- self,
112
- message: (
113
- TogetherErrorResponse | Exception | str | RequestException | None
114
- ) = None,
115
- **kwargs: Any,
116
- ) -> None:
117
- super().__init__(message=message, **kwargs)
118
-
119
-
120
- class AttributeError(TogetherException):
121
- def __init__(
122
- self,
123
- message: (
124
- TogetherErrorResponse | Exception | str | RequestException | None
125
- ) = None,
126
- **kwargs: Any,
127
- ) -> None:
128
- super().__init__(message=message, **kwargs)
129
-
130
-
131
- class Timeout(TogetherException):
132
- def __init__(
133
- self,
134
- message: (
135
- TogetherErrorResponse | Exception | str | RequestException | None
136
- ) = None,
137
- **kwargs: Any,
138
- ) -> None:
139
- super().__init__(message=message, **kwargs)
140
-
141
-
142
- class APIConnectionError(TogetherException):
143
- def __init__(
144
- self,
145
- message: (
146
- TogetherErrorResponse | Exception | str | RequestException | None
147
- ) = None,
148
- **kwargs: Any,
149
- ) -> None:
150
- super().__init__(message=message, **kwargs)
151
-
152
-
153
- class InvalidRequestError(TogetherException):
154
- def __init__(
155
- self,
156
- message: (
157
- TogetherErrorResponse | Exception | str | RequestException | None
158
- ) = None,
159
- **kwargs: Any,
160
- ) -> None:
161
- super().__init__(message=message, **kwargs)
162
-
163
-
164
- class APIError(TogetherException):
165
- def __init__(
166
- self,
167
- message: (
168
- TogetherErrorResponse | Exception | str | RequestException | None
169
- ) = None,
170
- **kwargs: Any,
171
- ) -> None:
172
- super().__init__(message=message, **kwargs)
173
-
174
-
175
- class ServiceUnavailableError(TogetherException):
176
- def __init__(
177
- self,
178
- message: (
179
- TogetherErrorResponse | Exception | str | RequestException | None
180
- ) = None,
181
- **kwargs: Any,
182
- ) -> None:
183
- super().__init__(message=message, **kwargs)
184
-
185
-
186
- class DownloadError(TogetherException):
187
- def __init__(
188
- self,
189
- message: (
190
- TogetherErrorResponse | Exception | str | RequestException | None
191
- ) = None,
192
- **kwargs: Any,
193
- ) -> None:
194
- super().__init__(message=message, **kwargs)