dashscope 1.22.1__py3-none-any.whl → 1.23.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.

Files changed (84) hide show
  1. dashscope/__init__.py +3 -1
  2. dashscope/aigc/__init__.py +2 -0
  3. dashscope/aigc/chat_completion.py +15 -4
  4. dashscope/aigc/code_generation.py +2 -0
  5. dashscope/aigc/conversation.py +2 -0
  6. dashscope/aigc/generation.py +2 -0
  7. dashscope/aigc/image_synthesis.py +2 -0
  8. dashscope/aigc/multimodal_conversation.py +8 -4
  9. dashscope/aigc/video_synthesis.py +2 -0
  10. dashscope/api_entities/aiohttp_request.py +3 -0
  11. dashscope/api_entities/api_request_data.py +3 -0
  12. dashscope/api_entities/api_request_factory.py +2 -0
  13. dashscope/api_entities/base_request.py +2 -0
  14. dashscope/api_entities/chat_completion_types.py +58 -63
  15. dashscope/api_entities/dashscope_response.py +74 -2
  16. dashscope/api_entities/http_request.py +3 -0
  17. dashscope/api_entities/websocket_request.py +3 -2
  18. dashscope/app/__init__.py +2 -0
  19. dashscope/app/application.py +17 -15
  20. dashscope/app/application_response.py +1 -1
  21. dashscope/assistants/__init__.py +2 -0
  22. dashscope/assistants/assistant_types.py +2 -0
  23. dashscope/assistants/assistants.py +2 -0
  24. dashscope/assistants/files.py +2 -0
  25. dashscope/audio/__init__.py +4 -2
  26. dashscope/audio/asr/__init__.py +2 -0
  27. dashscope/audio/asr/asr_phrase_manager.py +2 -0
  28. dashscope/audio/asr/recognition.py +2 -0
  29. dashscope/audio/asr/transcription.py +3 -0
  30. dashscope/audio/asr/translation_recognizer.py +2 -0
  31. dashscope/audio/asr/vocabulary.py +3 -0
  32. dashscope/audio/qwen_tts/__init__.py +5 -0
  33. dashscope/audio/qwen_tts/speech_synthesizer.py +77 -0
  34. dashscope/audio/tts/__init__.py +2 -0
  35. dashscope/audio/tts/speech_synthesizer.py +2 -0
  36. dashscope/audio/tts_v2/__init__.py +2 -0
  37. dashscope/audio/tts_v2/enrollment.py +3 -0
  38. dashscope/audio/tts_v2/speech_synthesizer.py +4 -1
  39. dashscope/client/base_api.py +4 -1
  40. dashscope/common/api_key.py +2 -0
  41. dashscope/common/base_type.py +2 -0
  42. dashscope/common/constants.py +2 -0
  43. dashscope/common/env.py +2 -0
  44. dashscope/common/error.py +3 -0
  45. dashscope/common/logging.py +2 -0
  46. dashscope/common/message_manager.py +2 -0
  47. dashscope/common/utils.py +3 -0
  48. dashscope/customize/customize_types.py +2 -0
  49. dashscope/customize/deployments.py +2 -0
  50. dashscope/customize/finetunes.py +2 -0
  51. dashscope/embeddings/__init__.py +2 -0
  52. dashscope/embeddings/batch_text_embedding.py +2 -0
  53. dashscope/embeddings/batch_text_embedding_response.py +3 -0
  54. dashscope/embeddings/multimodal_embedding.py +6 -3
  55. dashscope/embeddings/text_embedding.py +2 -0
  56. dashscope/files.py +2 -0
  57. dashscope/io/input_output.py +2 -0
  58. dashscope/model.py +2 -0
  59. dashscope/models.py +2 -0
  60. dashscope/nlp/understanding.py +2 -0
  61. dashscope/protocol/websocket.py +3 -0
  62. dashscope/rerank/text_rerank.py +2 -0
  63. dashscope/threads/__init__.py +2 -0
  64. dashscope/threads/messages/files.py +2 -0
  65. dashscope/threads/messages/messages.py +2 -0
  66. dashscope/threads/runs/runs.py +2 -0
  67. dashscope/threads/runs/steps.py +2 -0
  68. dashscope/threads/thread_types.py +2 -0
  69. dashscope/threads/threads.py +2 -0
  70. dashscope/tokenizers/__init__.py +2 -0
  71. dashscope/tokenizers/qwen_tokenizer.py +2 -0
  72. dashscope/tokenizers/tokenization.py +2 -0
  73. dashscope/tokenizers/tokenizer.py +2 -0
  74. dashscope/tokenizers/tokenizer_base.py +2 -0
  75. dashscope/utils/oss_utils.py +3 -0
  76. dashscope/version.py +3 -1
  77. {dashscope-1.22.1.dist-info → dashscope-1.23.0.dist-info}/LICENSE +2 -4
  78. {dashscope-1.22.1.dist-info → dashscope-1.23.0.dist-info}/METADATA +4 -3
  79. dashscope-1.23.0.dist-info/RECORD +95 -0
  80. {dashscope-1.22.1.dist-info → dashscope-1.23.0.dist-info}/entry_points.txt +1 -0
  81. dashscope/utils/temporary_storage.py +0 -160
  82. dashscope-1.22.1.dist-info/RECORD +0 -94
  83. {dashscope-1.22.1.dist-info → dashscope-1.23.0.dist-info}/WHEEL +0 -0
  84. {dashscope-1.22.1.dist-info → dashscope-1.23.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,95 @@
1
+ dashscope/__init__.py,sha256=__BY0dzgFX5Bt50WL-2PJmI8EYOmnpXhABQntdqDtSM,3062
2
+ dashscope/cli.py,sha256=amegoTkGOs6TlHMdoo4JVOqBePo3lGs745rc7leEyrE,24020
3
+ dashscope/files.py,sha256=vRDQygm3lOqBZR73o7KNHs1iTBVuvLncuwJNxIYjzAU,3981
4
+ dashscope/model.py,sha256=B5v_BtYLPqj6raClejBgdKg6WTGwhH_f-20pvsQqmsk,1491
5
+ dashscope/models.py,sha256=dE4mzXkl85G343qVylSGpURPRdA5pZSqXlx6PcxqC_Q,1275
6
+ dashscope/version.py,sha256=eODiCFBBFCNL7_I5FHq8A71s4gJqAPHDMnScWfhDnjo,74
7
+ dashscope/aigc/__init__.py,sha256=AuRhu_vA1K0tbs_C6DgcZYhTvxMuzDgpwHJNHzEPIHg,442
8
+ dashscope/aigc/chat_completion.py,sha256=ONlyyssIbfaKKcFo7cEKhHx5OCF2XX810HFzIExW1ho,14813
9
+ dashscope/aigc/code_generation.py,sha256=p_mxDKJLQMW0IjFD46JRlZuEZCRESSVKEfLlAevBtqw,10936
10
+ dashscope/aigc/conversation.py,sha256=95xEEY4ThZJysj5zy3aMw7ql9KLJVfD_1iHv9QZ17Ew,14282
11
+ dashscope/aigc/generation.py,sha256=xMcMu16rICTdjZiD_sPqYV_Ltdp4ewGzzfC7JD9VApY,17948
12
+ dashscope/aigc/image_synthesis.py,sha256=v4SzJdKjPhVgRk_pZY9mRz3LHjIzY22larIpXomRMuA,11103
13
+ dashscope/aigc/multimodal_conversation.py,sha256=1rZZRk_1lCdbVs7Rx1kJ5LvwWE1put5p_dQKdCX0ysY,5574
14
+ dashscope/aigc/video_synthesis.py,sha256=QO9JXrriT0ZN-GF3AFznNx9G_NEYQr_Wmo4qpXjzVN0,10451
15
+ dashscope/api_entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ dashscope/api_entities/aiohttp_request.py,sha256=1L7XdIJ9L65cQmX8x9JCR4t5hNIMDrbiWADfKKp9yfo,10280
17
+ dashscope/api_entities/api_request_data.py,sha256=04rpYPNK1HkT3iTPJmZpquH621xcBbe8R8EGrDJSLt0,5514
18
+ dashscope/api_entities/api_request_factory.py,sha256=yRzRKlFeoEyTyiXwyw_1hTKbkf6Sb5SaKZJU--Gfm3w,5112
19
+ dashscope/api_entities/base_request.py,sha256=W2SzrSAGFS6V8DErfSrayQtSL0T4iO7BrC8flr7nt1w,977
20
+ dashscope/api_entities/chat_completion_types.py,sha256=1WMWPszhM3HaJBVz-ZXx-El4D8-RfVUL3ym65xsDRLk,11435
21
+ dashscope/api_entities/dashscope_response.py,sha256=HRs-rmH_c4f0Nml8GLPxxiHAzAOdlZAZv51utkXL54U,22054
22
+ dashscope/api_entities/http_request.py,sha256=vgfykwSOdPom4bQVFOtXIEPYTuE_4QVNGtZ2EJ0t9lM,13310
23
+ dashscope/api_entities/websocket_request.py,sha256=PS0FU854-HjTbKa68f4GHa7-noFRMzKySJGfPkrrBjw,16146
24
+ dashscope/app/__init__.py,sha256=xvSvU8O7m5u7vgIvJXTJektJZxmjT2Rpt_YwePH88XE,113
25
+ dashscope/app/application.py,sha256=Whf_ij4RHOaY12_xdS8uj8HVNCwkTp_MRdrFTryF1Kg,9472
26
+ dashscope/app/application_response.py,sha256=z9BKcb9QuV_TzHkqtwaCwap2GQ1mP48uDD7gIc2il98,7038
27
+ dashscope/assistants/__init__.py,sha256=hjCTuv13yFaXyUqlexAU-RaO0Ahq3P7VK9_LkSbkGVU,434
28
+ dashscope/assistants/assistant_types.py,sha256=DQ_lOust10wjiV38Nlsu3HaGYNbGlJoaLjEza82Wotk,4262
29
+ dashscope/assistants/assistants.py,sha256=_ADX4s8Mlfhfq7kb8xMLztNX_09NAW7DouvbVLY0jpw,10884
30
+ dashscope/assistants/files.py,sha256=Ol2h7L2vNV8kgWqum2B-3B9vtLEHB_2KWt0K7e96Bmg,6750
31
+ dashscope/audio/__init__.py,sha256=RKw-A1PLA5F4jiXI3AnuRSYeHFzQl2OW2ZGW6xyHS1Q,132
32
+ dashscope/audio/asr/__init__.py,sha256=JoCenJAUVOQXPmAn1toKeFYCfc8BqNn0NKpqjuJvNJc,1055
33
+ dashscope/audio/asr/asr_phrase_manager.py,sha256=vHOLExaKCtjedkihIu7gyfQyarR9rN5JZn79LvlCpco,7693
34
+ dashscope/audio/asr/recognition.py,sha256=6atbrO4wHqKDTF4P_oZKIP3KYSSKZwRan2oX7DbssI0,20750
35
+ dashscope/audio/asr/transcription.py,sha256=lYzPjh7jJQwjMoxx8-AY0YCMBKNKO0bi7xd5tZGSHPc,9094
36
+ dashscope/audio/asr/translation_recognizer.py,sha256=JgBmhkIl_kqH8uVwop6Fba5KlXccftKFrhaygN9PKjU,39680
37
+ dashscope/audio/asr/vocabulary.py,sha256=TEmN4JqXFpg9c1o3BUyj-rA7L58T85iURukJIupEiv0,6528
38
+ dashscope/audio/qwen_tts/__init__.py,sha256=JS3axY1grqO0aTIJufZ3KS1JsU6yf6y4K2CQlNvUK9I,132
39
+ dashscope/audio/qwen_tts/speech_synthesizer.py,sha256=7LHR-PXhn-VE1cCOp_82Jq0zE9rMc3xy3dszUeyLLNs,2927
40
+ dashscope/audio/tts/__init__.py,sha256=xYpMFseUZGgqgj_70zcX2VsLv-L7qxJ3d-bbdj_hO0I,245
41
+ dashscope/audio/tts/speech_synthesizer.py,sha256=vD1xQV-rew8qAsIaAGH5amsNtB0SqdtNhVHhJHGQ-xk,7622
42
+ dashscope/audio/tts_v2/__init__.py,sha256=me9a3_7KsHQxcJ8hx4SeKlY1e_ThHVvGMw7Yn0uoscM,333
43
+ dashscope/audio/tts_v2/enrollment.py,sha256=DlkV4P1unbtgg9vQNfDfnBqA61yYtIwRHgUdwPh4AF4,6192
44
+ dashscope/audio/tts_v2/speech_synthesizer.py,sha256=aL_VNKMYwiw5pKv3SvuAzWtZF0bpyvntc3Kh_iJroNM,19980
45
+ dashscope/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
+ dashscope/client/base_api.py,sha256=aWNy_xm02GXuLKVgWnYJht2nI4ZHSGfYIcr52SML15A,41239
47
+ dashscope/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
+ dashscope/common/api_key.py,sha256=yqFCAteq8CNQGnlLv6fxNFWsLqsQDbSzOpgAlUmDkaE,2037
49
+ dashscope/common/base_type.py,sha256=2OQDqFlEH43wn54i-691cbarV_eKRLvRsPGfyb_GS0g,4670
50
+ dashscope/common/constants.py,sha256=ULmR3ZENW1gIWRZLmUKKscRQ1vQvhw4EoTxvNbrgMmw,2378
51
+ dashscope/common/env.py,sha256=9yWWdKqfYuHlTQSvbTBaQhGbASh5Lq6SbM9pPx8hB40,920
52
+ dashscope/common/error.py,sha256=sXQqBGWCUBPyKa5rAI6DWc0sEidH01sR8zlIBfrTTDU,2690
53
+ dashscope/common/logging.py,sha256=lX86X9ND1MC5mA_qKAktwaVXd_BufLgmSGPggUiEJZo,1035
54
+ dashscope/common/message_manager.py,sha256=mZ7fS5LV09huwvz-2nxrr2RFQ9fQAYhEpeUmFb7WfW4,1148
55
+ dashscope/common/utils.py,sha256=i0pnYxz5zErw1wM-eFQx2XLfOmBjFscqG4-aEJYnlRc,15439
56
+ dashscope/customize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
+ dashscope/customize/customize_types.py,sha256=02qxJ-FodKS9Sgl7blx7IAx_eOdpf53L1mZ909PSMsM,4854
58
+ dashscope/customize/deployments.py,sha256=2BxjgukuXe9bkl1VOvvKky0NxkcXVL3xk07UusjwZII,5240
59
+ dashscope/customize/finetunes.py,sha256=AL_kGTJXMvM2ej-EKsLLd1dUphPQdVTefFVCSVH-C-w,8362
60
+ dashscope/embeddings/__init__.py,sha256=XQ7vKr8oZM2CmdOduE53BWy6_Qpn9xUPkma64yw8Gws,291
61
+ dashscope/embeddings/batch_text_embedding.py,sha256=lVhvTS8McYfXuqt_8CmmhA6bPqD0nrGv965kjYG_j0E,8842
62
+ dashscope/embeddings/batch_text_embedding_response.py,sha256=3O3fQRQaGSMSJhvI453KNC4aq1nl-LUw4QNSfZaWSvs,2051
63
+ dashscope/embeddings/multimodal_embedding.py,sha256=NwjQsdkKgUz51ozGjqFDzVlLcZjY0m1JNdH1EyAY0a4,4109
64
+ dashscope/embeddings/text_embedding.py,sha256=4W1V-Ggj0WJhY5MdP2xoUTteXlWk8TUtI6y2gRUVCUk,2060
65
+ dashscope/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
+ dashscope/io/input_output.py,sha256=0aXrRJFo1ZqYm_AJWR_w88O4-Btn9np2zUhrrUdBdfw,3992
67
+ dashscope/nlp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
+ dashscope/nlp/understanding.py,sha256=00ado-ibYEzBRT0DgKGd3bohQDNW73xnFhJ_1aa87lw,2880
69
+ dashscope/protocol/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
+ dashscope/protocol/websocket.py,sha256=k4B8GOBeyvAxqVQ47JhWfXfNErIhiVlQ-VCiKLLG0Ho,613
71
+ dashscope/rerank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
+ dashscope/rerank/text_rerank.py,sha256=NKN3vnWprguhHy2_g0D7znZ7jEGrLX4zMaLE3jBrl94,2449
73
+ dashscope/resources/qwen.tiktoken,sha256=srG437XMXwJLr8NzEhxquj9m-aWgJp4kNHCh3hajMYY,2561218
74
+ dashscope/threads/__init__.py,sha256=3IKX9vZWhT87XrVx1pA_g3MWHEekXoJJSZeE_CTWL08,672
75
+ dashscope/threads/thread_types.py,sha256=1_CCRrfDL2tFE5VMj2tjIdZ2N7pvbNffkMF97Fuwzcg,18331
76
+ dashscope/threads/threads.py,sha256=J9QGY0vy6MldC4ujQMyiYc9jN4aH9NGj0SkcWZHwkj0,7716
77
+ dashscope/threads/messages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
78
+ dashscope/threads/messages/files.py,sha256=WxKVQednISIh2MY8N1B6Y4HjGllFhcLKCsc4QXKZ6AQ,3871
79
+ dashscope/threads/messages/messages.py,sha256=peKqehK8JO0ZwRXACaojg6-61TkBBbqd190xtKIbOZo,8470
80
+ dashscope/threads/runs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
+ dashscope/threads/runs/runs.py,sha256=KHBfdBYwIV-3pZG8RjZm5qZK-UMQT3cttV8kEfyH50M,18600
82
+ dashscope/threads/runs/steps.py,sha256=579EsCOwsamuJMSNrrrX86h9JfMdXNlErVJ8XakSqSc,3689
83
+ dashscope/tokenizers/__init__.py,sha256=TvVAsDam5S0R4rorxdfyUGIEQQX1q8nQ--RxsWWos3A,251
84
+ dashscope/tokenizers/qwen_tokenizer.py,sha256=tvX7x34Rg_NFFc1XjneXNFfXVkePdqkgHHShce2RJGo,4162
85
+ dashscope/tokenizers/tokenization.py,sha256=ubQBJ_yw_MoHuHxZcK9NarZSSbyExloeSOLIWYhRzH0,4824
86
+ dashscope/tokenizers/tokenizer.py,sha256=3FQVDvMNkCW9ccYeJdjrd_PIMMD3Xv7aNZkaYOE4XX4,1205
87
+ dashscope/tokenizers/tokenizer_base.py,sha256=5EJIFuizMWESEmLmbd38yJnfeHmPnzZPwsO4aOGjpl4,707
88
+ dashscope/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
89
+ dashscope/utils/oss_utils.py,sha256=L5LN3lN8etVxSL_jkZydstvEKpnTG9CY0zcvPGQ5LBo,7383
90
+ dashscope-1.23.0.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
91
+ dashscope-1.23.0.dist-info/METADATA,sha256=a3iAt0V4auCEebZXGfc6cN5WX9rq20ZrD8ptldojo40,6798
92
+ dashscope-1.23.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
93
+ dashscope-1.23.0.dist-info/entry_points.txt,sha256=raEp5dOuj8whJ7yqZlDM8WQ5p2RfnGrGNo0QLQEnatY,50
94
+ dashscope-1.23.0.dist-info/top_level.txt,sha256=woqavFJK9zas5xTqynmALqOtlafghjsk63Xk86powTU,10
95
+ dashscope-1.23.0.dist-info/RECORD,,
@@ -1,2 +1,3 @@
1
1
  [console_scripts]
2
2
  dashscope = dashscope.cli:main
3
+
@@ -1,160 +0,0 @@
1
- from dataclasses import dataclass
2
- import mimetypes
3
- import os
4
- from datetime import datetime
5
- from http import HTTPStatus
6
- from time import mktime
7
- from typing import List
8
- from urllib.parse import unquote_plus, urlparse
9
- from wsgiref.handlers import format_date_time
10
- import time
11
- import threading
12
-
13
- import requests
14
-
15
- from dashscope.api_entities.dashscope_response import DashScopeAPIResponse
16
- from dashscope.client.base_api import GetMixin
17
- from dashscope.common.constants import (FILE_PATH_SCHEMA,
18
- REQUEST_CONTENT_AUDIO,
19
- REQUEST_CONTENT_IMAGE,
20
- REQUEST_CONTENT_TEXT)
21
- from dashscope.common.error import InvalidInput, UploadFileException
22
- from dashscope.common.logging import logger
23
- from dashscope.common.utils import get_user_agent
24
-
25
- @dataclass
26
- class UploadToken:
27
- token: str = None
28
- expire_time: int = None
29
-
30
- class UploadTokenMeta(type):
31
- def __init__(cls):
32
- cls._tokens = {} # key model, value: token and expire_time
33
- cls._lock = threading.Lock() # lock set
34
-
35
- @property
36
- def token(cls, model):
37
- current_time = time.perf_counter()
38
- upload_token: UploadToken = cls._tokens[model] if model in cls._tokens else None
39
- if upload_token is not None and current_time < upload_token.expire_time:
40
- return upload_token.token
41
- else:
42
- return None
43
-
44
- @token.setter
45
- def token(cls, model: str, upload_token: UploadToken):
46
- cls._lock.acquire()
47
- cls._tokens[model] = upload_token
48
- cls._lock.release()
49
-
50
-
51
- class OssUtils(GetMixin, metaclass=UploadTokenMeta):
52
- SUB_PATH = 'uploads'
53
-
54
- @classmethod
55
- def _decode_response_error(cls, response: requests.Response):
56
- if 'application/json' in response.headers.get('content-type', ''):
57
- message = response.json()
58
- else:
59
- message = response.content.decode('utf-8')
60
- return message
61
-
62
- @classmethod
63
- def upload(cls,
64
- model: str,
65
- file_path: str,
66
- api_key: str = None,
67
- **kwargs) -> DashScopeAPIResponse:
68
- """Upload file for model fine-tune or other tasks.
69
-
70
- Args:
71
- file_path (str): The local file name to upload.
72
- purpose (str): The purpose of the file[fine-tune|inference]
73
- description (str, optional): The file description message.
74
- api_key (str, optional): The api key. Defaults to None.
75
-
76
- Returns:
77
- DashScopeAPIResponse: The upload information
78
- """
79
- upload_token = cls.token(model)
80
- if upload_token is None:
81
- upload_info = cls.get_upload_certificate(model=model, api_key=api_key)
82
- if upload_info.status_code != HTTPStatus.OK:
83
- raise UploadFileException(
84
- 'Get upload certificate failed, code: %s, message: %s' %
85
- (upload_info.code, upload_info.message))
86
- upload_info = upload_info.output
87
- cls.token = xx
88
-
89
- upload_info = upload_info.output
90
- headers = {}
91
- headers = {'user-agent': get_user_agent()}
92
- headers['Accept'] = 'application/json'
93
- headers['Date'] = format_date_time(mktime(datetime.now().timetuple()))
94
- form_data = {}
95
- form_data['OSSAccessKeyId'] = upload_info['oss_access_key_id']
96
- form_data['Signature'] = upload_info['signature']
97
- form_data['policy'] = upload_info['policy']
98
- form_data['key'] = upload_info['upload_dir'] + \
99
- '/' + os.path.basename(file_path)
100
- form_data['x-oss-object-acl'] = upload_info['x_oss_object_acl']
101
- form_data['x-oss-forbid-overwrite'] = upload_info[
102
- 'x_oss_forbid_overwrite']
103
- form_data['success_action_status'] = '200'
104
- form_data['x-oss-content-type'] = mimetypes.guess_type(file_path)[0]
105
- url = upload_info['upload_host']
106
- files = {'file': open(file_path, 'rb')}
107
- with requests.Session() as session:
108
- response = session.post(url,
109
- files=files,
110
- data=form_data,
111
- headers=headers,
112
- timeout=3600)
113
- if response.status_code == HTTPStatus.OK:
114
- return 'oss://' + form_data['key']
115
- else:
116
- msg = (
117
- 'Uploading file: %s to oss failed, error: %s' %
118
- (file_path, cls._decode_response_error(response=response)))
119
- logger.error(msg)
120
- raise UploadFileException(msg)
121
-
122
- @classmethod
123
- def get_upload_certificate(cls,
124
- model: str,
125
- api_key: str = None,
126
- **kwargs) -> DashScopeAPIResponse:
127
- """Get a oss upload certificate.
128
-
129
- Args:
130
- api_key (str, optional): The api key. Defaults to None.
131
-
132
- Returns:
133
- DashScopeAPIResponse: The job info
134
- """
135
- params = {'action': 'getPolicy'}
136
- params['model'] = model
137
- return super().get(None, api_key, params=params, **kwargs)
138
-
139
-
140
- def upload_file(model: str, upload_path: str, api_key: str):
141
- if upload_path.startswith(FILE_PATH_SCHEMA):
142
- parse_result = urlparse(upload_path)
143
- if parse_result.netloc:
144
- file_path = parse_result.netloc + unquote_plus(parse_result.path)
145
- else:
146
- file_path = unquote_plus(parse_result.path)
147
- if os.path.exists(file_path):
148
- file_url = OssUtils.upload(model=model,
149
- file_path=file_path,
150
- api_key=api_key)
151
- if file_url is None:
152
- raise UploadFileException('Uploading file: %s failed' %
153
- upload_path)
154
- return file_url
155
- else:
156
- raise InvalidInput('The file: %s is not exists!' % file_path)
157
- return None
158
-
159
-
160
-
@@ -1,94 +0,0 @@
1
- dashscope/__init__.py,sha256=_9PaKXKpYc6PXO35BjcH3R0As9sTsXGOW2iQ6R5HAVc,3011
2
- dashscope/cli.py,sha256=amegoTkGOs6TlHMdoo4JVOqBePo3lGs745rc7leEyrE,24020
3
- dashscope/files.py,sha256=QgJjwhtn9F548nCA8jD8OvE6aQEj-20hZqJgYXsUdQU,3930
4
- dashscope/model.py,sha256=UPOn1qMYFhX-ovXi3BMxZEBk8qOK7WLJOYHMbPZwYBo,1440
5
- dashscope/models.py,sha256=1-bc-Ue68zurgu_y6RhfFr9uzeQMF5AZq-C32lJGMGU,1224
6
- dashscope/version.py,sha256=sUm-r83NIqFP93EJcBrI6UFP5e6fmMbnDa6TglGqS1o,23
7
- dashscope/aigc/__init__.py,sha256=xmdalVw7wS0cLIuU8Q0qk0q8XGw-iGk8NnQwAQZ3jAc,391
8
- dashscope/aigc/chat_completion.py,sha256=28puJrtHkqTMZlyKLXb3UjSuICy2OPvysj9a6oNU7Vs,14585
9
- dashscope/aigc/code_generation.py,sha256=KAJVrGp6tiNFBBg64Ovs9RfcP5SrIhrbW3wdA89NKso,10885
10
- dashscope/aigc/conversation.py,sha256=xRoJlCR-IXHjSdkDrK74a9ut1FJg0FZhTNXZAJC18MA,14231
11
- dashscope/aigc/generation.py,sha256=53oMCmN5ZbqeqAsKxmdunXlRh-XP8ZtnA7hB2id4Koo,17897
12
- dashscope/aigc/image_synthesis.py,sha256=UWHW-nvf7_aDZKr4uZDusVHjqWr9TSZjCsZI8YSWaek,11052
13
- dashscope/aigc/multimodal_conversation.py,sha256=SlNnnsUPV19gdx8fYJAtsMFWPNGY6vhk5IGHZ5ZczpI,5369
14
- dashscope/aigc/video_synthesis.py,sha256=gbp5XG_DMVN0JnBOgxftdwsCIyrV7nM2gVnlyO8X-ek,10400
15
- dashscope/api_entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- dashscope/api_entities/aiohttp_request.py,sha256=ZFbdpJh7SwHnBzbYLhqr_FdcDVRgLVMLhLUS_vXbUGs,10228
17
- dashscope/api_entities/api_request_data.py,sha256=QHGgIShcQ1jANO1szfsqUGtYix1nD2RN4LyC_fNciCM,5462
18
- dashscope/api_entities/api_request_factory.py,sha256=iLjOqZkbuQkn9JVduI39XPrhm1UefekAekaNqxFpNLM,5061
19
- dashscope/api_entities/base_request.py,sha256=cXUL7xqSV8wBr5d-1kx65AO3IsRR9A_ps6Lok-v-MKM,926
20
- dashscope/api_entities/chat_completion_types.py,sha256=U1nYR5krZYbCedPwlRufJok3hz95mm4kYn2mp20hNAc,12807
21
- dashscope/api_entities/dashscope_response.py,sha256=FC9zGLNb2iu5fl4bJNcjLnVren_4kNGRW0i9xs4b4Q8,19839
22
- dashscope/api_entities/http_request.py,sha256=Pr6mr01uXELK9LwIPXrJAhNtGMkWH3gQYORXShRiQRo,13258
23
- dashscope/api_entities/websocket_request.py,sha256=XzLj9vsJfBAhYMyRRcbEBoJu_dAVm0HpM60k46lBqBw,16281
24
- dashscope/app/__init__.py,sha256=UiN_9i--z84Dw5wUehOh_Tkk_9Gq_td_Kbz1dobBEKg,62
25
- dashscope/app/application.py,sha256=Cnd62LFpG70XJUo4Oibry9KzXPhPNmNkKFD4R5YuGTA,9343
26
- dashscope/app/application_response.py,sha256=0pulI3O3z4R4h_YaDwzVimamo3XwTXGy5TiHCzysTBg,7011
27
- dashscope/assistants/__init__.py,sha256=i9N5OxHgY7edlOhTdPyC0N5Uc0uMCkB2vbMPDCD1zX0,383
28
- dashscope/assistants/assistant_types.py,sha256=1jNL30TOlrkiYhvCaB3E8jkPLG8CnQ6I3tHpYXZCsD0,4211
29
- dashscope/assistants/assistants.py,sha256=NYahIDqhtnOcQOmnhZsjc5F5jvBUQcce8-fbrJXHVnQ,10833
30
- dashscope/assistants/files.py,sha256=pwLVJ_pjpRFWyfI_MRvhH7Si7FzGDj4ChzZgWTpLOhg,6699
31
- dashscope/audio/__init__.py,sha256=-ZRxrK-gV4QsUtlThIT-XwqB6vmyEsnhxIxdLmhCUuc,61
32
- dashscope/audio/asr/__init__.py,sha256=VaWX5DRWcB81_5z2o7IPwz6Jrs9vFFJ5GEVarzVOvPY,1004
33
- dashscope/audio/asr/asr_phrase_manager.py,sha256=EjtbI3zz9UQGS1qv6Yb4zzEMj4OJJVXmwkqZyIrzvEA,7642
34
- dashscope/audio/asr/recognition.py,sha256=7ApnKJKVp1JS6e6KBZzM8y1yiMB2fEun07S6BOvqfrs,20699
35
- dashscope/audio/asr/transcription.py,sha256=D8CW0XDqJuEJVmNFJ6qczTysSV3Sz_rzk2C6NIKTtVc,9042
36
- dashscope/audio/asr/translation_recognizer.py,sha256=j1oKgggSA2HDdEJAOJ4jY78_bK0FGwpfIf_AxbrAzWM,39629
37
- dashscope/audio/asr/vocabulary.py,sha256=2MHxeaL0ANWk-TILrHhArKSdj0d5M_YHw0cnjB-E4dY,6476
38
- dashscope/audio/tts/__init__.py,sha256=fbnieZX9yNFNh5BsxLpLXb63jlxzxrdCJakV3ignjlQ,194
39
- dashscope/audio/tts/speech_synthesizer.py,sha256=dnKx9FDDdO_ETHAjhK8zaMVaH6SfoTtN5YxXXqgY1JA,7571
40
- dashscope/audio/tts_v2/__init__.py,sha256=5UfyDBYnuGgOy9KMxEIXA2U2ihcXutdZc1cqJudy-8M,282
41
- dashscope/audio/tts_v2/enrollment.py,sha256=pFxiB_F9jmNnyikabA710QVCVih8Q7AQPLIO4aGKfc8,6140
42
- dashscope/audio/tts_v2/speech_synthesizer.py,sha256=JPS9LRfWX4VD-BZHAJcBh3Vfwn7oVueAnN0zXhnIqhQ,19928
43
- dashscope/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
44
- dashscope/client/base_api.py,sha256=RH8ztQgx1WPRXZVfvt5rbhu45IXFdaw8HSbHN5k8AF8,41187
45
- dashscope/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
- dashscope/common/api_key.py,sha256=5Stp0odL5JSuIO3qJBp23QNppuGbqhhvKPS66qbMs0I,1986
47
- dashscope/common/base_type.py,sha256=C9xP6WuN5pOzviZ2g3X2EPcigldtFE0VlaUmjyNnUUk,4619
48
- dashscope/common/constants.py,sha256=86Zc45f1-OEgNdLTu-4_Pl0U3wRyi5qFt4E7dLlaglU,2327
49
- dashscope/common/env.py,sha256=oQOZW5JyEeTSde394un2lpDJ5RBh4fMU9hBfbtrKKkc,869
50
- dashscope/common/error.py,sha256=Q7GRhniP-7ap4HBpU69frRdKgKLwmH4ySYxCtupsr60,2638
51
- dashscope/common/logging.py,sha256=ecGxylG3bWES_Xv5-BD6ep4_0Ciu7F6ZPBjiZtu9Jx4,984
52
- dashscope/common/message_manager.py,sha256=i5149WzDk6nWmdFaHzYx4USXMBeX18GKSI-F4fLwbN0,1097
53
- dashscope/common/utils.py,sha256=Sw5UB_WH3lFnbwZO3RoA2V6DCHgthjaetW5mN9JM5BE,15387
54
- dashscope/customize/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
- dashscope/customize/customize_types.py,sha256=ZtEwSXA4dbjIYr5vgQQNkMuXyC2BNmznGuaF6b7jwr0,4803
56
- dashscope/customize/deployments.py,sha256=LIkM-hmJHcJZCKV6WJIPSXQ5CAhB5PUxnt5mqKbVbfE,5189
57
- dashscope/customize/finetunes.py,sha256=iFnEUMGY6FGogVClIJMEeFhUwfYi7gD05Iq1-eMP2M0,8311
58
- dashscope/embeddings/__init__.py,sha256=-dxHaoxZZVuP-wAGUIa3sNNh8CQwaeWj2UlqsDy1sV4,240
59
- dashscope/embeddings/batch_text_embedding.py,sha256=P32LFO9v7ehdJsl0c32In94hUET6K6AaGJ_pDRtFqco,8791
60
- dashscope/embeddings/batch_text_embedding_response.py,sha256=hf17wfhJKvX3ggnigOiTqD4O1lFhx_NG_O1ioKCx0gk,1999
61
- dashscope/embeddings/multimodal_embedding.py,sha256=yojtGNoT2N54g0jcAYUwNIiwzueun1ouqS0S0tvnyQc,3966
62
- dashscope/embeddings/text_embedding.py,sha256=I3zRvuT2HWcaZYH-zrtGcAQmzuLQxFswIHJMiQXfaJQ,2009
63
- dashscope/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
64
- dashscope/io/input_output.py,sha256=iZ1X1x1btdoZK2VeC9JsKkag2eaXwqfNT3Q6SrmRi2w,3941
65
- dashscope/nlp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
- dashscope/nlp/understanding.py,sha256=KanXjijRUNTxMc0uRisDzelffreYwd9N2NR64-nkLfs,2829
67
- dashscope/protocol/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
68
- dashscope/protocol/websocket.py,sha256=z-v6PGx3L4zYBANuC48s7SWSQSwRCDoh0zcfhv9Bf8U,561
69
- dashscope/rerank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
70
- dashscope/rerank/text_rerank.py,sha256=1L-RLUxMCvNhbMud1FUG6YFWT7ZV979fzhMEuVjJ1oI,2398
71
- dashscope/resources/qwen.tiktoken,sha256=srG437XMXwJLr8NzEhxquj9m-aWgJp4kNHCh3hajMYY,2561218
72
- dashscope/threads/__init__.py,sha256=md5bsHekHHGOg3uQrBCk8f4BCNnA1AuI_-LDf92pNVU,621
73
- dashscope/threads/thread_types.py,sha256=SwAJNi-RbqFXlrztDUCt0q0MfgfJLHyYl9qWrQDmQQo,18280
74
- dashscope/threads/threads.py,sha256=dD72xklN71KFGBVoBVHEbCbZADwLbi9yGS9LbFpnlAI,7665
75
- dashscope/threads/messages/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
- dashscope/threads/messages/files.py,sha256=wi0nJ2zsPWOw2Jn-ZkxA3URZBIrkGxqM_uAPfXY1xv0,3820
77
- dashscope/threads/messages/messages.py,sha256=Zjmyf3rT1XSdn33hPrqOY6DSWUVL7pDEapG03FREPV8,8419
78
- dashscope/threads/runs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
- dashscope/threads/runs/runs.py,sha256=ux4VH_lxxHCw1XOqngzmsm9kwTR3jS0wX27xoAswHlY,18549
80
- dashscope/threads/runs/steps.py,sha256=pLNR-5g7zvYkvC-p4sZGVgYHd1jqxBerM2WFyB358H8,3638
81
- dashscope/tokenizers/__init__.py,sha256=Oy5FMT37Non6e1YxdHQ89U93Dy3CG1Ez0gBa771KZo0,200
82
- dashscope/tokenizers/qwen_tokenizer.py,sha256=dCnT9-9NrqPS85bEhjlPULUfDADVRhlleYwM_ILgCeI,4111
83
- dashscope/tokenizers/tokenization.py,sha256=G6cSEmVLr3pjXUC3EOU9ot8MYxNnOQ4wOB2mI1OqmCE,4773
84
- dashscope/tokenizers/tokenizer.py,sha256=y6P91qTCYo__pEx_0VHAcj9YECfbUdRqZU1fdGTjF4o,1154
85
- dashscope/tokenizers/tokenizer_base.py,sha256=REDhzRyDT13iequ61-a6_KcTy0GFKlihQve5HkyoyRs,656
86
- dashscope/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
- dashscope/utils/oss_utils.py,sha256=TlqaMAmVRtBJIm5aIaXsrRZGKc_7cwWQ7liMB2f9Css,7331
88
- dashscope/utils/temporary_storage.py,sha256=CWBpEmuIthYg5DhU_qu63DbF2dsmqnLdKFkbWF8yX6A,6072
89
- dashscope-1.22.1.dist-info/LICENSE,sha256=Izp5L1DF1Mbza6qojkqNNWlE_mYLnr4rmzx2EBF8YFw,11413
90
- dashscope-1.22.1.dist-info/METADATA,sha256=xk089kHugSTlkhuy17skH7fOIT60VivJMcsYUUKAI-4,6661
91
- dashscope-1.22.1.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
92
- dashscope-1.22.1.dist-info/entry_points.txt,sha256=e9C3sOf9zDYL0O5ROEGX6FT8w-QK_kaGRWmPZDHAFys,49
93
- dashscope-1.22.1.dist-info/top_level.txt,sha256=woqavFJK9zas5xTqynmALqOtlafghjsk63Xk86powTU,10
94
- dashscope-1.22.1.dist-info/RECORD,,