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.
Files changed (205) hide show
  1. together/__init__.py +101 -63
  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 +108 -75
  30. together/lib/cli/api/evals.py +588 -0
  31. together/{cli → lib/cli}/api/files.py +20 -17
  32. together/{cli/api/finetune.py → lib/cli/api/fine_tuning.py} +161 -120
  33. together/lib/cli/api/models.py +140 -0
  34. together/{cli → lib/cli}/api/utils.py +6 -7
  35. together/{cli → lib/cli}/cli.py +16 -24
  36. together/{constants.py → lib/constants.py} +17 -12
  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 +455 -0
  44. together/{utils → lib/utils}/__init__.py +6 -14
  45. together/{utils → lib/utils}/_log.py +11 -16
  46. together/lib/utils/files.py +628 -0
  47. together/lib/utils/serializer.py +10 -0
  48. together/{utils → lib/utils}/tools.py +19 -55
  49. together/resources/__init__.py +225 -33
  50. together/resources/audio/__init__.py +72 -21
  51. together/resources/audio/audio.py +198 -0
  52. together/resources/audio/speech.py +574 -122
  53. together/resources/audio/transcriptions.py +282 -0
  54. together/resources/audio/translations.py +256 -0
  55. together/resources/audio/voices.py +135 -0
  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 +598 -395
  66. together/resources/evals.py +452 -0
  67. together/resources/files.py +398 -121
  68. together/resources/fine_tuning.py +1033 -0
  69. together/resources/hardware.py +181 -0
  70. together/resources/images.py +256 -108
  71. together/resources/jobs.py +214 -0
  72. together/resources/models.py +238 -90
  73. together/resources/rerank.py +190 -92
  74. together/resources/videos.py +374 -0
  75. together/types/__init__.py +65 -109
  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_job.py +57 -0
  157. together-2.0.0a8.dist-info/METADATA +680 -0
  158. together-2.0.0a8.dist-info/RECORD +164 -0
  159. {together-1.5.17.dist-info → together-2.0.0a8.dist-info}/WHEEL +1 -1
  160. together-2.0.0a8.dist-info/entry_points.txt +2 -0
  161. {together-1.5.17.dist-info → together-2.0.0a8.dist-info/licenses}/LICENSE +1 -1
  162. together/abstract/api_requestor.py +0 -729
  163. together/cli/api/chat.py +0 -276
  164. together/cli/api/completions.py +0 -119
  165. together/cli/api/images.py +0 -93
  166. together/cli/api/models.py +0 -55
  167. together/client.py +0 -176
  168. together/error.py +0 -194
  169. together/filemanager.py +0 -389
  170. together/legacy/__init__.py +0 -0
  171. together/legacy/base.py +0 -27
  172. together/legacy/complete.py +0 -93
  173. together/legacy/embeddings.py +0 -27
  174. together/legacy/files.py +0 -146
  175. together/legacy/finetune.py +0 -177
  176. together/legacy/images.py +0 -27
  177. together/legacy/models.py +0 -44
  178. together/resources/batch.py +0 -136
  179. together/resources/code_interpreter.py +0 -82
  180. together/resources/finetune.py +0 -1064
  181. together/together_response.py +0 -50
  182. together/types/abstract.py +0 -26
  183. together/types/audio_speech.py +0 -110
  184. together/types/batch.py +0 -53
  185. together/types/chat_completions.py +0 -197
  186. together/types/code_interpreter.py +0 -57
  187. together/types/common.py +0 -66
  188. together/types/completions.py +0 -107
  189. together/types/embeddings.py +0 -35
  190. together/types/endpoints.py +0 -123
  191. together/types/error.py +0 -16
  192. together/types/files.py +0 -90
  193. together/types/finetune.py +0 -398
  194. together/types/images.py +0 -44
  195. together/types/models.py +0 -45
  196. together/types/rerank.py +0 -43
  197. together/utils/api_helpers.py +0 -124
  198. together/utils/files.py +0 -425
  199. together/version.py +0 -6
  200. together-1.5.17.dist-info/METADATA +0 -525
  201. together-1.5.17.dist-info/RECORD +0 -69
  202. together-1.5.17.dist-info/entry_points.txt +0 -3
  203. /together/{abstract → lib/cli}/__init__.py +0 -0
  204. /together/{cli → lib/cli/api}/__init__.py +0 -0
  205. /together/{cli/api/__init__.py → py.typed} +0 -0
together/client.py DELETED
@@ -1,176 +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
-
29
- # client options
30
- client: TogetherClient
31
-
32
- def __init__(
33
- self,
34
- *,
35
- api_key: str | None = None,
36
- base_url: str | None = None,
37
- timeout: float | None = None,
38
- max_retries: int | None = None,
39
- supplied_headers: Dict[str, str] | None = None,
40
- ) -> None:
41
- """Construct a new synchronous together client instance.
42
-
43
- This automatically infers the following arguments from their corresponding environment variables if they are not provided:
44
- - `api_key` from `TOGETHER_API_KEY`
45
- - `base_url` from `TOGETHER_BASE_URL`
46
- """
47
-
48
- # get api key
49
- if not api_key:
50
- api_key = os.environ.get("TOGETHER_API_KEY")
51
-
52
- if not api_key and "google.colab" in sys.modules:
53
- api_key = get_google_colab_secret("TOGETHER_API_KEY")
54
-
55
- if not api_key:
56
- raise AuthenticationError(
57
- "The api_key client option must be set either by passing api_key to the client or by setting the "
58
- "TOGETHER_API_KEY environment variable"
59
- )
60
-
61
- # get base url
62
- if not base_url:
63
- base_url = os.environ.get("TOGETHER_BASE_URL")
64
-
65
- if not base_url:
66
- base_url = BASE_URL
67
-
68
- if timeout is None:
69
- timeout = TIMEOUT_SECS
70
-
71
- if max_retries is None:
72
- max_retries = MAX_RETRIES
73
-
74
- # TogetherClient object
75
- self.client = TogetherClient(
76
- api_key=api_key,
77
- base_url=enforce_trailing_slash(base_url),
78
- timeout=timeout,
79
- max_retries=max_retries,
80
- supplied_headers=supplied_headers,
81
- )
82
-
83
- self.completions = resources.Completions(self.client)
84
- self.chat = resources.Chat(self.client)
85
- self.embeddings = resources.Embeddings(self.client)
86
- self.files = resources.Files(self.client)
87
- self.images = resources.Images(self.client)
88
- self.models = resources.Models(self.client)
89
- self.fine_tuning = resources.FineTuning(self.client)
90
- self.rerank = resources.Rerank(self.client)
91
- self.audio = resources.Audio(self.client)
92
- self.endpoints = resources.Endpoints(self.client)
93
- self.code_interpreter = CodeInterpreter(self.client)
94
- self.batches = resources.Batches(self.client)
95
-
96
-
97
- class AsyncTogether:
98
- completions: resources.AsyncCompletions
99
- chat: resources.AsyncChat
100
- embeddings: resources.AsyncEmbeddings
101
- files: resources.AsyncFiles
102
- images: resources.AsyncImages
103
- models: resources.AsyncModels
104
- fine_tuning: resources.AsyncFineTuning
105
- rerank: resources.AsyncRerank
106
- code_interpreter: CodeInterpreter
107
- batches: resources.AsyncBatches
108
- # client options
109
- client: TogetherClient
110
-
111
- def __init__(
112
- self,
113
- *,
114
- api_key: str | None = None,
115
- base_url: str | None = None,
116
- timeout: float | None = None,
117
- max_retries: int | None = None,
118
- supplied_headers: Dict[str, str] | None = None,
119
- ) -> None:
120
- """Construct a new async together client instance.
121
-
122
- This automatically infers the following arguments from their corresponding environment variables if they are not provided:
123
- - `api_key` from `TOGETHER_API_KEY`
124
- - `base_url` from `TOGETHER_BASE_URL`
125
- """
126
-
127
- # get api key
128
- if not api_key:
129
- api_key = os.environ.get("TOGETHER_API_KEY")
130
-
131
- if not api_key and "google.colab" in sys.modules:
132
- api_key = get_google_colab_secret("TOGETHER_API_KEY")
133
-
134
- if not api_key:
135
- raise AuthenticationError(
136
- "The api_key client option must be set either by passing api_key to the client or by setting the "
137
- "TOGETHER_API_KEY environment variable"
138
- )
139
-
140
- # get base url
141
- if not base_url:
142
- base_url = os.environ.get("TOGETHER_BASE_URL")
143
-
144
- if not base_url:
145
- base_url = BASE_URL
146
-
147
- if timeout is None:
148
- timeout = TIMEOUT_SECS
149
-
150
- if max_retries is None:
151
- max_retries = MAX_RETRIES
152
-
153
- # TogetherClient object
154
- self.client = TogetherClient(
155
- api_key=api_key,
156
- base_url=enforce_trailing_slash(base_url),
157
- timeout=timeout,
158
- max_retries=max_retries,
159
- supplied_headers=supplied_headers,
160
- )
161
-
162
- self.completions = resources.AsyncCompletions(self.client)
163
- self.chat = resources.AsyncChat(self.client)
164
- self.embeddings = resources.AsyncEmbeddings(self.client)
165
- self.files = resources.AsyncFiles(self.client)
166
- self.images = resources.AsyncImages(self.client)
167
- self.models = resources.AsyncModels(self.client)
168
- self.fine_tuning = resources.AsyncFineTuning(self.client)
169
- self.rerank = resources.AsyncRerank(self.client)
170
- self.code_interpreter = CodeInterpreter(self.client)
171
- self.batches = resources.AsyncBatches(self.client)
172
-
173
-
174
- Client = Together
175
-
176
- 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)