dashscope 1.18.1__py3-none-any.whl → 1.19.0__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.

Potentially problematic release.


This version of dashscope might be problematic. Click here for more details.

@@ -0,0 +1,232 @@
1
+ import time
2
+ from http import HTTPStatus
3
+ from typing import Iterator, Union
4
+
5
+ from dashscope.client.base_api import (CancelMixin, CreateMixin, DeleteMixin,
6
+ GetStatusMixin, ListMixin, LogMixin,
7
+ StreamEventMixin)
8
+ from dashscope.common.constants import TaskStatus
9
+ from dashscope.customize.customize_types import (FineTune, FineTuneCancel,
10
+ FineTuneDelete, FineTuneEvent,
11
+ FineTuneList)
12
+
13
+
14
+ class FineTunes(CreateMixin, CancelMixin, DeleteMixin, ListMixin,
15
+ GetStatusMixin, StreamEventMixin, LogMixin):
16
+ SUB_PATH = 'fine-tunes'
17
+
18
+ @classmethod
19
+ def call(cls,
20
+ model: str,
21
+ training_file_ids: Union[list, str],
22
+ validation_file_ids: Union[list, str] = None,
23
+ mode: str = None,
24
+ hyper_parameters: dict = {},
25
+ api_key: str = None,
26
+ workspace: str = None,
27
+ **kwargs) -> FineTune:
28
+ """Create fine-tune job
29
+
30
+ Args:
31
+ model (str): The model to be fine-tuned
32
+ training_file_ids (list, str): Ids of the fine-tune training data,
33
+ which can be pre-uploaded using the File API.
34
+ validation_file_ids ([list,str], optional): Ids of the fine-tune
35
+ validating data, which can be pre-uploaded using the File API.
36
+ mode (str): The fine-tune mode, sft or efficient_sft.
37
+ hyper_parameters (dict, optional): The fine-tune hyper parameters.
38
+ Defaults to empty.
39
+ api_key (str, optional): The api key. Defaults to None.
40
+ workspace (str): The dashscope workspace id.
41
+
42
+ Returns:
43
+ FineTune: The request result.
44
+ """
45
+ if isinstance(training_file_ids, str):
46
+ training_file_ids = [training_file_ids]
47
+ if validation_file_ids and isinstance(validation_file_ids, str):
48
+ validation_file_ids = [validation_file_ids]
49
+ request = {
50
+ 'model': model,
51
+ 'training_file_ids': training_file_ids,
52
+ 'validation_file_ids': validation_file_ids,
53
+ 'hyper_parameters': hyper_parameters if hyper_parameters else {},
54
+ }
55
+ if mode is not None:
56
+ request['training_type'] = mode
57
+ if 'finetuned_output' in kwargs:
58
+ request['finetuned_output'] = kwargs['finetuned_output']
59
+ resp = super().call(request,
60
+ api_key=api_key,
61
+ workspace=workspace,
62
+ **kwargs)
63
+ return FineTune(**resp)
64
+
65
+ @classmethod
66
+ def cancel(cls,
67
+ job_id: str,
68
+ api_key: str = None,
69
+ workspace: str = None,
70
+ **kwargs) -> FineTuneCancel:
71
+ """Cancel a running fine-tune job.
72
+
73
+ Args:
74
+ job_id (str): The fine-tune job id.
75
+ api_key (str, optional): The api api_key, can be None,
76
+ if None, will get by default rule(TODO: api key doc).
77
+ workspace (str): The dashscope workspace id.
78
+
79
+ Returns:
80
+ FineTune: The request result.
81
+ """
82
+ rsp = super().cancel(job_id,
83
+ api_key=api_key,
84
+ workspace=workspace,
85
+ **kwargs)
86
+ return FineTuneCancel(**rsp)
87
+
88
+ @classmethod
89
+ def list(cls,
90
+ page_no=1,
91
+ page_size=10,
92
+ api_key: str = None,
93
+ workspace: str = None,
94
+ **kwargs) -> FineTuneList:
95
+ """List fine-tune job.
96
+
97
+ Args:
98
+ api_key (str, optional): The api key
99
+ page_no (int, optional): Page number. Defaults to 1.
100
+ page_size (int, optional): Items per page. Defaults to 10.
101
+ workspace (str): The dashscope workspace id.
102
+
103
+ Returns:
104
+ FineTune: The fine-tune jobs in the result.
105
+ """
106
+ response = super().list(page_no=page_no,
107
+ page_size=page_size,
108
+ api_key=api_key,
109
+ workspace=workspace,
110
+ **kwargs)
111
+ return FineTuneList(**response)
112
+
113
+ @classmethod
114
+ def get(cls,
115
+ job_id: str,
116
+ api_key: str = None,
117
+ workspace: str = None,
118
+ **kwargs) -> FineTune:
119
+ """Get fine-tune job information.
120
+
121
+ Args:
122
+ job_id (str): The fine-tune job id
123
+ api_key (str, optional): The api key. Defaults to None.
124
+ workspace (str): The dashscope workspace id.
125
+
126
+ Returns:
127
+ FineTune: The job info
128
+ """
129
+ response = super().get(job_id,
130
+ api_key=api_key,
131
+ workspace=workspace,
132
+ **kwargs)
133
+ return FineTune(**response)
134
+
135
+ @classmethod
136
+ def delete(cls,
137
+ job_id: str,
138
+ api_key: str = None,
139
+ workspace: str = None,
140
+ **kwargs) -> FineTuneDelete:
141
+ """Delete a fine-tune job.
142
+
143
+ Args:
144
+ job_id (str): The fine-tune job id.
145
+ api_key (str, optional): The api key. Defaults to None.
146
+ workspace (str): The dashscope workspace id.
147
+
148
+ Returns:
149
+ FineTune: The delete result.
150
+ """
151
+ rsp = super().delete(job_id,
152
+ api_key=api_key,
153
+ workspace=workspace,
154
+ **kwargs)
155
+ return FineTuneDelete(**rsp)
156
+
157
+ @classmethod
158
+ def stream_events(cls,
159
+ job_id: str,
160
+ api_key: str = None,
161
+ workspace: str = None,
162
+ **kwargs) -> Iterator[FineTuneEvent]:
163
+ """Get fine-tune job events.
164
+
165
+ Args:
166
+ job_id (str): The fine-tune job id
167
+ api_key (str, optional): the api key. Defaults to None.
168
+ workspace (str): The dashscope workspace id.
169
+
170
+ Returns:
171
+ FineTune: The job log events.
172
+ """
173
+ responses = super().stream_events(job_id,
174
+ api_key=api_key,
175
+ workspace=workspace,
176
+ **kwargs)
177
+ for rsp in responses:
178
+ yield FineTuneEvent(**rsp)
179
+
180
+ @classmethod
181
+ def logs(cls,
182
+ job_id: str,
183
+ *,
184
+ offset=1,
185
+ line=1000,
186
+ api_key: str = None,
187
+ workspace: str = None,
188
+ **kwargs) -> FineTune:
189
+ """Get log of the job.
190
+
191
+ Args:
192
+ job_id (str): The job id(used for fine-tune)
193
+ offset (int, optional): start log line. Defaults to 1.
194
+ line (int, optional): total line return. Defaults to 1000.
195
+ api_key (str, optional): The api key. Defaults to None.
196
+ workspace (str): The dashscope workspace id.
197
+
198
+ Returns:
199
+ FineTune: The response
200
+ """
201
+ return super().logs(job_id,
202
+ offset=offset,
203
+ line=line,
204
+ workspace=workspace,
205
+ api_key=api_key)
206
+
207
+ @classmethod
208
+ def wait(cls,
209
+ job_id: str,
210
+ api_key: str = None,
211
+ workspace: str = None,
212
+ **kwargs):
213
+ try:
214
+ while True:
215
+ rsp = FineTunes.get(job_id,
216
+ api_key=api_key,
217
+ workspace=workspace,
218
+ **kwargs)
219
+ if rsp.status_code == HTTPStatus.OK:
220
+ if rsp.output['status'] in [
221
+ TaskStatus.FAILED, TaskStatus.CANCELED,
222
+ TaskStatus.SUCCEEDED
223
+ ]:
224
+ return rsp
225
+ else:
226
+ time.sleep(30)
227
+ else:
228
+ return rsp
229
+ except Exception:
230
+ raise Exception(
231
+ 'You can stream output via: dashscope fine_tunes.stream -j %s'
232
+ % job_id)
dashscope/models.py CHANGED
@@ -2,14 +2,13 @@ from dashscope.api_entities.dashscope_response import DashScopeAPIResponse
2
2
  from dashscope.client.base_api import GetMixin, ListMixin
3
3
 
4
4
 
5
- class Model(ListMixin, GetMixin):
5
+ class Models(ListMixin, GetMixin):
6
6
  SUB_PATH = 'models'
7
7
 
8
8
  @classmethod
9
9
  def get(cls,
10
10
  name: str,
11
11
  api_key: str = None,
12
- workspace: str = None,
13
12
  **kwargs) -> DashScopeAPIResponse:
14
13
  """Get the model information.
15
14
 
@@ -21,14 +20,13 @@ class Model(ListMixin, GetMixin):
21
20
  Returns:
22
21
  DashScopeAPIResponse: The model information.
23
22
  """
24
- return super().get(name, api_key, workspace=workspace, **kwargs)
23
+ return super().get(name, api_key, **kwargs)
25
24
 
26
25
  @classmethod
27
26
  def list(cls,
28
27
  page=1,
29
28
  page_size=10,
30
29
  api_key: str = None,
31
- workspace: str = None,
32
30
  **kwargs) -> DashScopeAPIResponse:
33
31
  """List models.
34
32
 
@@ -40,8 +38,4 @@ class Model(ListMixin, GetMixin):
40
38
  Returns:
41
39
  DashScopeAPIResponse: The models.
42
40
  """
43
- return super().list(api_key,
44
- page,
45
- page_size,
46
- workspace=workspace,
47
- **kwargs)
41
+ return super().list(page, page_size, api_key=api_key, **kwargs)
dashscope/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '1.18.1'
1
+ __version__ = '1.19.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dashscope
3
- Version: 1.18.1
3
+ Version: 1.19.0
4
4
  Summary: dashscope client sdk library
5
5
  Home-page: https://dashscope.aliyun.com/
6
6
  Author: Alibaba Cloud
@@ -1,16 +1,16 @@
1
- dashscope/__init__.py,sha256=HCJ9LaQb66YfHUlTuUEEJJ2_DF-9LaJa6OJZx_iKN8Q,2870
2
- dashscope/cli.py,sha256=4xNf9K9ncob-KUys2mkryUcqs_IpaiwoEP13rM2UyJk,23924
1
+ dashscope/__init__.py,sha256=lIBZR5fWUiO1L62J_17Gri7Dwk9kCf2xhWl8eRw8bkQ,2933
2
+ dashscope/cli.py,sha256=amegoTkGOs6TlHMdoo4JVOqBePo3lGs745rc7leEyrE,24020
3
3
  dashscope/deployment.py,sha256=ljmVi-ny6SjEs8v4oIGNWIw8UQTorE7dl5QJv7dEPIQ,5728
4
4
  dashscope/file.py,sha256=Dv2Fz3DLbcye2uuQxyQwRM7ky27OthouLXIpSQagQy4,3324
5
5
  dashscope/files.py,sha256=QgJjwhtn9F548nCA8jD8OvE6aQEj-20hZqJgYXsUdQU,3930
6
6
  dashscope/finetune.py,sha256=_tflDUvu0KagSoCzLaf0hofpG_P8NU6PylL8CPjVhrA,6243
7
7
  dashscope/model.py,sha256=UPOn1qMYFhX-ovXi3BMxZEBk8qOK7WLJOYHMbPZwYBo,1440
8
- dashscope/models.py,sha256=UPOn1qMYFhX-ovXi3BMxZEBk8qOK7WLJOYHMbPZwYBo,1440
9
- dashscope/version.py,sha256=I5ZqRqhAJhmCPjHV4Y-aZSwFiizEYHBBRN0cXvrD1-A,23
8
+ dashscope/models.py,sha256=1-bc-Ue68zurgu_y6RhfFr9uzeQMF5AZq-C32lJGMGU,1224
9
+ dashscope/version.py,sha256=PvMTFqtUFNQdVjEOjF4SwqihC40AoILowDbGracDUXA,23
10
10
  dashscope/aigc/__init__.py,sha256=s-MCA87KYiVumYtKtJi5IMN7xelSF6TqEU3s3_7RF-Y,327
11
11
  dashscope/aigc/code_generation.py,sha256=KAJVrGp6tiNFBBg64Ovs9RfcP5SrIhrbW3wdA89NKso,10885
12
12
  dashscope/aigc/conversation.py,sha256=xRoJlCR-IXHjSdkDrK74a9ut1FJg0FZhTNXZAJC18MA,14231
13
- dashscope/aigc/generation.py,sha256=9PMAhSy5Ht5eizUGXnDdk8Jl3yIDM4fR8eSxn1W4c-U,10051
13
+ dashscope/aigc/generation.py,sha256=53oMCmN5ZbqeqAsKxmdunXlRh-XP8ZtnA7hB2id4Koo,17897
14
14
  dashscope/aigc/image_synthesis.py,sha256=7A5txSkKBkg5pN5F7IP5C90277Yk8fkKAWu30YhskdM,9994
15
15
  dashscope/aigc/multimodal_conversation.py,sha256=SlNnnsUPV19gdx8fYJAtsMFWPNGY6vhk5IGHZ5ZczpI,5369
16
16
  dashscope/api_entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -19,33 +19,37 @@ dashscope/api_entities/api_request_data.py,sha256=JUMcfpJjKXEZLCBSFIDpgoaeQYk5uK
19
19
  dashscope/api_entities/api_request_factory.py,sha256=4p-qxMuvCA0CmUHdH19QaUCaHmlLHAM1X2Jd4YKt5c0,4661
20
20
  dashscope/api_entities/base_request.py,sha256=cXUL7xqSV8wBr5d-1kx65AO3IsRR9A_ps6Lok-v-MKM,926
21
21
  dashscope/api_entities/dashscope_response.py,sha256=Bp1T7HwVlkOvpMNg-AEjz-BScxhLUXMXlE8ApXTtfhQ,17872
22
- dashscope/api_entities/http_request.py,sha256=Y9z4PcRAPlp6Ozfz9P3IVP3y9cufhhIFjXaJOF6xCtQ,9043
22
+ dashscope/api_entities/http_request.py,sha256=sSaHknlFOgSN4XLpOX0xztllPlwMms-dI7cLlOgCUig,16418
23
23
  dashscope/api_entities/websocket_request.py,sha256=IaydqRvOSr5IdSSpnX8Vc8rRoVldjfcrLvDxTnPep9g,14676
24
- dashscope/app/__init__.py,sha256=OOV2rFy0QlA9Gu3XVPtWJoBwK1J11BdGhkEdX_sdYGU,68
24
+ dashscope/app/__init__.py,sha256=UiN_9i--z84Dw5wUehOh_Tkk_9Gq_td_Kbz1dobBEKg,62
25
25
  dashscope/app/application.py,sha256=AegGVsk3dDzYACoYRNNjo3eG-2wrDd0dlOjYHpF0r2Y,7949
26
- dashscope/app/application_response.py,sha256=pIuDSu_SAcX1Y_gK6ZYaadaMXV52XBZoM1uN4tTZ3FA,6739
26
+ dashscope/app/application_response.py,sha256=AR_dEtfDsS7SqOyUqZmiosdgos1bDnXUvZn7XV_OzAs,6714
27
27
  dashscope/assistants/__init__.py,sha256=i9N5OxHgY7edlOhTdPyC0N5Uc0uMCkB2vbMPDCD1zX0,383
28
28
  dashscope/assistants/assistant_types.py,sha256=1jNL30TOlrkiYhvCaB3E8jkPLG8CnQ6I3tHpYXZCsD0,4211
29
29
  dashscope/assistants/assistants.py,sha256=NYahIDqhtnOcQOmnhZsjc5F5jvBUQcce8-fbrJXHVnQ,10833
30
30
  dashscope/assistants/files.py,sha256=pwLVJ_pjpRFWyfI_MRvhH7Si7FzGDj4ChzZgWTpLOhg,6699
31
31
  dashscope/audio/__init__.py,sha256=vlw0TFVRdeRWfzmJxhzarVUqkMs-DZNf4GiMtm3C8XE,45
32
32
  dashscope/audio/asr/__init__.py,sha256=-s180qWn_JPSpCo1q0aDJJ5HQ3zTzD4z5yUwsRqH4aU,275
33
- dashscope/audio/asr/asr_phrase_manager.py,sha256=4-tj9jxo5yUCcRktxXGgB_dggUk9oOtWGNyjBJj1wm8,7590
33
+ dashscope/audio/asr/asr_phrase_manager.py,sha256=EjtbI3zz9UQGS1qv6Yb4zzEMj4OJJVXmwkqZyIrzvEA,7642
34
34
  dashscope/audio/asr/recognition.py,sha256=F2iz6hyXg16Z6DGlPwGpKfRNcAZIIsqXnNPtaZp4Fzo,17369
35
35
  dashscope/audio/asr/transcription.py,sha256=e5O1U51GT-OQPu-wWN2w_T7l6IopWuGMVkheOGdNCkk,8836
36
36
  dashscope/audio/tts/__init__.py,sha256=fbnieZX9yNFNh5BsxLpLXb63jlxzxrdCJakV3ignjlQ,194
37
37
  dashscope/audio/tts/speech_synthesizer.py,sha256=dnKx9FDDdO_ETHAjhK8zaMVaH6SfoTtN5YxXXqgY1JA,7571
38
38
  dashscope/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
39
- dashscope/client/base_api.py,sha256=UDxvwlxiR0KZwj_AI0jACfkLErJ55voure82OmOiDMk,41034
39
+ dashscope/client/base_api.py,sha256=rww7uoDJtKxgiFQlBpZ8p__J0087cJWhvUxtdb3rrTE,41064
40
40
  dashscope/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
41
  dashscope/common/api_key.py,sha256=5Stp0odL5JSuIO3qJBp23QNppuGbqhhvKPS66qbMs0I,1986
42
- dashscope/common/base_type.py,sha256=wKqLGrr2o9bpI43ws1P0YCuJmoS17J9_Rw_uuYHjIFQ,4531
42
+ dashscope/common/base_type.py,sha256=C9xP6WuN5pOzviZ2g3X2EPcigldtFE0VlaUmjyNnUUk,4619
43
43
  dashscope/common/constants.py,sha256=86Zc45f1-OEgNdLTu-4_Pl0U3wRyi5qFt4E7dLlaglU,2327
44
44
  dashscope/common/env.py,sha256=oQOZW5JyEeTSde394un2lpDJ5RBh4fMU9hBfbtrKKkc,869
45
45
  dashscope/common/error.py,sha256=Q7GRhniP-7ap4HBpU69frRdKgKLwmH4ySYxCtupsr60,2638
46
46
  dashscope/common/logging.py,sha256=ecGxylG3bWES_Xv5-BD6ep4_0Ciu7F6ZPBjiZtu9Jx4,984
47
47
  dashscope/common/message_manager.py,sha256=i5149WzDk6nWmdFaHzYx4USXMBeX18GKSI-F4fLwbN0,1097
48
48
  dashscope/common/utils.py,sha256=5jg7q5NE0LE1NigbpfrOkqXjPYqb-3jfFOh7g-nWB1Q,12017
49
+ dashscope/customize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
50
+ dashscope/customize/customize_types.py,sha256=ZtEwSXA4dbjIYr5vgQQNkMuXyC2BNmznGuaF6b7jwr0,4803
51
+ dashscope/customize/deployments.py,sha256=LIkM-hmJHcJZCKV6WJIPSXQ5CAhB5PUxnt5mqKbVbfE,5189
52
+ dashscope/customize/finetunes.py,sha256=iFnEUMGY6FGogVClIJMEeFhUwfYi7gD05Iq1-eMP2M0,8311
49
53
  dashscope/embeddings/__init__.py,sha256=-dxHaoxZZVuP-wAGUIa3sNNh8CQwaeWj2UlqsDy1sV4,240
50
54
  dashscope/embeddings/batch_text_embedding.py,sha256=P32LFO9v7ehdJsl0c32In94hUET6K6AaGJ_pDRtFqco,8791
51
55
  dashscope/embeddings/batch_text_embedding_response.py,sha256=WziXlQsFIkL1kPc_7lRG1HtqgkO5vVThtnNqExJggNU,2000
@@ -76,9 +80,9 @@ dashscope/tokenizers/tokenizer.py,sha256=y6P91qTCYo__pEx_0VHAcj9YECfbUdRqZU1fdGT
76
80
  dashscope/tokenizers/tokenizer_base.py,sha256=REDhzRyDT13iequ61-a6_KcTy0GFKlihQve5HkyoyRs,656
77
81
  dashscope/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
82
  dashscope/utils/oss_utils.py,sha256=fi8-PPsN-iR-iv5k2NS5Z8nlWkpgUhr56FRWm4BDh4A,6984
79
- dashscope-1.18.1.dist-info/LICENSE,sha256=Izp5L1DF1Mbza6qojkqNNWlE_mYLnr4rmzx2EBF8YFw,11413
80
- dashscope-1.18.1.dist-info/METADATA,sha256=33M-0CZybEgQltO9zFJSM4xHpCSEzO2IabuoaJJFbdI,6609
81
- dashscope-1.18.1.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
82
- dashscope-1.18.1.dist-info/entry_points.txt,sha256=raEp5dOuj8whJ7yqZlDM8WQ5p2RfnGrGNo0QLQEnatY,50
83
- dashscope-1.18.1.dist-info/top_level.txt,sha256=woqavFJK9zas5xTqynmALqOtlafghjsk63Xk86powTU,10
84
- dashscope-1.18.1.dist-info/RECORD,,
83
+ dashscope-1.19.0.dist-info/LICENSE,sha256=Izp5L1DF1Mbza6qojkqNNWlE_mYLnr4rmzx2EBF8YFw,11413
84
+ dashscope-1.19.0.dist-info/METADATA,sha256=_g9jJF6fHX67RDkeclS5Rfso_F-xgSP_lV8puUof84I,6609
85
+ dashscope-1.19.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
86
+ dashscope-1.19.0.dist-info/entry_points.txt,sha256=raEp5dOuj8whJ7yqZlDM8WQ5p2RfnGrGNo0QLQEnatY,50
87
+ dashscope-1.19.0.dist-info/top_level.txt,sha256=woqavFJK9zas5xTqynmALqOtlafghjsk63Xk86powTU,10
88
+ dashscope-1.19.0.dist-info/RECORD,,