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
@@ -1,65 +1,135 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
1
3
  from __future__ import annotations
2
4
 
3
- from together.abstract import api_requestor
4
- from together.together_response import TogetherResponse
5
- from together.types import (
6
- TogetherClient,
7
- TogetherRequest,
8
- VoiceListResponse,
5
+ import httpx
6
+
7
+ from ..._types import Body, Query, Headers, NotGiven, not_given
8
+ from ..._compat import cached_property
9
+ from ..._resource import SyncAPIResource, AsyncAPIResource
10
+ from ..._response import (
11
+ to_raw_response_wrapper,
12
+ to_streamed_response_wrapper,
13
+ async_to_raw_response_wrapper,
14
+ async_to_streamed_response_wrapper,
9
15
  )
16
+ from ..._base_client import make_request_options
17
+ from ...types.audio.voice_list_response import VoiceListResponse
10
18
 
19
+ __all__ = ["VoicesResource", "AsyncVoicesResource"]
11
20
 
12
- class Voices:
13
- def __init__(self, client: TogetherClient) -> None:
14
- self._client = client
15
21
 
16
- def list(self) -> VoiceListResponse:
22
+ class VoicesResource(SyncAPIResource):
23
+ @cached_property
24
+ def with_raw_response(self) -> VoicesResourceWithRawResponse:
17
25
  """
18
- Method to return list of available voices on the API
26
+ This property can be used as a prefix for any HTTP method call to return
27
+ the raw response object instead of the parsed content.
19
28
 
20
- Returns:
21
- VoiceListResponse: Response containing models and their available voices
29
+ For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
22
30
  """
23
- requestor = api_requestor.APIRequestor(
24
- client=self._client,
25
- )
31
+ return VoicesResourceWithRawResponse(self)
32
+
33
+ @cached_property
34
+ def with_streaming_response(self) -> VoicesResourceWithStreamingResponse:
35
+ """
36
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
37
+
38
+ For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
39
+ """
40
+ return VoicesResourceWithStreamingResponse(self)
26
41
 
27
- response, _, _ = requestor.request(
28
- options=TogetherRequest(
29
- method="GET",
30
- url="voices",
42
+ def list(
43
+ self,
44
+ *,
45
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
46
+ # The extra values given here take precedence over values defined on the client or passed to this method.
47
+ extra_headers: Headers | None = None,
48
+ extra_query: Query | None = None,
49
+ extra_body: Body | None = None,
50
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
51
+ ) -> VoiceListResponse:
52
+ """Fetch available voices for each model"""
53
+ return self._get(
54
+ "/voices",
55
+ options=make_request_options(
56
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
31
57
  ),
32
- stream=False,
58
+ cast_to=VoiceListResponse,
33
59
  )
34
60
 
35
- assert isinstance(response, TogetherResponse)
36
-
37
- return VoiceListResponse(**response.data)
38
61
 
62
+ class AsyncVoicesResource(AsyncAPIResource):
63
+ @cached_property
64
+ def with_raw_response(self) -> AsyncVoicesResourceWithRawResponse:
65
+ """
66
+ This property can be used as a prefix for any HTTP method call to return
67
+ the raw response object instead of the parsed content.
39
68
 
40
- class AsyncVoices:
41
- def __init__(self, client: TogetherClient) -> None:
42
- self._client = client
69
+ For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
70
+ """
71
+ return AsyncVoicesResourceWithRawResponse(self)
43
72
 
44
- async def list(self) -> VoiceListResponse:
73
+ @cached_property
74
+ def with_streaming_response(self) -> AsyncVoicesResourceWithStreamingResponse:
45
75
  """
46
- Async method to return list of available voices on the API
76
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
47
77
 
48
- Returns:
49
- VoiceListResponse: Response containing models and their available voices
78
+ For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
50
79
  """
51
- requestor = api_requestor.APIRequestor(
52
- client=self._client,
53
- )
80
+ return AsyncVoicesResourceWithStreamingResponse(self)
54
81
 
55
- response, _, _ = await requestor.arequest(
56
- options=TogetherRequest(
57
- method="GET",
58
- url="voices",
82
+ async def list(
83
+ self,
84
+ *,
85
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
86
+ # The extra values given here take precedence over values defined on the client or passed to this method.
87
+ extra_headers: Headers | None = None,
88
+ extra_query: Query | None = None,
89
+ extra_body: Body | None = None,
90
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
91
+ ) -> VoiceListResponse:
92
+ """Fetch available voices for each model"""
93
+ return await self._get(
94
+ "/voices",
95
+ options=make_request_options(
96
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
59
97
  ),
60
- stream=False,
98
+ cast_to=VoiceListResponse,
61
99
  )
62
100
 
63
- assert isinstance(response, TogetherResponse)
64
101
 
65
- return VoiceListResponse(**response.data)
102
+ class VoicesResourceWithRawResponse:
103
+ def __init__(self, voices: VoicesResource) -> None:
104
+ self._voices = voices
105
+
106
+ self.list = to_raw_response_wrapper(
107
+ voices.list,
108
+ )
109
+
110
+
111
+ class AsyncVoicesResourceWithRawResponse:
112
+ def __init__(self, voices: AsyncVoicesResource) -> None:
113
+ self._voices = voices
114
+
115
+ self.list = async_to_raw_response_wrapper(
116
+ voices.list,
117
+ )
118
+
119
+
120
+ class VoicesResourceWithStreamingResponse:
121
+ def __init__(self, voices: VoicesResource) -> None:
122
+ self._voices = voices
123
+
124
+ self.list = to_streamed_response_wrapper(
125
+ voices.list,
126
+ )
127
+
128
+
129
+ class AsyncVoicesResourceWithStreamingResponse:
130
+ def __init__(self, voices: AsyncVoicesResource) -> None:
131
+ self._voices = voices
132
+
133
+ self.list = async_to_streamed_response_wrapper(
134
+ voices.list,
135
+ )
@@ -0,0 +1,417 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ..types import batch_create_params
8
+ from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
9
+ from .._utils import maybe_transform, async_maybe_transform
10
+ from .._compat import cached_property
11
+ from .._resource import SyncAPIResource, AsyncAPIResource
12
+ from .._response import (
13
+ to_raw_response_wrapper,
14
+ to_streamed_response_wrapper,
15
+ async_to_raw_response_wrapper,
16
+ async_to_streamed_response_wrapper,
17
+ )
18
+ from .._base_client import make_request_options
19
+ from ..types.batch_job import BatchJob
20
+ from ..types.batch_list_response import BatchListResponse
21
+ from ..types.batch_create_response import BatchCreateResponse
22
+
23
+ __all__ = ["BatchesResource", "AsyncBatchesResource"]
24
+
25
+
26
+ class BatchesResource(SyncAPIResource):
27
+ @cached_property
28
+ def with_raw_response(self) -> BatchesResourceWithRawResponse:
29
+ """
30
+ This property can be used as a prefix for any HTTP method call to return
31
+ the raw response object instead of the parsed content.
32
+
33
+ For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
34
+ """
35
+ return BatchesResourceWithRawResponse(self)
36
+
37
+ @cached_property
38
+ def with_streaming_response(self) -> BatchesResourceWithStreamingResponse:
39
+ """
40
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
41
+
42
+ For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
43
+ """
44
+ return BatchesResourceWithStreamingResponse(self)
45
+
46
+ def create(
47
+ self,
48
+ *,
49
+ endpoint: str,
50
+ input_file_id: str,
51
+ completion_window: str | Omit = omit,
52
+ model_id: str | Omit = omit,
53
+ priority: int | Omit = omit,
54
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
55
+ # The extra values given here take precedence over values defined on the client or passed to this method.
56
+ extra_headers: Headers | None = None,
57
+ extra_query: Query | None = None,
58
+ extra_body: Body | None = None,
59
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
60
+ ) -> BatchCreateResponse:
61
+ """
62
+ Create a new batch job with the given input file and endpoint
63
+
64
+ Args:
65
+ endpoint: The endpoint to use for batch processing
66
+
67
+ input_file_id: ID of the uploaded input file containing batch requests
68
+
69
+ completion_window: Time window for batch completion (optional)
70
+
71
+ model_id: Model to use for processing batch requests
72
+
73
+ priority: Priority for batch processing (optional)
74
+
75
+ extra_headers: Send extra headers
76
+
77
+ extra_query: Add additional query parameters to the request
78
+
79
+ extra_body: Add additional JSON properties to the request
80
+
81
+ timeout: Override the client-level default timeout for this request, in seconds
82
+ """
83
+ return self._post(
84
+ "/batches",
85
+ body=maybe_transform(
86
+ {
87
+ "endpoint": endpoint,
88
+ "input_file_id": input_file_id,
89
+ "completion_window": completion_window,
90
+ "model_id": model_id,
91
+ "priority": priority,
92
+ },
93
+ batch_create_params.BatchCreateParams,
94
+ ),
95
+ options=make_request_options(
96
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
97
+ ),
98
+ cast_to=BatchCreateResponse,
99
+ )
100
+
101
+ def retrieve(
102
+ self,
103
+ id: str,
104
+ *,
105
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
106
+ # The extra values given here take precedence over values defined on the client or passed to this method.
107
+ extra_headers: Headers | None = None,
108
+ extra_query: Query | None = None,
109
+ extra_body: Body | None = None,
110
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
111
+ ) -> BatchJob:
112
+ """
113
+ Get details of a batch job by ID
114
+
115
+ Args:
116
+ extra_headers: Send extra headers
117
+
118
+ extra_query: Add additional query parameters to the request
119
+
120
+ extra_body: Add additional JSON properties to the request
121
+
122
+ timeout: Override the client-level default timeout for this request, in seconds
123
+ """
124
+ if not id:
125
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
126
+ return self._get(
127
+ f"/batches/{id}",
128
+ options=make_request_options(
129
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
130
+ ),
131
+ cast_to=BatchJob,
132
+ )
133
+
134
+ def list(
135
+ self,
136
+ *,
137
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
138
+ # The extra values given here take precedence over values defined on the client or passed to this method.
139
+ extra_headers: Headers | None = None,
140
+ extra_query: Query | None = None,
141
+ extra_body: Body | None = None,
142
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
143
+ ) -> BatchListResponse:
144
+ """List all batch jobs for the authenticated user"""
145
+ return self._get(
146
+ "/batches",
147
+ options=make_request_options(
148
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
149
+ ),
150
+ cast_to=BatchListResponse,
151
+ )
152
+
153
+ def cancel(
154
+ self,
155
+ id: str,
156
+ *,
157
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
158
+ # The extra values given here take precedence over values defined on the client or passed to this method.
159
+ extra_headers: Headers | None = None,
160
+ extra_query: Query | None = None,
161
+ extra_body: Body | None = None,
162
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
163
+ ) -> BatchJob:
164
+ """
165
+ Cancel a batch job by ID
166
+
167
+ Args:
168
+ extra_headers: Send extra headers
169
+
170
+ extra_query: Add additional query parameters to the request
171
+
172
+ extra_body: Add additional JSON properties to the request
173
+
174
+ timeout: Override the client-level default timeout for this request, in seconds
175
+ """
176
+ if not id:
177
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
178
+ return self._post(
179
+ f"/batches/{id}/cancel",
180
+ options=make_request_options(
181
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
182
+ ),
183
+ cast_to=BatchJob,
184
+ )
185
+
186
+
187
+ class AsyncBatchesResource(AsyncAPIResource):
188
+ @cached_property
189
+ def with_raw_response(self) -> AsyncBatchesResourceWithRawResponse:
190
+ """
191
+ This property can be used as a prefix for any HTTP method call to return
192
+ the raw response object instead of the parsed content.
193
+
194
+ For more information, see https://www.github.com/togethercomputer/together-py#accessing-raw-response-data-eg-headers
195
+ """
196
+ return AsyncBatchesResourceWithRawResponse(self)
197
+
198
+ @cached_property
199
+ def with_streaming_response(self) -> AsyncBatchesResourceWithStreamingResponse:
200
+ """
201
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
202
+
203
+ For more information, see https://www.github.com/togethercomputer/together-py#with_streaming_response
204
+ """
205
+ return AsyncBatchesResourceWithStreamingResponse(self)
206
+
207
+ async def create(
208
+ self,
209
+ *,
210
+ endpoint: str,
211
+ input_file_id: str,
212
+ completion_window: str | Omit = omit,
213
+ model_id: str | Omit = omit,
214
+ priority: int | Omit = omit,
215
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
216
+ # The extra values given here take precedence over values defined on the client or passed to this method.
217
+ extra_headers: Headers | None = None,
218
+ extra_query: Query | None = None,
219
+ extra_body: Body | None = None,
220
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
221
+ ) -> BatchCreateResponse:
222
+ """
223
+ Create a new batch job with the given input file and endpoint
224
+
225
+ Args:
226
+ endpoint: The endpoint to use for batch processing
227
+
228
+ input_file_id: ID of the uploaded input file containing batch requests
229
+
230
+ completion_window: Time window for batch completion (optional)
231
+
232
+ model_id: Model to use for processing batch requests
233
+
234
+ priority: Priority for batch processing (optional)
235
+
236
+ extra_headers: Send extra headers
237
+
238
+ extra_query: Add additional query parameters to the request
239
+
240
+ extra_body: Add additional JSON properties to the request
241
+
242
+ timeout: Override the client-level default timeout for this request, in seconds
243
+ """
244
+ return await self._post(
245
+ "/batches",
246
+ body=await async_maybe_transform(
247
+ {
248
+ "endpoint": endpoint,
249
+ "input_file_id": input_file_id,
250
+ "completion_window": completion_window,
251
+ "model_id": model_id,
252
+ "priority": priority,
253
+ },
254
+ batch_create_params.BatchCreateParams,
255
+ ),
256
+ options=make_request_options(
257
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
258
+ ),
259
+ cast_to=BatchCreateResponse,
260
+ )
261
+
262
+ async def retrieve(
263
+ self,
264
+ id: str,
265
+ *,
266
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
267
+ # The extra values given here take precedence over values defined on the client or passed to this method.
268
+ extra_headers: Headers | None = None,
269
+ extra_query: Query | None = None,
270
+ extra_body: Body | None = None,
271
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
272
+ ) -> BatchJob:
273
+ """
274
+ Get details of a batch job by ID
275
+
276
+ Args:
277
+ extra_headers: Send extra headers
278
+
279
+ extra_query: Add additional query parameters to the request
280
+
281
+ extra_body: Add additional JSON properties to the request
282
+
283
+ timeout: Override the client-level default timeout for this request, in seconds
284
+ """
285
+ if not id:
286
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
287
+ return await self._get(
288
+ f"/batches/{id}",
289
+ options=make_request_options(
290
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
291
+ ),
292
+ cast_to=BatchJob,
293
+ )
294
+
295
+ async def list(
296
+ self,
297
+ *,
298
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
299
+ # The extra values given here take precedence over values defined on the client or passed to this method.
300
+ extra_headers: Headers | None = None,
301
+ extra_query: Query | None = None,
302
+ extra_body: Body | None = None,
303
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
304
+ ) -> BatchListResponse:
305
+ """List all batch jobs for the authenticated user"""
306
+ return await self._get(
307
+ "/batches",
308
+ options=make_request_options(
309
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
310
+ ),
311
+ cast_to=BatchListResponse,
312
+ )
313
+
314
+ async def cancel(
315
+ self,
316
+ id: str,
317
+ *,
318
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
319
+ # The extra values given here take precedence over values defined on the client or passed to this method.
320
+ extra_headers: Headers | None = None,
321
+ extra_query: Query | None = None,
322
+ extra_body: Body | None = None,
323
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
324
+ ) -> BatchJob:
325
+ """
326
+ Cancel a batch job by ID
327
+
328
+ Args:
329
+ extra_headers: Send extra headers
330
+
331
+ extra_query: Add additional query parameters to the request
332
+
333
+ extra_body: Add additional JSON properties to the request
334
+
335
+ timeout: Override the client-level default timeout for this request, in seconds
336
+ """
337
+ if not id:
338
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
339
+ return await self._post(
340
+ f"/batches/{id}/cancel",
341
+ options=make_request_options(
342
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
343
+ ),
344
+ cast_to=BatchJob,
345
+ )
346
+
347
+
348
+ class BatchesResourceWithRawResponse:
349
+ def __init__(self, batches: BatchesResource) -> None:
350
+ self._batches = batches
351
+
352
+ self.create = to_raw_response_wrapper(
353
+ batches.create,
354
+ )
355
+ self.retrieve = to_raw_response_wrapper(
356
+ batches.retrieve,
357
+ )
358
+ self.list = to_raw_response_wrapper(
359
+ batches.list,
360
+ )
361
+ self.cancel = to_raw_response_wrapper(
362
+ batches.cancel,
363
+ )
364
+
365
+
366
+ class AsyncBatchesResourceWithRawResponse:
367
+ def __init__(self, batches: AsyncBatchesResource) -> None:
368
+ self._batches = batches
369
+
370
+ self.create = async_to_raw_response_wrapper(
371
+ batches.create,
372
+ )
373
+ self.retrieve = async_to_raw_response_wrapper(
374
+ batches.retrieve,
375
+ )
376
+ self.list = async_to_raw_response_wrapper(
377
+ batches.list,
378
+ )
379
+ self.cancel = async_to_raw_response_wrapper(
380
+ batches.cancel,
381
+ )
382
+
383
+
384
+ class BatchesResourceWithStreamingResponse:
385
+ def __init__(self, batches: BatchesResource) -> None:
386
+ self._batches = batches
387
+
388
+ self.create = to_streamed_response_wrapper(
389
+ batches.create,
390
+ )
391
+ self.retrieve = to_streamed_response_wrapper(
392
+ batches.retrieve,
393
+ )
394
+ self.list = to_streamed_response_wrapper(
395
+ batches.list,
396
+ )
397
+ self.cancel = to_streamed_response_wrapper(
398
+ batches.cancel,
399
+ )
400
+
401
+
402
+ class AsyncBatchesResourceWithStreamingResponse:
403
+ def __init__(self, batches: AsyncBatchesResource) -> None:
404
+ self._batches = batches
405
+
406
+ self.create = async_to_streamed_response_wrapper(
407
+ batches.create,
408
+ )
409
+ self.retrieve = async_to_streamed_response_wrapper(
410
+ batches.retrieve,
411
+ )
412
+ self.list = async_to_streamed_response_wrapper(
413
+ batches.list,
414
+ )
415
+ self.cancel = async_to_streamed_response_wrapper(
416
+ batches.cancel,
417
+ )
@@ -1,24 +1,33 @@
1
- from functools import cached_property
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
- from together.resources.chat.completions import AsyncChatCompletions, ChatCompletions
4
- from together.types import (
5
- TogetherClient,
3
+ from .chat import (
4
+ ChatResource,
5
+ AsyncChatResource,
6
+ ChatResourceWithRawResponse,
7
+ AsyncChatResourceWithRawResponse,
8
+ ChatResourceWithStreamingResponse,
9
+ AsyncChatResourceWithStreamingResponse,
10
+ )
11
+ from .completions import (
12
+ CompletionsResource,
13
+ AsyncCompletionsResource,
14
+ CompletionsResourceWithRawResponse,
15
+ AsyncCompletionsResourceWithRawResponse,
16
+ CompletionsResourceWithStreamingResponse,
17
+ AsyncCompletionsResourceWithStreamingResponse,
6
18
  )
7
19
 
8
-
9
- class Chat:
10
- def __init__(self, client: TogetherClient) -> None:
11
- self._client = client
12
-
13
- @cached_property
14
- def completions(self) -> ChatCompletions:
15
- return ChatCompletions(self._client)
16
-
17
-
18
- class AsyncChat:
19
- def __init__(self, client: TogetherClient) -> None:
20
- self._client = client
21
-
22
- @cached_property
23
- def completions(self) -> AsyncChatCompletions:
24
- return AsyncChatCompletions(self._client)
20
+ __all__ = [
21
+ "CompletionsResource",
22
+ "AsyncCompletionsResource",
23
+ "CompletionsResourceWithRawResponse",
24
+ "AsyncCompletionsResourceWithRawResponse",
25
+ "CompletionsResourceWithStreamingResponse",
26
+ "AsyncCompletionsResourceWithStreamingResponse",
27
+ "ChatResource",
28
+ "AsyncChatResource",
29
+ "ChatResourceWithRawResponse",
30
+ "AsyncChatResourceWithRawResponse",
31
+ "ChatResourceWithStreamingResponse",
32
+ "AsyncChatResourceWithStreamingResponse",
33
+ ]