dashscope 1.23.9__py3-none-any.whl → 1.24.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.

@@ -6,7 +6,7 @@
6
6
  """
7
7
  from dataclasses import dataclass
8
8
  from http import HTTPStatus
9
- from typing import Dict, List
9
+ from typing import Dict, List, Optional
10
10
 
11
11
  from dashscope.api_entities.dashscope_response import (DashScopeAPIResponse,
12
12
  DictMixin)
@@ -105,6 +105,50 @@ class ApplicationDocReference(DictMixin):
105
105
  page_number=page_number,
106
106
  **kwargs)
107
107
 
108
+ @dataclass(init=False)
109
+ class WorkflowMessage(DictMixin):
110
+ node_id: str
111
+ node_name: str
112
+ node_type: str
113
+ node_status: str
114
+ node_is_completed: str
115
+ node_msg_seq_id: int
116
+ message: str
117
+
118
+ class Message(DictMixin):
119
+ role: str
120
+ content: str
121
+
122
+ def __init__(self,
123
+ node_id: str = None,
124
+ node_name: str = None,
125
+ node_type: str = None,
126
+ node_status: str = None,
127
+ node_is_completed: str = None,
128
+ node_msg_seq_id: int = None,
129
+ message: Message = None,
130
+ **kwargs):
131
+ """ Workflow message.
132
+
133
+ Args:
134
+ node_id (str, optional): .
135
+ node_name (str, optional): .
136
+ node_type (str, optional): .
137
+ node_status (str, optional): .
138
+ node_is_completed (str, optional): .
139
+ node_msg_seq_id (int, optional): .
140
+ message (Message, optional): .
141
+ """
142
+
143
+ super().__init__(node_id=node_id,
144
+ node_name=node_name,
145
+ node_type=node_type,
146
+ node_status=node_status,
147
+ node_is_completed=node_is_completed,
148
+ node_msg_seq_id=node_msg_seq_id,
149
+ message=message,
150
+ **kwargs)
151
+
108
152
 
109
153
  @dataclass(init=False)
110
154
  class ApplicationOutput(DictMixin):
@@ -113,6 +157,7 @@ class ApplicationOutput(DictMixin):
113
157
  session_id: str
114
158
  thoughts: List[ApplicationThought]
115
159
  doc_references: List[ApplicationDocReference]
160
+ workflow_message: WorkflowMessage
116
161
 
117
162
  def __init__(self,
118
163
  text: str = None,
@@ -120,6 +165,7 @@ class ApplicationOutput(DictMixin):
120
165
  session_id: str = None,
121
166
  thoughts: List[ApplicationThought] = None,
122
167
  doc_references: List[ApplicationDocReference] = None,
168
+ workflow_message: WorkflowMessage = None,
123
169
  **kwargs):
124
170
 
125
171
  ths = None
@@ -139,6 +185,7 @@ class ApplicationOutput(DictMixin):
139
185
  session_id=session_id,
140
186
  thoughts=ths,
141
187
  doc_references=refs,
188
+ workflow_message=workflow_message,
142
189
  **kwargs)
143
190
 
144
191
 
@@ -118,6 +118,15 @@ class Assistant(BaseObjectMixin):
118
118
  metadata: Optional[object] = None
119
119
  tools: List[Tool]
120
120
 
121
+ object: Optional[str] = None
122
+
123
+ top_p: Optional[float] = None
124
+ top_k: Optional[int] = None
125
+ temperature: Optional[float] = None
126
+ max_tokens: Optional[int] = None
127
+
128
+ request_id: Optional[str] = None
129
+
121
130
  def __init__(self, **kwargs):
122
131
  self.tools = convert_tools_dict_to_objects(kwargs.pop('tools', []))
123
132
  super().__init__(**kwargs)
@@ -26,6 +26,10 @@ class Assistants(CreateMixin, CancelMixin, DeleteMixin, ListObjectMixin,
26
26
  tools: Optional[List[Dict]] = None,
27
27
  file_ids: Optional[List[str]] = [],
28
28
  metadata: Dict = {},
29
+ top_p: Optional[float] = None,
30
+ top_k: Optional[int] = None,
31
+ temperature: Optional[float] = None,
32
+ max_tokens: Optional[int] = None,
29
33
  ):
30
34
  obj = {}
31
35
  if model:
@@ -41,6 +45,15 @@ class Assistants(CreateMixin, CancelMixin, DeleteMixin, ListObjectMixin,
41
45
  obj['file_ids'] = file_ids
42
46
  obj['metadata'] = metadata
43
47
 
48
+ if top_p is not None:
49
+ obj['top_p'] = top_p
50
+ if top_k is not None:
51
+ obj['top_k'] = top_k
52
+ if temperature is not None:
53
+ obj['temperature'] = temperature
54
+ if max_tokens is not None:
55
+ obj['max_tokens'] = max_tokens
56
+
44
57
  return obj
45
58
 
46
59
  @classmethod
@@ -98,6 +111,10 @@ class Assistants(CreateMixin, CancelMixin, DeleteMixin, ListObjectMixin,
98
111
  metadata: Dict = None,
99
112
  workspace: str = None,
100
113
  api_key: str = None,
114
+ top_p: Optional[float] = None,
115
+ top_k: Optional[int] = None,
116
+ temperature: Optional[float] = None,
117
+ max_tokens: Optional[int] = None,
101
118
  **kwargs) -> Assistant:
102
119
  """Create Assistant.
103
120
 
@@ -111,6 +128,10 @@ class Assistants(CreateMixin, CancelMixin, DeleteMixin, ListObjectMixin,
111
128
  metadata (Dict, optional): Custom key-value pairs associate with assistant. Defaults to None.
112
129
  workspace (str, optional): The DashScope workspace id. Defaults to None.
113
130
  api_key (str, optional): The DashScope api key. Defaults to None.
131
+ top_p (float, optional): top_p parameter for model. Defaults to None.
132
+ top_k (int, optional): top_p parameter for model. Defaults to None.
133
+ temperature (float, optional): temperature parameter for model. Defaults to None.
134
+ max_tokens (int, optional): max_tokens parameter for model. Defaults to None.
114
135
 
115
136
  Raises:
116
137
  ModelRequired: The model is required.
@@ -122,7 +143,7 @@ class Assistants(CreateMixin, CancelMixin, DeleteMixin, ListObjectMixin,
122
143
  raise ModelRequired('Model is required!')
123
144
  data = cls._create_assistant_object(model, name, description,
124
145
  instructions, tools, file_ids,
125
- metadata)
146
+ metadata, top_p, top_k, temperature, max_tokens)
126
147
  response = super().call(data=data,
127
148
  api_key=api_key,
128
149
  flattened_output=True,
@@ -224,6 +245,10 @@ class Assistants(CreateMixin, CancelMixin, DeleteMixin, ListObjectMixin,
224
245
  metadata: Dict = None,
225
246
  workspace: str = None,
226
247
  api_key: str = None,
248
+ top_p: Optional[float] = None,
249
+ top_k: Optional[int] = None,
250
+ temperature: Optional[float] = None,
251
+ max_tokens: Optional[int] = None,
227
252
  **kwargs) -> Assistant:
228
253
  """Update an exist assistants
229
254
 
@@ -238,6 +263,10 @@ class Assistants(CreateMixin, CancelMixin, DeleteMixin, ListObjectMixin,
238
263
  metadata (Dict, optional): Custom key-value pairs associate with assistant. Defaults to None.
239
264
  workspace (str): The DashScope workspace id.
240
265
  api_key (str, optional): The DashScope workspace id. Defaults to None.
266
+ top_p (float, optional): top_p parameter for model. Defaults to None.
267
+ top_k (int, optional): top_p parameter for model. Defaults to None.
268
+ temperature (float, optional): temperature parameter for model. Defaults to None.
269
+ max_tokens (int, optional): max_tokens parameter for model. Defaults to None.
241
270
 
242
271
  Returns:
243
272
  Assistant: The updated assistant.
@@ -247,7 +276,7 @@ class Assistants(CreateMixin, CancelMixin, DeleteMixin, ListObjectMixin,
247
276
  response = super().update(assistant_id,
248
277
  cls._create_assistant_object(
249
278
  model, name, description, instructions,
250
- tools, file_ids, metadata),
279
+ tools, file_ids, metadata, top_p, top_k, temperature, max_tokens),
251
280
  api_key=api_key,
252
281
  workspace=workspace,
253
282
  flattened_output=True,
@@ -1,4 +1,5 @@
1
1
  # Copyright (c) Alibaba, Inc. and its affiliates.
2
+ from typing import Optional
2
3
 
3
4
  from dashscope.assistants.assistant_types import (AssistantFile,
4
5
  AssistantFileList,
@@ -148,7 +149,7 @@ class Files(CreateMixin, DeleteMixin, ListObjectMixin, GetStatusMixin):
148
149
  assistant_id: str,
149
150
  workspace: str = None,
150
151
  api_key: str = None,
151
- **kwargs) -> AssistantFile:
152
+ **kwargs) -> Optional[AssistantFile]:
152
153
  """Retrieve file information.
153
154
 
154
155
  Args:
@@ -160,6 +161,11 @@ class Files(CreateMixin, DeleteMixin, ListObjectMixin, GetStatusMixin):
160
161
  Returns:
161
162
  AssistantFile: The `AssistantFile` object.
162
163
  """
164
+ response = super().get(target=assistant_id + '/files/' + file_id, api_key=api_key, workspace=workspace, **kwargs)
165
+ if response.status_code == 200 and response.output:
166
+ return AssistantFile(**response.output)
167
+ else:
168
+ return None
163
169
 
164
170
  @classmethod
165
171
  def delete(cls,
@@ -43,28 +43,39 @@ class ResultCallback:
43
43
 
44
44
  @unique
45
45
  class AudioFormat(Enum):
46
- DEFAULT = ('Default', 0, '0', '0')
47
- WAV_8000HZ_MONO_16BIT = ('wav', 8000, 'mono', '16bit')
48
- WAV_16000HZ_MONO_16BIT = ('wav', 16000, 'mono', '16bit')
49
- WAV_22050HZ_MONO_16BIT = ('wav', 22050, 'mono', '16bit')
50
- WAV_24000HZ_MONO_16BIT = ('wav', 24000, 'mono', '16bit')
51
- WAV_44100HZ_MONO_16BIT = ('wav', 44100, 'mono', '16bit')
52
- WAV_48000HZ_MONO_16BIT = ('wav', 48000, 'mono', '16bit')
53
-
54
- MP3_8000HZ_MONO_128KBPS = ('mp3', 8000, 'mono', '128kbps')
55
- MP3_16000HZ_MONO_128KBPS = ('mp3', 16000, 'mono', '128kbps')
56
- MP3_22050HZ_MONO_256KBPS = ('mp3', 22050, 'mono', '256kbps')
57
- MP3_24000HZ_MONO_256KBPS = ('mp3', 24000, 'mono', '256kbps')
58
- MP3_44100HZ_MONO_256KBPS = ('mp3', 44100, 'mono', '256kbps')
59
- MP3_48000HZ_MONO_256KBPS = ('mp3', 48000, 'mono', '256kbps')
60
-
61
- PCM_8000HZ_MONO_16BIT = ('pcm', 8000, 'mono', '16bit')
62
- PCM_16000HZ_MONO_16BIT = ('pcm', 16000, 'mono', '16bit')
63
- PCM_22050HZ_MONO_16BIT = ('pcm', 22050, 'mono', '16bit')
64
- PCM_24000HZ_MONO_16BIT = ('pcm', 24000, 'mono', '16bit')
65
- PCM_44100HZ_MONO_16BIT = ('pcm', 44100, 'mono', '16bit')
66
- PCM_48000HZ_MONO_16BIT = ('pcm', 48000, 'mono', '16bit')
67
-
46
+ DEFAULT = ('Default', 0, '0', 0)
47
+ WAV_8000HZ_MONO_16BIT = ('wav', 8000, 'mono', 0)
48
+ WAV_16000HZ_MONO_16BIT = ('wav', 16000, 'mono', 16)
49
+ WAV_22050HZ_MONO_16BIT = ('wav', 22050, 'mono', 16)
50
+ WAV_24000HZ_MONO_16BIT = ('wav', 24000, 'mono', 16)
51
+ WAV_44100HZ_MONO_16BIT = ('wav', 44100, 'mono', 16)
52
+ WAV_48000HZ_MONO_16BIT = ('wav', 48000, 'mono', 16)
53
+
54
+ MP3_8000HZ_MONO_128KBPS = ('mp3', 8000, 'mono', 128)
55
+ MP3_16000HZ_MONO_128KBPS = ('mp3', 16000, 'mono', 128)
56
+ MP3_22050HZ_MONO_256KBPS = ('mp3', 22050, 'mono', 256)
57
+ MP3_24000HZ_MONO_256KBPS = ('mp3', 24000, 'mono', 256)
58
+ MP3_44100HZ_MONO_256KBPS = ('mp3', 44100, 'mono', 256)
59
+ MP3_48000HZ_MONO_256KBPS = ('mp3', 48000, 'mono', 256)
60
+
61
+ PCM_8000HZ_MONO_16BIT = ('pcm', 8000, 'mono', 16)
62
+ PCM_16000HZ_MONO_16BIT = ('pcm', 16000, 'mono', 16)
63
+ PCM_22050HZ_MONO_16BIT = ('pcm', 22050, 'mono', 16)
64
+ PCM_24000HZ_MONO_16BIT = ('pcm', 24000, 'mono', 16)
65
+ PCM_44100HZ_MONO_16BIT = ('pcm', 44100, 'mono', 16)
66
+ PCM_48000HZ_MONO_16BIT = ('pcm', 48000, 'mono', 16)
67
+
68
+ OGG_OPUS_8KHZ_MONO_32KBPS = ("opus", 8000, "mono", 32)
69
+ OGG_OPUS_8KHZ_MONO_16KBPS = ("opus", 8000, "mono", 16)
70
+ OGG_OPUS_16KHZ_MONO_16KBPS = ("opus", 16000, "mono", 16)
71
+ OGG_OPUS_16KHZ_MONO_32KBPS = ("opus", 16000, "mono", 32)
72
+ OGG_OPUS_16KHZ_MONO_64KBPS = ("opus", 16000, "mono", 64)
73
+ OGG_OPUS_24KHZ_MONO_16KBPS = ("opus", 24000, "mono", 16)
74
+ OGG_OPUS_24KHZ_MONO_32KBPS = ("opus", 24000, "mono", 32)
75
+ OGG_OPUS_24KHZ_MONO_64KBPS = ("opus", 24000, "mono", 64)
76
+ OGG_OPUS_48KHZ_MONO_16KBPS = ("opus", 48000, "mono", 16)
77
+ OGG_OPUS_48KHZ_MONO_32KBPS = ("opus", 48000, "mono", 32)
78
+ OGG_OPUS_48KHZ_MONO_64KBPS = ("opus", 48000, "mono", 64)
68
79
  def __init__(self, format, sample_rate, channels, bit_rate):
69
80
  self.format = format
70
81
  self.sample_rate = sample_rate
@@ -83,6 +94,7 @@ class Request:
83
94
  voice,
84
95
  format='wav',
85
96
  sample_rate=16000,
97
+ bit_rate=64000,
86
98
  volume=50,
87
99
  speech_rate=1.0,
88
100
  pitch_rate=1.0,
@@ -93,6 +105,7 @@ class Request:
93
105
  self.model = model
94
106
  self.format = format
95
107
  self.sample_rate = sample_rate
108
+ self.bit_rate = bit_rate
96
109
  self.volume = volume
97
110
  self.speech_rate = speech_rate
98
111
  self.pitch_rate = pitch_rate
@@ -146,6 +159,8 @@ class Request:
146
159
  },
147
160
  },
148
161
  }
162
+ if self.format == 'opus':
163
+ cmd['payload']['parameters']['bit_rate'] = self.bit_rate
149
164
  if additional_params:
150
165
  cmd['payload']['parameters'].update(additional_params)
151
166
  return json.dumps(cmd)
@@ -252,6 +267,7 @@ class SpeechSynthesizer:
252
267
  voice=voice,
253
268
  format=format.format,
254
269
  sample_rate=format.sample_rate,
270
+ bit_rate = format.bit_rate,
255
271
  volume=volume,
256
272
  speech_rate=speech_rate,
257
273
  pitch_rate=pitch_rate,
dashscope/cli.py CHANGED
@@ -2,12 +2,14 @@
2
2
  import argparse
3
3
  import sys
4
4
  import time
5
+ import os
5
6
  from http import HTTPStatus
6
7
 
7
8
  import dashscope
8
9
  from dashscope.aigc import Generation
9
10
  from dashscope.common.constants import (DeploymentStatus, FilePurpose,
10
11
  TaskStatus)
12
+ from dashscope.utils.oss_utils import OssUtils
11
13
 
12
14
 
13
15
  def print_failed_message(rsp):
@@ -193,6 +195,34 @@ class FineTunes:
193
195
  else:
194
196
  print_failed_message(rsp)
195
197
 
198
+ class Oss:
199
+ @classmethod
200
+ def upload(cls, args):
201
+ print('Start oss.upload: model=%s, file=%s, api_key=%s' % (args.model, args.file, args.api_key))
202
+ if not args.file or not args.model:
203
+ print('Please specify the model and file path')
204
+ return
205
+
206
+ file_path = os.path.expanduser(args.file)
207
+ if not os.path.exists(file_path):
208
+ print('File %s does not exist' % file_path)
209
+ return
210
+
211
+ api_key = os.environ.get('DASHSCOPE_API_KEY', args.api_key)
212
+ if not api_key:
213
+ print('Please set your DashScope API key as environment variable '
214
+ 'DASHSCOPE_API_KEY or pass it as argument by -k/--api_key')
215
+ return
216
+
217
+ oss_url = OssUtils.upload(model=args.model,
218
+ file_path=file_path,
219
+ api_key=api_key)
220
+
221
+ if not oss_url:
222
+ print('Failed to upload file: %s' % file_path)
223
+ return
224
+
225
+ print('Uploaded oss url: %s' % oss_url)
196
226
 
197
227
  class Files:
198
228
  @classmethod
@@ -477,6 +507,30 @@ def main():
477
507
  help='The fine-tune job id.')
478
508
  fine_tune_cancel.set_defaults(func=FineTunes.cancel)
479
509
 
510
+ oss_upload = sub_parsers.add_parser('oss.upload')
511
+ oss_upload.add_argument(
512
+ '-f',
513
+ '--file',
514
+ type=str,
515
+ required=True,
516
+ help='The file path to upload',
517
+ )
518
+ oss_upload.add_argument(
519
+ '-m',
520
+ '--model',
521
+ type=str,
522
+ required=True,
523
+ help='The model name',
524
+ )
525
+ oss_upload.add_argument(
526
+ '-k',
527
+ '--api_key',
528
+ type=str,
529
+ required=False,
530
+ help='The dashscope api key',
531
+ )
532
+ oss_upload.set_defaults(func=Oss.upload)
533
+
480
534
  file_upload = sub_parsers.add_parser('files.upload')
481
535
  file_upload.add_argument(
482
536
  '-f',
@@ -82,6 +82,10 @@ class Runs(CreateMixin, CancelMixin, ListObjectMixin, GetStatusMixin,
82
82
  workspace: str = None,
83
83
  extra_body: Optional[Dict] = None,
84
84
  api_key: str = None,
85
+ top_p: Optional[float] = None,
86
+ top_k: Optional[int] = None,
87
+ temperature: Optional[float] = None,
88
+ max_tokens: Optional[int] = None,
85
89
  **kwargs) -> Run:
86
90
  """Create a run.
87
91
 
@@ -122,6 +126,15 @@ class Runs(CreateMixin, CancelMixin, ListObjectMixin, GetStatusMixin,
122
126
  if extra_body is not None and extra_body:
123
127
  data = {**data, **extra_body}
124
128
 
129
+ if top_p is not None:
130
+ data['top_p'] = top_p
131
+ if top_k is not None:
132
+ data['top_k'] = top_k
133
+ if temperature is not None:
134
+ data['temperature'] = temperature
135
+ if max_tokens is not None:
136
+ data['max_tokens'] = max_tokens
137
+
125
138
  response = super().call(data=data,
126
139
  path=f'threads/{thread_id}/runs',
127
140
  api_key=api_key,
@@ -180,6 +193,10 @@ class Runs(CreateMixin, CancelMixin, ListObjectMixin, GetStatusMixin,
180
193
  workspace: str = None,
181
194
  extra_body: Optional[Dict] = None,
182
195
  api_key: str = None,
196
+ top_p: Optional[float] = None,
197
+ top_k: Optional[int] = None,
198
+ temperature: Optional[float] = None,
199
+ max_tokens: Optional[int] = None,
183
200
  **kwargs) -> Run:
184
201
  """Create a run.
185
202
 
@@ -214,6 +231,10 @@ class Runs(CreateMixin, CancelMixin, ListObjectMixin, GetStatusMixin,
214
231
  workspace=workspace,
215
232
  extra_body=extra_body,
216
233
  api_key=api_key,
234
+ top_p=top_p,
235
+ top_k=top_k,
236
+ temperature=temperature,
237
+ max_tokens=max_tokens,
217
238
  **kwargs)
218
239
 
219
240
  @classmethod
@@ -51,6 +51,13 @@ class Usage(BaseObjectMixin):
51
51
 
52
52
  total_tokens: int
53
53
  """Total number of tokens used (prompt + completion)."""
54
+
55
+ input_tokens: int
56
+ """Input tokens used (prompt)."""
57
+
58
+ output_tokens: int
59
+ """Output tokens used (completion)."""
60
+
54
61
  def __init__(self, **kwargs):
55
62
  super().__init__(**kwargs)
56
63
 
@@ -302,6 +309,11 @@ class Run(BaseObjectMixin):
302
309
 
303
310
  tools: List[Tool]
304
311
 
312
+ top_p: Optional[float] = None
313
+ top_k: Optional[int] = None
314
+ temperature: Optional[float] = None
315
+ max_tokens: Optional[int] = None
316
+
305
317
  usage: Optional[Usage] = None
306
318
 
307
319
  def __init__(self, **kwargs):
@@ -154,7 +154,10 @@ def check_and_upload_local(model: str, content: str, api_key: str):
154
154
  return True, file_url
155
155
  else:
156
156
  raise InvalidInput('The file: %s is not exists!' % file_path)
157
+ elif content.startswith('oss://'):
158
+ return True, content
157
159
  elif not content.startswith('http'):
160
+ content = os.path.expanduser(content)
158
161
  if os.path.isfile(content):
159
162
  file_url = OssUtils.upload(model=model,
160
163
  file_path=content,
dashscope/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  # Copyright (c) Alibaba, Inc. and its affiliates.
2
2
 
3
- __version__ = '1.23.9'
3
+ __version__ = '1.24.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dashscope
3
- Version: 1.23.9
3
+ Version: 1.24.0
4
4
  Summary: dashscope client sdk library
5
5
  Home-page: https://dashscope.aliyun.com/
6
6
  Author: Alibaba Cloud
@@ -1,9 +1,9 @@
1
1
  dashscope/__init__.py,sha256=__BY0dzgFX5Bt50WL-2PJmI8EYOmnpXhABQntdqDtSM,3062
2
- dashscope/cli.py,sha256=amegoTkGOs6TlHMdoo4JVOqBePo3lGs745rc7leEyrE,24020
2
+ dashscope/cli.py,sha256=BfABF8T7uVttfHTSCqGiIcA_XuiYUfCnQ9WLvSUV0Ys,25646
3
3
  dashscope/files.py,sha256=vRDQygm3lOqBZR73o7KNHs1iTBVuvLncuwJNxIYjzAU,3981
4
4
  dashscope/model.py,sha256=B5v_BtYLPqj6raClejBgdKg6WTGwhH_f-20pvsQqmsk,1491
5
5
  dashscope/models.py,sha256=dE4mzXkl85G343qVylSGpURPRdA5pZSqXlx6PcxqC_Q,1275
6
- dashscope/version.py,sha256=ACHUqhomdzZ7aih_Y368NUmXBBfj2GY5GqSf2NoTta4,74
6
+ dashscope/version.py,sha256=Jh_ywQtA3fN22w5spp6Y1H_sgZduUBIV7g5eOVdEETE,74
7
7
  dashscope/aigc/__init__.py,sha256=AuRhu_vA1K0tbs_C6DgcZYhTvxMuzDgpwHJNHzEPIHg,442
8
8
  dashscope/aigc/chat_completion.py,sha256=ONlyyssIbfaKKcFo7cEKhHx5OCF2XX810HFzIExW1ho,14813
9
9
  dashscope/aigc/code_generation.py,sha256=p_mxDKJLQMW0IjFD46JRlZuEZCRESSVKEfLlAevBtqw,10936
@@ -24,11 +24,11 @@ dashscope/api_entities/http_request.py,sha256=p2xfmq79evNON4ctCVXCcrJo8jnKABn0Xz
24
24
  dashscope/api_entities/websocket_request.py,sha256=PS0FU854-HjTbKa68f4GHa7-noFRMzKySJGfPkrrBjw,16146
25
25
  dashscope/app/__init__.py,sha256=xvSvU8O7m5u7vgIvJXTJektJZxmjT2Rpt_YwePH88XE,113
26
26
  dashscope/app/application.py,sha256=Whf_ij4RHOaY12_xdS8uj8HVNCwkTp_MRdrFTryF1Kg,9472
27
- dashscope/app/application_response.py,sha256=z9BKcb9QuV_TzHkqtwaCwap2GQ1mP48uDD7gIc2il98,7038
27
+ dashscope/app/application_response.py,sha256=XO6iOZlt7OXulvFS71zwAq_HXYkn3HLJdAimTWPP0B4,8568
28
28
  dashscope/assistants/__init__.py,sha256=hjCTuv13yFaXyUqlexAU-RaO0Ahq3P7VK9_LkSbkGVU,434
29
- dashscope/assistants/assistant_types.py,sha256=DQ_lOust10wjiV38Nlsu3HaGYNbGlJoaLjEza82Wotk,4262
30
- dashscope/assistants/assistants.py,sha256=t8BGu9K2YbNpBenUyFFDMx5WpZ5x5OtbssJkj0xfVo0,10930
31
- dashscope/assistants/files.py,sha256=Ol2h7L2vNV8kgWqum2B-3B9vtLEHB_2KWt0K7e96Bmg,6750
29
+ dashscope/assistants/assistant_types.py,sha256=qVDSy0xcsMq_sAD7t_ppoGLBN2QDiHqarAAlW_CDDtY,4478
30
+ dashscope/assistants/assistants.py,sha256=X6wUEFkpMwQBkjcBaraux0-gu6nwEWD0BUGfygLAE0A,12531
31
+ dashscope/assistants/files.py,sha256=CaQkZK7TFeMaAxtqMi-1rBVJrlKXdehZG9plNZ6zslo,7060
32
32
  dashscope/audio/__init__.py,sha256=7e3ejVsDJxEbMHN-9E0nEDfU-CnnQ4JgtgUxqNs0IG4,192
33
33
  dashscope/audio/asr/__init__.py,sha256=JoCenJAUVOQXPmAn1toKeFYCfc8BqNn0NKpqjuJvNJc,1055
34
34
  dashscope/audio/asr/asr_phrase_manager.py,sha256=vHOLExaKCtjedkihIu7gyfQyarR9rN5JZn79LvlCpco,7693
@@ -46,7 +46,7 @@ dashscope/audio/tts/__init__.py,sha256=xYpMFseUZGgqgj_70zcX2VsLv-L7qxJ3d-bbdj_hO
46
46
  dashscope/audio/tts/speech_synthesizer.py,sha256=vD1xQV-rew8qAsIaAGH5amsNtB0SqdtNhVHhJHGQ-xk,7622
47
47
  dashscope/audio/tts_v2/__init__.py,sha256=me9a3_7KsHQxcJ8hx4SeKlY1e_ThHVvGMw7Yn0uoscM,333
48
48
  dashscope/audio/tts_v2/enrollment.py,sha256=-nrlywYSOP73Bm9ETTSxNnlp-B8ezJcUmd59mVvyvgk,6361
49
- dashscope/audio/tts_v2/speech_synthesizer.py,sha256=qUoLga8HpvNVdbN5n_orxrgZ28yD6Lhwuwqeoi1T7yA,20056
49
+ dashscope/audio/tts_v2/speech_synthesizer.py,sha256=jbTwybwJjhbgUa6TgeLUYnkDBkmk-tjzxta1FtYeWAk,20824
50
50
  dashscope/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
51
51
  dashscope/client/base_api.py,sha256=aWNy_xm02GXuLKVgWnYJht2nI4ZHSGfYIcr52SML15A,41239
52
52
  dashscope/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -82,13 +82,13 @@ dashscope/rerank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,
82
82
  dashscope/rerank/text_rerank.py,sha256=NKN3vnWprguhHy2_g0D7znZ7jEGrLX4zMaLE3jBrl94,2449
83
83
  dashscope/resources/qwen.tiktoken,sha256=srG437XMXwJLr8NzEhxquj9m-aWgJp4kNHCh3hajMYY,2561218
84
84
  dashscope/threads/__init__.py,sha256=3IKX9vZWhT87XrVx1pA_g3MWHEekXoJJSZeE_CTWL08,672
85
- dashscope/threads/thread_types.py,sha256=1_CCRrfDL2tFE5VMj2tjIdZ2N7pvbNffkMF97Fuwzcg,18331
85
+ dashscope/threads/thread_types.py,sha256=brek-eTM9147TAlDxpLKlFcp-JBcSNo6Slg76t0O_dk,18604
86
86
  dashscope/threads/threads.py,sha256=J9QGY0vy6MldC4ujQMyiYc9jN4aH9NGj0SkcWZHwkj0,7716
87
87
  dashscope/threads/messages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
88
  dashscope/threads/messages/files.py,sha256=WxKVQednISIh2MY8N1B6Y4HjGllFhcLKCsc4QXKZ6AQ,3871
89
89
  dashscope/threads/messages/messages.py,sha256=peKqehK8JO0ZwRXACaojg6-61TkBBbqd190xtKIbOZo,8470
90
90
  dashscope/threads/runs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
91
- dashscope/threads/runs/runs.py,sha256=KHBfdBYwIV-3pZG8RjZm5qZK-UMQT3cttV8kEfyH50M,18600
91
+ dashscope/threads/runs/runs.py,sha256=PsUL5IFw-kF8WXEl_CnL1vMGIuP7S7MWzkLhHJCCKDA,19442
92
92
  dashscope/threads/runs/steps.py,sha256=579EsCOwsamuJMSNrrrX86h9JfMdXNlErVJ8XakSqSc,3689
93
93
  dashscope/tokenizers/__init__.py,sha256=TvVAsDam5S0R4rorxdfyUGIEQQX1q8nQ--RxsWWos3A,251
94
94
  dashscope/tokenizers/qwen_tokenizer.py,sha256=tvX7x34Rg_NFFc1XjneXNFfXVkePdqkgHHShce2RJGo,4162
@@ -96,10 +96,10 @@ dashscope/tokenizers/tokenization.py,sha256=ubQBJ_yw_MoHuHxZcK9NarZSSbyExloeSOLI
96
96
  dashscope/tokenizers/tokenizer.py,sha256=3FQVDvMNkCW9ccYeJdjrd_PIMMD3Xv7aNZkaYOE4XX4,1205
97
97
  dashscope/tokenizers/tokenizer_base.py,sha256=5EJIFuizMWESEmLmbd38yJnfeHmPnzZPwsO4aOGjpl4,707
98
98
  dashscope/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
- dashscope/utils/oss_utils.py,sha256=L5LN3lN8etVxSL_jkZydstvEKpnTG9CY0zcvPGQ5LBo,7383
100
- dashscope-1.23.9.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
101
- dashscope-1.23.9.dist-info/METADATA,sha256=tQQhkm5TxNwI2TCmWzT11dwWd9UGFb7cI1cojbo9Dpw,7123
102
- dashscope-1.23.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
103
- dashscope-1.23.9.dist-info/entry_points.txt,sha256=e9C3sOf9zDYL0O5ROEGX6FT8w-QK_kaGRWmPZDHAFys,49
104
- dashscope-1.23.9.dist-info/top_level.txt,sha256=woqavFJK9zas5xTqynmALqOtlafghjsk63Xk86powTU,10
105
- dashscope-1.23.9.dist-info/RECORD,,
99
+ dashscope/utils/oss_utils.py,sha256=VHdHBVYNmWEWS2Kgz_2xMwCtqJqDVjWb5logIkESBsA,7497
100
+ dashscope-1.24.0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
101
+ dashscope-1.24.0.dist-info/METADATA,sha256=eQBLGwKE2J2qwexyNLfsvm8bAcyzyAMgYnBY6EIrSBU,7123
102
+ dashscope-1.24.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
103
+ dashscope-1.24.0.dist-info/entry_points.txt,sha256=e9C3sOf9zDYL0O5ROEGX6FT8w-QK_kaGRWmPZDHAFys,49
104
+ dashscope-1.24.0.dist-info/top_level.txt,sha256=woqavFJK9zas5xTqynmALqOtlafghjsk63Xk86powTU,10
105
+ dashscope-1.24.0.dist-info/RECORD,,