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
@@ -6,21 +6,19 @@ from typing import Any
6
6
  import click
7
7
 
8
8
  import together
9
- from together.cli.api.chat import chat, interactive
10
- from together.cli.api.completions import completions
11
- from together.cli.api.endpoints import endpoints
12
- from together.cli.api.evaluation import evaluation
13
- from together.cli.api.files import files
14
- from together.cli.api.finetune import fine_tuning
15
- from together.cli.api.images import images
16
- from together.cli.api.models import models
17
- from together.constants import MAX_RETRIES, TIMEOUT_SECS
9
+ from together._version import __version__
10
+ from together._constants import DEFAULT_TIMEOUT
11
+ from together.lib.cli.api.evals import evals
12
+ from together.lib.cli.api.files import files
13
+ from together.lib.cli.api.models import models
14
+ from together.lib.cli.api.endpoints import endpoints
15
+ from together.lib.cli.api.fine_tuning import fine_tuning
18
16
 
19
17
 
20
- def print_version(ctx: click.Context, params: Any, value: Any) -> None:
18
+ def print_version(ctx: click.Context, _params: Any, value: Any) -> None:
21
19
  if not value or ctx.resilient_parsing:
22
20
  return
23
- click.echo(f"Version {together.version}")
21
+ click.echo(f"Version {__version__}")
24
22
  ctx.exit()
25
23
 
26
24
 
@@ -32,16 +30,12 @@ def print_version(ctx: click.Context, params: Any, value: Any) -> None:
32
30
  help="API Key. Defaults to environment variable `TOGETHER_API_KEY`",
33
31
  default=os.getenv("TOGETHER_API_KEY"),
34
32
  )
35
- @click.option(
36
- "--base-url", type=str, help="API Base URL. Defaults to Together AI endpoint."
37
- )
38
- @click.option(
39
- "--timeout", type=int, help=f"Request timeout. Defaults to {TIMEOUT_SECS} seconds"
40
- )
33
+ @click.option("--base-url", type=str, help="API Base URL. Defaults to Together AI endpoint.")
34
+ @click.option("--timeout", type=int, help=f"Request timeout. Defaults to {DEFAULT_TIMEOUT} seconds")
41
35
  @click.option(
42
36
  "--max-retries",
43
37
  type=int,
44
- help=f"Maximum number of HTTP retries. Defaults to {MAX_RETRIES}.",
38
+ help=f"Maximum number of HTTP retries.",
45
39
  )
46
40
  @click.option(
47
41
  "--version",
@@ -57,25 +51,21 @@ def main(
57
51
  api_key: str | None,
58
52
  base_url: str | None,
59
53
  timeout: int | None,
60
- max_retries: int | None,
61
54
  debug: bool | None,
55
+ max_retries: int | None,
62
56
  ) -> None:
63
57
  """This is a sample CLI tool."""
64
- together.log = "debug" if debug else None
58
+ os.environ.setdefault("TOGETHER_LOG", "debug" if debug else "info")
65
59
  ctx.obj = together.Together(
66
- api_key=api_key, base_url=base_url, timeout=timeout, max_retries=max_retries
60
+ api_key=api_key, base_url=base_url, timeout=timeout, max_retries=max_retries if max_retries is not None else 0
67
61
  )
68
62
 
69
63
 
70
- main.add_command(chat)
71
- main.add_command(interactive)
72
- main.add_command(completions)
73
- main.add_command(images)
74
64
  main.add_command(files)
75
65
  main.add_command(fine_tuning)
76
66
  main.add_command(models)
77
67
  main.add_command(endpoints)
78
- main.add_command(evaluation)
68
+ main.add_command(evals)
79
69
 
80
70
  if __name__ == "__main__":
81
71
  main()
@@ -1,16 +1,15 @@
1
1
  import enum
2
2
 
3
-
4
3
  # Session constants
5
- TIMEOUT_SECS = 600
6
- MAX_SESSION_LIFETIME_SECS = 180
7
- MAX_CONNECTION_RETRIES = 2
8
- MAX_RETRIES = 5
9
- INITIAL_RETRY_DELAY = 0.5
10
- MAX_RETRY_DELAY = 8.0
4
+ # TIMEOUT_SECS = 600
5
+ # MAX_SESSION_LIFETIME_SECS = 180
6
+ # MAX_CONNECTION_RETRIES = 2
7
+ # MAX_RETRIES = 5
8
+ # INITIAL_RETRY_DELAY = 0.5
9
+ # MAX_RETRY_DELAY = 8.0
11
10
 
12
11
  # API defaults
13
- BASE_URL = "https://api.together.xyz/v1"
12
+ # BASE_URL = "https://api.together.xyz/v1"
14
13
 
15
14
  # Download defaults
16
15
  DOWNLOAD_BLOCK_SIZE = 10 * 1024 * 1024 # 10 MB
@@ -21,31 +20,19 @@ MAX_CONCURRENT_PARTS = 4 # Maximum concurrent parts for multipart upload
21
20
 
22
21
  # Multipart upload constants
23
22
  MIN_PART_SIZE_MB = 5 # Minimum part size (S3 requirement)
24
- TARGET_PART_SIZE_MB = 250 # Target part size
25
- MAX_MULTIPART_PARTS = 250 # Maximum parts per upload
23
+ TARGET_PART_SIZE_MB = 250 # Target part size for optimal performance
24
+ MAX_MULTIPART_PARTS = 250 # Maximum parts per upload (S3 limit)
26
25
  MULTIPART_UPLOAD_TIMEOUT = 300 # Timeout in seconds for uploading each part
27
26
  MULTIPART_THRESHOLD_GB = 5.0 # threshold for switching to multipart upload
28
27
 
29
- # maximum number of GB sized files we support finetuning for
30
- MAX_FILE_SIZE_GB = 50.1
31
-
32
-
33
- # Messages
34
- MISSING_API_KEY_MESSAGE = """TOGETHER_API_KEY not found.
35
- Please set it as an environment variable or set it as together.api_key
36
- Find your TOGETHER_API_KEY at https://api.together.xyz/settings/api-keys"""
37
-
38
28
  # Minimum number of samples required for fine-tuning file
39
29
  MIN_SAMPLES = 1
40
30
 
41
31
  # the number of bytes in a gigabyte, used to convert bytes to GB for readable comparison
42
32
  NUM_BYTES_IN_GB = 2**30
43
33
 
44
- # Multimodal limits
45
- MAX_IMAGES_PER_EXAMPLE = 10
46
- MAX_IMAGE_BYTES = 10 * 1024 * 1024 # 10MB
47
- # Max length = Header length + base64 factor (4/3) * image bytes
48
- MAX_BASE64_IMAGE_LENGTH = len("data:image/jpeg;base64,") + 4 * MAX_IMAGE_BYTES // 3
34
+ # maximum number of GB sized files we support finetuning for
35
+ MAX_FILE_SIZE_GB = 50.1
49
36
 
50
37
  # expected columns for Parquet files
51
38
  PARQUET_EXPECTED_COLUMNS = ["input_ids", "attention_mask", "labels"]
@@ -0,0 +1,11 @@
1
+ from .files import (
2
+ UploadManager,
3
+ DownloadManager,
4
+ AsyncUploadManager,
5
+ )
6
+
7
+ __all__ = [
8
+ "DownloadManager",
9
+ "UploadManager",
10
+ "AsyncUploadManager",
11
+ ]