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
@@ -0,0 +1,139 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Union, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal, TypeAlias
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = [
12
+ "EvaluationJob",
13
+ "Results",
14
+ "ResultsEvaluationClassifyResults",
15
+ "ResultsEvaluationScoreResults",
16
+ "ResultsEvaluationScoreResultsAggregatedScores",
17
+ "ResultsEvaluationCompareResults",
18
+ "ResultsError",
19
+ "StatusUpdate",
20
+ ]
21
+
22
+
23
+ class ResultsEvaluationClassifyResults(BaseModel):
24
+ generation_fail_count: Optional[float] = None
25
+ """Number of failed generations."""
26
+
27
+ invalid_label_count: Optional[float] = None
28
+ """Number of invalid labels"""
29
+
30
+ judge_fail_count: Optional[float] = None
31
+ """Number of failed judge generations"""
32
+
33
+ label_counts: Optional[str] = None
34
+ """JSON string representing label counts"""
35
+
36
+ pass_percentage: Optional[float] = None
37
+ """Pecentage of pass labels."""
38
+
39
+ result_file_id: Optional[str] = None
40
+ """Data File ID"""
41
+
42
+
43
+ class ResultsEvaluationScoreResultsAggregatedScores(BaseModel):
44
+ mean_score: Optional[float] = None
45
+
46
+ pass_percentage: Optional[float] = None
47
+
48
+ std_score: Optional[float] = None
49
+
50
+
51
+ class ResultsEvaluationScoreResults(BaseModel):
52
+ aggregated_scores: Optional[ResultsEvaluationScoreResultsAggregatedScores] = None
53
+
54
+ failed_samples: Optional[float] = None
55
+ """number of failed samples generated from model"""
56
+
57
+ generation_fail_count: Optional[float] = None
58
+ """Number of failed generations."""
59
+
60
+ invalid_score_count: Optional[float] = None
61
+ """number of invalid scores generated from model"""
62
+
63
+ judge_fail_count: Optional[float] = None
64
+ """Number of failed judge generations"""
65
+
66
+ result_file_id: Optional[str] = None
67
+ """Data File ID"""
68
+
69
+
70
+ class ResultsEvaluationCompareResults(BaseModel):
71
+ a_wins: Optional[int] = FieldInfo(alias="A_wins", default=None)
72
+ """Number of times model A won"""
73
+
74
+ b_wins: Optional[int] = FieldInfo(alias="B_wins", default=None)
75
+ """Number of times model B won"""
76
+
77
+ generation_fail_count: Optional[float] = None
78
+ """Number of failed generations."""
79
+
80
+ judge_fail_count: Optional[float] = None
81
+ """Number of failed judge generations"""
82
+
83
+ num_samples: Optional[int] = None
84
+ """Total number of samples compared"""
85
+
86
+ result_file_id: Optional[str] = None
87
+ """Data File ID"""
88
+
89
+ ties: Optional[int] = FieldInfo(alias="Ties", default=None)
90
+ """Number of ties"""
91
+
92
+
93
+ class ResultsError(BaseModel):
94
+ error: Optional[str] = None
95
+
96
+
97
+ Results: TypeAlias = Union[
98
+ ResultsEvaluationClassifyResults, ResultsEvaluationScoreResults, ResultsEvaluationCompareResults, ResultsError, None
99
+ ]
100
+
101
+
102
+ class StatusUpdate(BaseModel):
103
+ message: Optional[str] = None
104
+ """Additional message for this update"""
105
+
106
+ status: Optional[str] = None
107
+ """The status at this update"""
108
+
109
+ timestamp: Optional[datetime] = None
110
+ """When this update occurred"""
111
+
112
+
113
+ class EvaluationJob(BaseModel):
114
+ created_at: Optional[datetime] = None
115
+ """When the job was created"""
116
+
117
+ owner_id: Optional[str] = None
118
+ """ID of the job owner (admin only)"""
119
+
120
+ parameters: Optional[Dict[str, object]] = None
121
+ """The parameters used for this evaluation"""
122
+
123
+ results: Optional[Results] = None
124
+ """Results of the evaluation (when completed)"""
125
+
126
+ status: Optional[Literal["pending", "queued", "running", "completed", "error", "user_error"]] = None
127
+ """Current status of the job"""
128
+
129
+ status_updates: Optional[List[StatusUpdate]] = None
130
+ """History of status updates (admin only)"""
131
+
132
+ type: Optional[Literal["classify", "score", "compare"]] = None
133
+ """The type of evaluation"""
134
+
135
+ updated_at: Optional[datetime] = None
136
+ """When the job was last updated"""
137
+
138
+ workflow_id: Optional[str] = None
139
+ """The evaluation job ID"""
@@ -0,0 +1,108 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, List, Union, Optional
4
+ from typing_extensions import Literal, Annotated, TypeAlias
5
+
6
+ from pydantic import Field as FieldInfo
7
+
8
+ from .._utils import PropertyInfo
9
+ from .._models import BaseModel
10
+
11
+ __all__ = [
12
+ "ExecuteResponse",
13
+ "SuccessfulExecution",
14
+ "SuccessfulExecutionData",
15
+ "SuccessfulExecutionDataOutput",
16
+ "SuccessfulExecutionDataOutputStreamOutput",
17
+ "SuccessfulExecutionDataOutputError",
18
+ "SuccessfulExecutionDataOutputDisplayorExecuteOutput",
19
+ "SuccessfulExecutionDataOutputDisplayorExecuteOutputData",
20
+ "FailedExecution",
21
+ ]
22
+
23
+
24
+ class SuccessfulExecutionDataOutputStreamOutput(BaseModel):
25
+ data: str
26
+
27
+ type: Literal["stdout", "stderr"]
28
+
29
+
30
+ class SuccessfulExecutionDataOutputError(BaseModel):
31
+ data: str
32
+
33
+ type: Literal["error"]
34
+
35
+
36
+ class SuccessfulExecutionDataOutputDisplayorExecuteOutputData(BaseModel):
37
+ application_geo_json: Optional[Dict[str, object]] = FieldInfo(alias="application/geo+json", default=None)
38
+
39
+ application_javascript: Optional[str] = FieldInfo(alias="application/javascript", default=None)
40
+
41
+ application_json: Optional[Dict[str, object]] = FieldInfo(alias="application/json", default=None)
42
+
43
+ application_pdf: Optional[str] = FieldInfo(alias="application/pdf", default=None)
44
+
45
+ application_vnd_vega_v5_json: Optional[Dict[str, object]] = FieldInfo(
46
+ alias="application/vnd.vega.v5+json", default=None
47
+ )
48
+
49
+ application_vnd_vegalite_v4_json: Optional[Dict[str, object]] = FieldInfo(
50
+ alias="application/vnd.vegalite.v4+json", default=None
51
+ )
52
+
53
+ image_gif: Optional[str] = FieldInfo(alias="image/gif", default=None)
54
+
55
+ image_jpeg: Optional[str] = FieldInfo(alias="image/jpeg", default=None)
56
+
57
+ image_png: Optional[str] = FieldInfo(alias="image/png", default=None)
58
+
59
+ image_svg_xml: Optional[str] = FieldInfo(alias="image/svg+xml", default=None)
60
+
61
+ text_html: Optional[str] = FieldInfo(alias="text/html", default=None)
62
+
63
+ text_latex: Optional[str] = FieldInfo(alias="text/latex", default=None)
64
+
65
+ text_markdown: Optional[str] = FieldInfo(alias="text/markdown", default=None)
66
+
67
+ text_plain: Optional[str] = FieldInfo(alias="text/plain", default=None)
68
+
69
+
70
+ class SuccessfulExecutionDataOutputDisplayorExecuteOutput(BaseModel):
71
+ data: SuccessfulExecutionDataOutputDisplayorExecuteOutputData
72
+
73
+ type: Literal["display_data", "execute_result"]
74
+
75
+
76
+ SuccessfulExecutionDataOutput: TypeAlias = Annotated[
77
+ Union[
78
+ SuccessfulExecutionDataOutputStreamOutput,
79
+ SuccessfulExecutionDataOutputError,
80
+ SuccessfulExecutionDataOutputDisplayorExecuteOutput,
81
+ ],
82
+ PropertyInfo(discriminator="type"),
83
+ ]
84
+
85
+
86
+ class SuccessfulExecutionData(BaseModel):
87
+ outputs: List[SuccessfulExecutionDataOutput]
88
+
89
+ session_id: str
90
+ """Identifier of the current session. Used to make follow-up calls."""
91
+
92
+ status: Optional[Literal["success"]] = None
93
+ """Status of the execution. Currently only supports success."""
94
+
95
+
96
+ class SuccessfulExecution(BaseModel):
97
+ data: SuccessfulExecutionData
98
+
99
+ errors: None = None
100
+
101
+
102
+ class FailedExecution(BaseModel):
103
+ data: None = None
104
+
105
+ errors: List[Union[str, Dict[str, object]]]
106
+
107
+
108
+ ExecuteResponse: TypeAlias = Union[SuccessfulExecution, FailedExecution]
@@ -0,0 +1,13 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["FileDeleteResponse"]
8
+
9
+
10
+ class FileDeleteResponse(BaseModel):
11
+ id: Optional[str] = None
12
+
13
+ deleted: Optional[bool] = None
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from .._models import BaseModel
6
+ from .file_response import FileResponse
7
+
8
+ __all__ = ["FileList"]
9
+
10
+
11
+ class FileList(BaseModel):
12
+ data: List[FileResponse]
@@ -0,0 +1,9 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["FilePurpose"]
6
+
7
+ FilePurpose: TypeAlias = Literal[
8
+ "fine-tune", "eval", "eval-sample", "eval-output", "eval-summary", "batch-generated", "batch-api"
9
+ ]
@@ -0,0 +1,31 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from pydantic import Field as FieldInfo
4
+
5
+ from .._models import BaseModel
6
+ from .file_type import FileType
7
+ from .file_purpose import FilePurpose
8
+
9
+ __all__ = ["FileResponse"]
10
+
11
+
12
+ class FileResponse(BaseModel):
13
+ id: str
14
+
15
+ bytes: int
16
+
17
+ created_at: int
18
+
19
+ filename: str
20
+
21
+ file_type: FileType = FieldInfo(alias="FileType")
22
+ """The type of the file"""
23
+
24
+ line_count: int = FieldInfo(alias="LineCount")
25
+
26
+ object: str
27
+
28
+ processed: bool = FieldInfo(alias="Processed")
29
+
30
+ purpose: FilePurpose
31
+ """The purpose of the file"""
@@ -0,0 +1,7 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing_extensions import Literal, TypeAlias
4
+
5
+ __all__ = ["FileType"]
6
+
7
+ FileType: TypeAlias = Literal["csv", "jsonl", "parquet"]
@@ -0,0 +1,194 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Union, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal, TypeAlias
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+ from .finetune_event import FinetuneEvent
11
+
12
+ __all__ = [
13
+ "FineTuningCancelResponse",
14
+ "LrScheduler",
15
+ "LrSchedulerLrSchedulerArgs",
16
+ "LrSchedulerLrSchedulerArgsLinearLrSchedulerArgs",
17
+ "LrSchedulerLrSchedulerArgsCosineLrSchedulerArgs",
18
+ "TrainingMethod",
19
+ "TrainingMethodTrainingMethodSft",
20
+ "TrainingMethodTrainingMethodDpo",
21
+ "TrainingType",
22
+ "TrainingTypeFullTrainingType",
23
+ "TrainingTypeLoRaTrainingType",
24
+ ]
25
+
26
+
27
+ class LrSchedulerLrSchedulerArgsLinearLrSchedulerArgs(BaseModel):
28
+ min_lr_ratio: Optional[float] = None
29
+ """The ratio of the final learning rate to the peak learning rate"""
30
+
31
+
32
+ class LrSchedulerLrSchedulerArgsCosineLrSchedulerArgs(BaseModel):
33
+ min_lr_ratio: float
34
+ """The ratio of the final learning rate to the peak learning rate"""
35
+
36
+ num_cycles: float
37
+ """Number or fraction of cycles for the cosine learning rate scheduler"""
38
+
39
+
40
+ LrSchedulerLrSchedulerArgs: TypeAlias = Union[
41
+ LrSchedulerLrSchedulerArgsLinearLrSchedulerArgs, LrSchedulerLrSchedulerArgsCosineLrSchedulerArgs
42
+ ]
43
+
44
+
45
+ class LrScheduler(BaseModel):
46
+ lr_scheduler_type: Literal["linear", "cosine"]
47
+
48
+ lr_scheduler_args: Optional[LrSchedulerLrSchedulerArgs] = None
49
+
50
+
51
+ class TrainingMethodTrainingMethodSft(BaseModel):
52
+ method: Literal["sft"]
53
+
54
+ train_on_inputs: Union[bool, Literal["auto"]]
55
+ """
56
+ Whether to mask the user messages in conversational data or prompts in
57
+ instruction data.
58
+ """
59
+
60
+
61
+ class TrainingMethodTrainingMethodDpo(BaseModel):
62
+ method: Literal["dpo"]
63
+
64
+ dpo_beta: Optional[float] = None
65
+
66
+ dpo_normalize_logratios_by_length: Optional[bool] = None
67
+
68
+ dpo_reference_free: Optional[bool] = None
69
+
70
+ rpo_alpha: Optional[float] = None
71
+
72
+ simpo_gamma: Optional[float] = None
73
+
74
+
75
+ TrainingMethod: TypeAlias = Union[TrainingMethodTrainingMethodSft, TrainingMethodTrainingMethodDpo]
76
+
77
+
78
+ class TrainingTypeFullTrainingType(BaseModel):
79
+ type: Literal["Full"]
80
+
81
+
82
+ class TrainingTypeLoRaTrainingType(BaseModel):
83
+ lora_alpha: int
84
+
85
+ lora_r: int
86
+
87
+ type: Literal["Lora"]
88
+
89
+ lora_dropout: Optional[float] = None
90
+
91
+ lora_trainable_modules: Optional[str] = None
92
+
93
+
94
+ TrainingType: TypeAlias = Union[TrainingTypeFullTrainingType, TrainingTypeLoRaTrainingType]
95
+
96
+
97
+ class FineTuningCancelResponse(BaseModel):
98
+ id: str
99
+ """Unique identifier for the fine-tune job"""
100
+
101
+ created_at: datetime
102
+ """Creation timestamp of the fine-tune job"""
103
+
104
+ status: Literal[
105
+ "pending",
106
+ "queued",
107
+ "running",
108
+ "compressing",
109
+ "uploading",
110
+ "cancel_requested",
111
+ "cancelled",
112
+ "error",
113
+ "completed",
114
+ ]
115
+
116
+ updated_at: datetime
117
+ """Last update timestamp of the fine-tune job"""
118
+
119
+ batch_size: Optional[int] = None
120
+ """Batch size used for training"""
121
+
122
+ events: Optional[List[FinetuneEvent]] = None
123
+ """Events related to this fine-tune job"""
124
+
125
+ from_checkpoint: Optional[str] = None
126
+ """Checkpoint used to continue training"""
127
+
128
+ from_hf_model: Optional[str] = None
129
+ """Hugging Face Hub repo to start training from"""
130
+
131
+ hf_model_revision: Optional[str] = None
132
+ """The revision of the Hugging Face Hub model to continue training from"""
133
+
134
+ learning_rate: Optional[float] = None
135
+ """Learning rate used for training"""
136
+
137
+ lr_scheduler: Optional[LrScheduler] = None
138
+ """Learning rate scheduler configuration"""
139
+
140
+ max_grad_norm: Optional[float] = None
141
+ """Maximum gradient norm for clipping"""
142
+
143
+ model: Optional[str] = None
144
+ """Base model used for fine-tuning"""
145
+
146
+ x_model_output_name: Optional[str] = FieldInfo(alias="model_output_name", default=None)
147
+
148
+ n_checkpoints: Optional[int] = None
149
+ """Number of checkpoints saved during training"""
150
+
151
+ n_epochs: Optional[int] = None
152
+ """Number of training epochs"""
153
+
154
+ n_evals: Optional[int] = None
155
+ """Number of evaluations during training"""
156
+
157
+ owner_address: Optional[str] = None
158
+ """Owner address information"""
159
+
160
+ suffix: Optional[str] = None
161
+ """Suffix added to the fine-tuned model name"""
162
+
163
+ token_count: Optional[int] = None
164
+ """Count of tokens processed"""
165
+
166
+ total_price: Optional[int] = None
167
+ """Total price for the fine-tuning job"""
168
+
169
+ training_file: Optional[str] = None
170
+ """File-ID of the training file"""
171
+
172
+ training_method: Optional[TrainingMethod] = None
173
+ """Method of training used"""
174
+
175
+ training_type: Optional[TrainingType] = None
176
+ """Type of training used (full or LoRA)"""
177
+
178
+ user_id: Optional[str] = None
179
+ """Identifier for the user who created the job"""
180
+
181
+ validation_file: Optional[str] = None
182
+ """File-ID of the validation file"""
183
+
184
+ wandb_name: Optional[str] = None
185
+ """Weights & Biases run name"""
186
+
187
+ wandb_project_name: Optional[str] = None
188
+ """Weights & Biases project name"""
189
+
190
+ warmup_ratio: Optional[float] = None
191
+ """Ratio of warmup steps"""
192
+
193
+ weight_decay: Optional[float] = None
194
+ """Weight decay value used"""
@@ -0,0 +1,24 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Literal, Required, TypedDict
6
+
7
+ __all__ = ["FineTuningContentParams"]
8
+
9
+
10
+ class FineTuningContentParams(TypedDict, total=False):
11
+ ft_id: Required[str]
12
+ """Fine-tune ID to download. A string that starts with `ft-`."""
13
+
14
+ checkpoint: Literal["merged", "adapter", "model_output_path"]
15
+ """Specifies checkpoint type to download - `merged` vs `adapter`.
16
+
17
+ This field is required if the checkpoint_step is not set.
18
+ """
19
+
20
+ checkpoint_step: int
21
+ """Specifies step number for checkpoint to download.
22
+
23
+ Ignores `checkpoint` value if set.
24
+ """
@@ -0,0 +1,11 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["FineTuningDeleteParams"]
8
+
9
+
10
+ class FineTuningDeleteParams(TypedDict, total=False):
11
+ force: bool
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["FineTuningDeleteResponse"]
8
+
9
+
10
+ class FineTuningDeleteResponse(BaseModel):
11
+ message: Optional[str] = None
12
+ """Message indicating the result of the deletion"""
@@ -0,0 +1,21 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["FineTuningListCheckpointsResponse", "Data"]
8
+
9
+
10
+ class Data(BaseModel):
11
+ checkpoint_type: str
12
+
13
+ created_at: str
14
+
15
+ path: str
16
+
17
+ step: int
18
+
19
+
20
+ class FineTuningListCheckpointsResponse(BaseModel):
21
+ data: List[Data]
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List
4
+
5
+ from .._models import BaseModel
6
+ from .finetune_event import FinetuneEvent
7
+
8
+ __all__ = ["FineTuningListEventsResponse"]
9
+
10
+
11
+ class FineTuningListEventsResponse(BaseModel):
12
+ data: List[FinetuneEvent]