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
@@ -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
+ )