together 1.5.35__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 +66 -84
  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 -490
  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.35.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.35.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 -465
  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.35.dist-info/METADATA +0 -583
  204. together-1.5.35.dist-info/RECORD +0 -77
  205. together-1.5.35.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
@@ -1,104 +1,208 @@
1
- from __future__ import annotations
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from typing import List, Any
3
+ from __future__ import annotations
4
4
 
5
- from together.abstract import api_requestor
6
- from together.together_response import TogetherResponse
7
- from together.types import (
8
- EmbeddingRequest,
9
- EmbeddingResponse,
10
- TogetherClient,
11
- TogetherRequest,
5
+ from typing import Union
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from ..types import embedding_create_params
11
+ from .._types import Body, Query, Headers, NotGiven, SequenceNotStr, not_given
12
+ from .._utils import maybe_transform, async_maybe_transform
13
+ from .._compat import cached_property
14
+ from .._resource import SyncAPIResource, AsyncAPIResource
15
+ from .._response import (
16
+ to_raw_response_wrapper,
17
+ to_streamed_response_wrapper,
18
+ async_to_raw_response_wrapper,
19
+ async_to_streamed_response_wrapper,
12
20
  )
21
+ from .._base_client import make_request_options
22
+ from ..types.embedding import Embedding
23
+
24
+ __all__ = ["EmbeddingsResource", "AsyncEmbeddingsResource"]
13
25
 
14
26
 
15
- class Embeddings:
16
- def __init__(self, client: TogetherClient) -> None:
17
- self._client = client
27
+ class EmbeddingsResource(SyncAPIResource):
28
+ @cached_property
29
+ def with_raw_response(self) -> EmbeddingsResourceWithRawResponse:
30
+ """
31
+ This property can be used as a prefix for any HTTP method call to return
32
+ the raw response object instead of the parsed content.
33
+
34
+ For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
35
+ """
36
+ return EmbeddingsResourceWithRawResponse(self)
37
+
38
+ @cached_property
39
+ def with_streaming_response(self) -> EmbeddingsResourceWithStreamingResponse:
40
+ """
41
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
42
+
43
+ For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
44
+ """
45
+ return EmbeddingsResourceWithStreamingResponse(self)
18
46
 
19
47
  def create(
20
48
  self,
21
49
  *,
22
- input: str | List[str],
23
- model: str,
24
- **kwargs: Any,
25
- ) -> EmbeddingResponse:
50
+ input: Union[str, SequenceNotStr[str]],
51
+ model: Union[
52
+ Literal[
53
+ "WhereIsAI/UAE-Large-V1",
54
+ "BAAI/bge-large-en-v1.5",
55
+ "BAAI/bge-base-en-v1.5",
56
+ "togethercomputer/m2-bert-80M-8k-retrieval",
57
+ ],
58
+ str,
59
+ ],
60
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
61
+ # The extra values given here take precedence over values defined on the client or passed to this method.
62
+ extra_headers: Headers | None = None,
63
+ extra_query: Query | None = None,
64
+ extra_body: Body | None = None,
65
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
66
+ ) -> Embedding:
26
67
  """
27
- Method to generate completions based on a given prompt using a specified model.
68
+ Query an embedding model for a given string of text.
28
69
 
29
70
  Args:
30
- input (str | List[str]): A string or list of strings to embed
31
- model (str): The name of the model to query.
71
+ input: A string providing the text for the model to embed.
32
72
 
33
- Returns:
34
- EmbeddingResponse: Object containing embeddings
35
- """
73
+ model: The name of the embedding model to use.
36
74
 
37
- requestor = api_requestor.APIRequestor(
38
- client=self._client,
39
- )
75
+ [See all of Together AI's embedding models](https://docs.together.ai/docs/serverless-models#embedding-models)
76
+
77
+ extra_headers: Send extra headers
78
+
79
+ extra_query: Add additional query parameters to the request
40
80
 
41
- parameter_payload = EmbeddingRequest(
42
- input=input,
43
- model=model,
44
- **kwargs,
45
- ).model_dump(exclude_none=True)
46
-
47
- response, _, _ = requestor.request(
48
- options=TogetherRequest(
49
- method="POST",
50
- url="embeddings",
51
- params=parameter_payload,
81
+ extra_body: Add additional JSON properties to the request
82
+
83
+ timeout: Override the client-level default timeout for this request, in seconds
84
+ """
85
+ return self._post(
86
+ "/embeddings",
87
+ body=maybe_transform(
88
+ {
89
+ "input": input,
90
+ "model": model,
91
+ },
92
+ embedding_create_params.EmbeddingCreateParams,
52
93
  ),
53
- stream=False,
94
+ options=make_request_options(
95
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
96
+ ),
97
+ cast_to=Embedding,
54
98
  )
55
99
 
56
- assert isinstance(response, TogetherResponse)
57
100
 
58
- return EmbeddingResponse(**response.data)
101
+ class AsyncEmbeddingsResource(AsyncAPIResource):
102
+ @cached_property
103
+ def with_raw_response(self) -> AsyncEmbeddingsResourceWithRawResponse:
104
+ """
105
+ This property can be used as a prefix for any HTTP method call to return
106
+ the raw response object instead of the parsed content.
59
107
 
108
+ For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
109
+ """
110
+ return AsyncEmbeddingsResourceWithRawResponse(self)
60
111
 
61
- class AsyncEmbeddings:
62
- def __init__(self, client: TogetherClient) -> None:
63
- self._client = client
112
+ @cached_property
113
+ def with_streaming_response(self) -> AsyncEmbeddingsResourceWithStreamingResponse:
114
+ """
115
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
116
+
117
+ For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
118
+ """
119
+ return AsyncEmbeddingsResourceWithStreamingResponse(self)
64
120
 
65
121
  async def create(
66
122
  self,
67
123
  *,
68
- input: str | List[str],
69
- model: str,
70
- **kwargs: Any,
71
- ) -> EmbeddingResponse:
124
+ input: Union[str, SequenceNotStr[str]],
125
+ model: Union[
126
+ Literal[
127
+ "WhereIsAI/UAE-Large-V1",
128
+ "BAAI/bge-large-en-v1.5",
129
+ "BAAI/bge-base-en-v1.5",
130
+ "togethercomputer/m2-bert-80M-8k-retrieval",
131
+ ],
132
+ str,
133
+ ],
134
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
135
+ # The extra values given here take precedence over values defined on the client or passed to this method.
136
+ extra_headers: Headers | None = None,
137
+ extra_query: Query | None = None,
138
+ extra_body: Body | None = None,
139
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
140
+ ) -> Embedding:
72
141
  """
73
- Async method to generate completions based on a given prompt using a specified model.
142
+ Query an embedding model for a given string of text.
74
143
 
75
144
  Args:
76
- input (str | List[str]): A string or list of strings to embed
77
- model (str): The name of the model to query.
145
+ input: A string providing the text for the model to embed.
146
+
147
+ model: The name of the embedding model to use.
148
+
149
+ [See all of Together AI's embedding models](https://docs.together.ai/docs/serverless-models#embedding-models)
150
+
151
+ extra_headers: Send extra headers
152
+
153
+ extra_query: Add additional query parameters to the request
78
154
 
79
- Returns:
80
- EmbeddingResponse: Object containing embeddings
155
+ extra_body: Add additional JSON properties to the request
156
+
157
+ timeout: Override the client-level default timeout for this request, in seconds
81
158
  """
159
+ return await self._post(
160
+ "/embeddings",
161
+ body=await async_maybe_transform(
162
+ {
163
+ "input": input,
164
+ "model": model,
165
+ },
166
+ embedding_create_params.EmbeddingCreateParams,
167
+ ),
168
+ options=make_request_options(
169
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
170
+ ),
171
+ cast_to=Embedding,
172
+ )
173
+
82
174
 
83
- requestor = api_requestor.APIRequestor(
84
- client=self._client,
175
+ class EmbeddingsResourceWithRawResponse:
176
+ def __init__(self, embeddings: EmbeddingsResource) -> None:
177
+ self._embeddings = embeddings
178
+
179
+ self.create = to_raw_response_wrapper(
180
+ embeddings.create,
85
181
  )
86
182
 
87
- parameter_payload = EmbeddingRequest(
88
- input=input,
89
- model=model,
90
- **kwargs,
91
- ).model_dump(exclude_none=True)
92
-
93
- response, _, _ = await requestor.arequest(
94
- options=TogetherRequest(
95
- method="POST",
96
- url="embeddings",
97
- params=parameter_payload,
98
- ),
99
- stream=False,
183
+
184
+ class AsyncEmbeddingsResourceWithRawResponse:
185
+ def __init__(self, embeddings: AsyncEmbeddingsResource) -> None:
186
+ self._embeddings = embeddings
187
+
188
+ self.create = async_to_raw_response_wrapper(
189
+ embeddings.create,
190
+ )
191
+
192
+
193
+ class EmbeddingsResourceWithStreamingResponse:
194
+ def __init__(self, embeddings: EmbeddingsResource) -> None:
195
+ self._embeddings = embeddings
196
+
197
+ self.create = to_streamed_response_wrapper(
198
+ embeddings.create,
100
199
  )
101
200
 
102
- assert isinstance(response, TogetherResponse)
103
201
 
104
- return EmbeddingResponse(**response.data)
202
+ class AsyncEmbeddingsResourceWithStreamingResponse:
203
+ def __init__(self, embeddings: AsyncEmbeddingsResource) -> None:
204
+ self._embeddings = embeddings
205
+
206
+ self.create = async_to_streamed_response_wrapper(
207
+ embeddings.create,
208
+ )