dashscope 1.21.0__py3-none-any.whl → 1.22.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.

@@ -67,7 +67,7 @@ class VoiceEnrollmentService(BaseApi):
67
67
  def create_voice(self, target_model: str, prefix: str, url: str) -> str:
68
68
  '''
69
69
  创建新克隆音色
70
- param: target_model 克隆音色对应的语音识别模型版本
70
+ param: target_model 克隆音色对应的语音合成模型版本
71
71
  param: prefix 音色自定义前缀,仅允许数字和小写字母,小于十个字符。
72
72
  param: url 用于克隆的音频文件url
73
73
  return: voice_id
@@ -275,6 +275,7 @@ class SpeechSynthesizer:
275
275
  self._start_stream_timestamp = -1
276
276
  self._first_package_timestamp = -1
277
277
  self._recv_audio_length = 0
278
+ self.last_response = None
278
279
 
279
280
  def __send_str(self, data: str):
280
281
  logger.debug('>>>send {}'.format(data))
@@ -313,6 +314,11 @@ class SpeechSynthesizer:
313
314
  while (not (self.ws.sock and self.ws.sock.connected)
314
315
  and (time.time() - start_time) < timeout):
315
316
  time.sleep(0.1) # 短暂休眠,避免密集轮询
317
+ if not (self.ws.sock and self.ws.sock.connected):
318
+ raise TimeoutError(
319
+ 'websocket connection could not established within 5s. '
320
+ 'Please check your network connection, firewall settings, or server status.'
321
+ )
316
322
  self.__send_str(request)
317
323
  if not self.start_event.wait(10):
318
324
  raise TimeoutError('start speech synthesizer failed within 5s.')
@@ -434,6 +440,7 @@ class SpeechSynthesizer:
434
440
  try:
435
441
  # 尝试将消息解析为JSON
436
442
  json_data = json.loads(message)
443
+ self.last_response = json_data
437
444
  event = json_data['header'][EVENT_KEY]
438
445
  # 调用JSON回调
439
446
  if EventType.STARTED == event:
@@ -471,7 +478,7 @@ class SpeechSynthesizer:
471
478
  self._recv_audio_length += len(message) / (2 * self.sample_rate /
472
479
  1000)
473
480
  current = time.time() * 1000
474
- current_rtf = (current - self._first_package_timestamp
481
+ current_rtf = (current - self._start_stream_timestamp
475
482
  ) / self._recv_audio_length
476
483
  logger.debug('total audio {} ms, current_rtf: {}'.format(
477
484
  self._recv_audio_length, current_rtf))
@@ -531,3 +538,11 @@ class SpeechSynthesizer:
531
538
  # 获取上一个任务的taskId
532
539
  def get_last_request_id(self):
533
540
  return self.last_request_id
541
+
542
+ def get_first_package_delay(self):
543
+ """First Package Delay is the time between start sending text and receive first audio package
544
+ """
545
+ return self._first_package_timestamp - self._start_stream_timestamp
546
+
547
+ def get_response(self):
548
+ return self.last_response
@@ -2,9 +2,8 @@ import time
2
2
  from http import HTTPStatus
3
3
  from typing import Any, Dict, Iterator, List, Union
4
4
 
5
- import requests
6
-
7
5
  import dashscope
6
+ import requests
8
7
  from dashscope.api_entities.api_request_factory import _build_api_request
9
8
  from dashscope.api_entities.dashscope_response import DashScopeAPIResponse
10
9
  from dashscope.common.api_key import get_default_api_key
@@ -173,9 +172,9 @@ class AsyncTaskGetMixin():
173
172
  status_url = _normalization_url(base_url, 'tasks', task_id)
174
173
  custom_headers = kwargs.pop('headers', None)
175
174
  headers = {
176
- **_workspace_header(workspace),
177
- **default_headers(api_key),
178
- }
175
+ **_workspace_header(workspace),
176
+ **default_headers(api_key),
177
+ }
179
178
  if custom_headers:
180
179
  headers = {
181
180
  **custom_headers,
dashscope/common/utils.py CHANGED
@@ -11,7 +11,6 @@ from urllib.parse import urlparse
11
11
 
12
12
  import aiohttp
13
13
  import requests
14
-
15
14
  from dashscope.api_entities.dashscope_response import DashScopeAPIResponse
16
15
  from dashscope.common.api_key import get_default_api_key
17
16
  from dashscope.common.constants import SSE_CONTENT_TYPE
@@ -1,7 +1,6 @@
1
1
  from http import HTTPStatus
2
2
 
3
3
  from attr import dataclass
4
-
5
4
  from dashscope.api_entities.dashscope_response import (DashScopeAPIResponse,
6
5
  DictMixin)
7
6
 
@@ -8,7 +8,6 @@ from urllib.parse import unquote_plus, urlparse
8
8
  from wsgiref.handlers import format_date_time
9
9
 
10
10
  import requests
11
-
12
11
  from dashscope.api_entities.dashscope_response import DashScopeAPIResponse
13
12
  from dashscope.client.base_api import GetMixin
14
13
  from dashscope.common.constants import FILE_PATH_SCHEMA
dashscope/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '1.21.0'
1
+ __version__ = '1.22.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dashscope
3
- Version: 1.21.0
3
+ Version: 1.22.0
4
4
  Summary: dashscope client sdk library
5
5
  Home-page: https://dashscope.aliyun.com/
6
6
  Author: Alibaba Cloud
@@ -6,7 +6,7 @@ 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
8
  dashscope/models.py,sha256=1-bc-Ue68zurgu_y6RhfFr9uzeQMF5AZq-C32lJGMGU,1224
9
- dashscope/version.py,sha256=sYFfnMKW3_pCoUqTSWWoBwqO-qPtJaDtBAgvBJqMx4I,23
9
+ dashscope/version.py,sha256=SDK5izPcJa4KNexMqsTGqKMhzuz-w_ifY4M7gq-3Eno,23
10
10
  dashscope/aigc/__init__.py,sha256=xmdalVw7wS0cLIuU8Q0qk0q8XGw-iGk8NnQwAQZ3jAc,391
11
11
  dashscope/aigc/code_generation.py,sha256=KAJVrGp6tiNFBBg64Ovs9RfcP5SrIhrbW3wdA89NKso,10885
12
12
  dashscope/aigc/conversation.py,sha256=xRoJlCR-IXHjSdkDrK74a9ut1FJg0FZhTNXZAJC18MA,14231
@@ -15,13 +15,13 @@ dashscope/aigc/image_synthesis.py,sha256=UWHW-nvf7_aDZKr4uZDusVHjqWr9TSZjCsZI8YS
15
15
  dashscope/aigc/multimodal_conversation.py,sha256=SlNnnsUPV19gdx8fYJAtsMFWPNGY6vhk5IGHZ5ZczpI,5369
16
16
  dashscope/aigc/video_synthesis.py,sha256=gbp5XG_DMVN0JnBOgxftdwsCIyrV7nM2gVnlyO8X-ek,10400
17
17
  dashscope/api_entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
- dashscope/api_entities/aiohttp_request.py,sha256=aE3AeWba8Ig_xHMYjrAdkq0N61l_L2VFTG6HYh912X0,10229
19
- dashscope/api_entities/api_request_data.py,sha256=JUMcfpJjKXEZLCBSFIDpgoaeQYk5uK9-CwhM4OHIHFQ,5463
20
- dashscope/api_entities/api_request_factory.py,sha256=j4VOA1qKzvsK6-BOHGyA35oqsMkNoc4xZe9GHefV0fU,4947
18
+ dashscope/api_entities/aiohttp_request.py,sha256=ZFbdpJh7SwHnBzbYLhqr_FdcDVRgLVMLhLUS_vXbUGs,10228
19
+ dashscope/api_entities/api_request_data.py,sha256=QHGgIShcQ1jANO1szfsqUGtYix1nD2RN4LyC_fNciCM,5462
20
+ dashscope/api_entities/api_request_factory.py,sha256=iLjOqZkbuQkn9JVduI39XPrhm1UefekAekaNqxFpNLM,5061
21
21
  dashscope/api_entities/base_request.py,sha256=cXUL7xqSV8wBr5d-1kx65AO3IsRR9A_ps6Lok-v-MKM,926
22
22
  dashscope/api_entities/dashscope_response.py,sha256=4a8Iya8RBUnVdzGmzoj6NvaaEeEnodGAD7evBrqEXfU,19832
23
- dashscope/api_entities/http_request.py,sha256=pYE8qRMu9CaQDiugPlXeYoaj_diBv-ZDExCD3WNhehI,13259
24
- dashscope/api_entities/websocket_request.py,sha256=Xr6IJ9WqrIw5ouBQLpgoRSwL1C09jkb4u1EZdxhVQy0,15039
23
+ dashscope/api_entities/http_request.py,sha256=Pr6mr01uXELK9LwIPXrJAhNtGMkWH3gQYORXShRiQRo,13258
24
+ dashscope/api_entities/websocket_request.py,sha256=h3RcvgvXpyzF8xvC4hqNUkev6HGN_YgO5emvqYaXw78,16094
25
25
  dashscope/app/__init__.py,sha256=UiN_9i--z84Dw5wUehOh_Tkk_9Gq_td_Kbz1dobBEKg,62
26
26
  dashscope/app/application.py,sha256=Cnd62LFpG70XJUo4Oibry9KzXPhPNmNkKFD4R5YuGTA,9343
27
27
  dashscope/app/application_response.py,sha256=0pulI3O3z4R4h_YaDwzVimamo3XwTXGy5TiHCzysTBg,7011
@@ -30,19 +30,20 @@ dashscope/assistants/assistant_types.py,sha256=1jNL30TOlrkiYhvCaB3E8jkPLG8CnQ6I3
30
30
  dashscope/assistants/assistants.py,sha256=NYahIDqhtnOcQOmnhZsjc5F5jvBUQcce8-fbrJXHVnQ,10833
31
31
  dashscope/assistants/files.py,sha256=pwLVJ_pjpRFWyfI_MRvhH7Si7FzGDj4ChzZgWTpLOhg,6699
32
32
  dashscope/audio/__init__.py,sha256=-ZRxrK-gV4QsUtlThIT-XwqB6vmyEsnhxIxdLmhCUuc,61
33
- dashscope/audio/asr/__init__.py,sha256=kFdx3IYsdfGGDDlQmUjvtd2kqifuEekwlPBEOUvXvEY,406
33
+ dashscope/audio/asr/__init__.py,sha256=VaWX5DRWcB81_5z2o7IPwz6Jrs9vFFJ5GEVarzVOvPY,1004
34
34
  dashscope/audio/asr/asr_phrase_manager.py,sha256=EjtbI3zz9UQGS1qv6Yb4zzEMj4OJJVXmwkqZyIrzvEA,7642
35
- dashscope/audio/asr/recognition.py,sha256=a4zIkIMiWwOEApP9k9ZC9jGDr7CP7BqB6Cy1dBVTN4g,18978
35
+ dashscope/audio/asr/recognition.py,sha256=7ApnKJKVp1JS6e6KBZzM8y1yiMB2fEun07S6BOvqfrs,20699
36
36
  dashscope/audio/asr/transcribe.py,sha256=HfZYpvpVfvGRAIIIzX65Af33E6vsIFGd_qqhQ8LaNcM,9651
37
37
  dashscope/audio/asr/transcription.py,sha256=D8CW0XDqJuEJVmNFJ6qczTysSV3Sz_rzk2C6NIKTtVc,9042
38
+ dashscope/audio/asr/translation_recognizer.py,sha256=j1oKgggSA2HDdEJAOJ4jY78_bK0FGwpfIf_AxbrAzWM,39629
38
39
  dashscope/audio/asr/vocabulary.py,sha256=2MHxeaL0ANWk-TILrHhArKSdj0d5M_YHw0cnjB-E4dY,6476
39
40
  dashscope/audio/tts/__init__.py,sha256=fbnieZX9yNFNh5BsxLpLXb63jlxzxrdCJakV3ignjlQ,194
40
41
  dashscope/audio/tts/speech_synthesizer.py,sha256=dnKx9FDDdO_ETHAjhK8zaMVaH6SfoTtN5YxXXqgY1JA,7571
41
42
  dashscope/audio/tts_v2/__init__.py,sha256=5UfyDBYnuGgOy9KMxEIXA2U2ihcXutdZc1cqJudy-8M,282
42
- dashscope/audio/tts_v2/enrollment.py,sha256=mvkYMj9WzqEztZb8zc56fm8Obw7ON9USrEYhATU6rcs,6140
43
- dashscope/audio/tts_v2/speech_synthesizer.py,sha256=lATasQJB8HlB_yYm90qqW6zIAE1CQFxBxhnch6xdg9s,19285
43
+ dashscope/audio/tts_v2/enrollment.py,sha256=pFxiB_F9jmNnyikabA710QVCVih8Q7AQPLIO4aGKfc8,6140
44
+ dashscope/audio/tts_v2/speech_synthesizer.py,sha256=JPS9LRfWX4VD-BZHAJcBh3Vfwn7oVueAnN0zXhnIqhQ,19928
44
45
  dashscope/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
- dashscope/client/base_api.py,sha256=D1lRDr_k58Vwd3jvmsMx4UtTjwdngx182LPYvmtXZjQ,41212
46
+ dashscope/client/base_api.py,sha256=RH8ztQgx1WPRXZVfvt5rbhu45IXFdaw8HSbHN5k8AF8,41187
46
47
  dashscope/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
47
48
  dashscope/common/api_key.py,sha256=5Stp0odL5JSuIO3qJBp23QNppuGbqhhvKPS66qbMs0I,1986
48
49
  dashscope/common/base_type.py,sha256=C9xP6WuN5pOzviZ2g3X2EPcigldtFE0VlaUmjyNnUUk,4619
@@ -51,14 +52,14 @@ dashscope/common/env.py,sha256=oQOZW5JyEeTSde394un2lpDJ5RBh4fMU9hBfbtrKKkc,869
51
52
  dashscope/common/error.py,sha256=Q7GRhniP-7ap4HBpU69frRdKgKLwmH4ySYxCtupsr60,2638
52
53
  dashscope/common/logging.py,sha256=ecGxylG3bWES_Xv5-BD6ep4_0Ciu7F6ZPBjiZtu9Jx4,984
53
54
  dashscope/common/message_manager.py,sha256=i5149WzDk6nWmdFaHzYx4USXMBeX18GKSI-F4fLwbN0,1097
54
- dashscope/common/utils.py,sha256=pMrJJWO3YV77VUFRhoKT7SdCMlopmXx0TgSzPuI3OYM,15388
55
+ dashscope/common/utils.py,sha256=Sw5UB_WH3lFnbwZO3RoA2V6DCHgthjaetW5mN9JM5BE,15387
55
56
  dashscope/customize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
56
57
  dashscope/customize/customize_types.py,sha256=ZtEwSXA4dbjIYr5vgQQNkMuXyC2BNmznGuaF6b7jwr0,4803
57
58
  dashscope/customize/deployments.py,sha256=LIkM-hmJHcJZCKV6WJIPSXQ5CAhB5PUxnt5mqKbVbfE,5189
58
59
  dashscope/customize/finetunes.py,sha256=iFnEUMGY6FGogVClIJMEeFhUwfYi7gD05Iq1-eMP2M0,8311
59
60
  dashscope/embeddings/__init__.py,sha256=-dxHaoxZZVuP-wAGUIa3sNNh8CQwaeWj2UlqsDy1sV4,240
60
61
  dashscope/embeddings/batch_text_embedding.py,sha256=P32LFO9v7ehdJsl0c32In94hUET6K6AaGJ_pDRtFqco,8791
61
- dashscope/embeddings/batch_text_embedding_response.py,sha256=WziXlQsFIkL1kPc_7lRG1HtqgkO5vVThtnNqExJggNU,2000
62
+ dashscope/embeddings/batch_text_embedding_response.py,sha256=hf17wfhJKvX3ggnigOiTqD4O1lFhx_NG_O1ioKCx0gk,1999
62
63
  dashscope/embeddings/multimodal_embedding.py,sha256=yojtGNoT2N54g0jcAYUwNIiwzueun1ouqS0S0tvnyQc,3966
63
64
  dashscope/embeddings/text_embedding.py,sha256=I3zRvuT2HWcaZYH-zrtGcAQmzuLQxFswIHJMiQXfaJQ,2009
64
65
  dashscope/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -85,10 +86,10 @@ dashscope/tokenizers/tokenization.py,sha256=G6cSEmVLr3pjXUC3EOU9ot8MYxNnOQ4wOB2m
85
86
  dashscope/tokenizers/tokenizer.py,sha256=y6P91qTCYo__pEx_0VHAcj9YECfbUdRqZU1fdGTjF4o,1154
86
87
  dashscope/tokenizers/tokenizer_base.py,sha256=REDhzRyDT13iequ61-a6_KcTy0GFKlihQve5HkyoyRs,656
87
88
  dashscope/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
- dashscope/utils/oss_utils.py,sha256=Ci_3gkvVGq_2kWzDA90lM7VoMoewAvCkoFcQTbPj8bI,7332
89
- dashscope-1.21.0.dist-info/LICENSE,sha256=Izp5L1DF1Mbza6qojkqNNWlE_mYLnr4rmzx2EBF8YFw,11413
90
- dashscope-1.21.0.dist-info/METADATA,sha256=vIJ9LChy9z3oLteT9IifLTqwTceHE8SMO7_ymLMJU3A,6641
91
- dashscope-1.21.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
92
- dashscope-1.21.0.dist-info/entry_points.txt,sha256=raEp5dOuj8whJ7yqZlDM8WQ5p2RfnGrGNo0QLQEnatY,50
93
- dashscope-1.21.0.dist-info/top_level.txt,sha256=woqavFJK9zas5xTqynmALqOtlafghjsk63Xk86powTU,10
94
- dashscope-1.21.0.dist-info/RECORD,,
89
+ dashscope/utils/oss_utils.py,sha256=TlqaMAmVRtBJIm5aIaXsrRZGKc_7cwWQ7liMB2f9Css,7331
90
+ dashscope-1.22.0.dist-info/LICENSE,sha256=Izp5L1DF1Mbza6qojkqNNWlE_mYLnr4rmzx2EBF8YFw,11413
91
+ dashscope-1.22.0.dist-info/METADATA,sha256=ZmeEprSXjdVtgfudY4kN8L0XSN8EughpPz7y3OyCwkM,6641
92
+ dashscope-1.22.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
93
+ dashscope-1.22.0.dist-info/entry_points.txt,sha256=raEp5dOuj8whJ7yqZlDM8WQ5p2RfnGrGNo0QLQEnatY,50
94
+ dashscope-1.22.0.dist-info/top_level.txt,sha256=woqavFJK9zas5xTqynmALqOtlafghjsk63Xk86powTU,10
95
+ dashscope-1.22.0.dist-info/RECORD,,