dashscope 1.8.0__py3-none-any.whl → 1.25.6__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 (110) hide show
  1. dashscope/__init__.py +61 -14
  2. dashscope/aigc/__init__.py +10 -3
  3. dashscope/aigc/chat_completion.py +282 -0
  4. dashscope/aigc/code_generation.py +145 -0
  5. dashscope/aigc/conversation.py +71 -12
  6. dashscope/aigc/generation.py +288 -16
  7. dashscope/aigc/image_synthesis.py +473 -31
  8. dashscope/aigc/multimodal_conversation.py +299 -14
  9. dashscope/aigc/video_synthesis.py +610 -0
  10. dashscope/api_entities/aiohttp_request.py +8 -5
  11. dashscope/api_entities/api_request_data.py +4 -2
  12. dashscope/api_entities/api_request_factory.py +68 -20
  13. dashscope/api_entities/base_request.py +20 -3
  14. dashscope/api_entities/chat_completion_types.py +344 -0
  15. dashscope/api_entities/dashscope_response.py +243 -15
  16. dashscope/api_entities/encryption.py +179 -0
  17. dashscope/api_entities/http_request.py +216 -62
  18. dashscope/api_entities/websocket_request.py +43 -34
  19. dashscope/app/__init__.py +5 -0
  20. dashscope/app/application.py +203 -0
  21. dashscope/app/application_response.py +246 -0
  22. dashscope/assistants/__init__.py +16 -0
  23. dashscope/assistants/assistant_types.py +175 -0
  24. dashscope/assistants/assistants.py +311 -0
  25. dashscope/assistants/files.py +197 -0
  26. dashscope/audio/__init__.py +4 -2
  27. dashscope/audio/asr/__init__.py +17 -1
  28. dashscope/audio/asr/asr_phrase_manager.py +203 -0
  29. dashscope/audio/asr/recognition.py +167 -27
  30. dashscope/audio/asr/transcription.py +107 -14
  31. dashscope/audio/asr/translation_recognizer.py +1006 -0
  32. dashscope/audio/asr/vocabulary.py +177 -0
  33. dashscope/audio/qwen_asr/__init__.py +7 -0
  34. dashscope/audio/qwen_asr/qwen_transcription.py +189 -0
  35. dashscope/audio/qwen_omni/__init__.py +11 -0
  36. dashscope/audio/qwen_omni/omni_realtime.py +524 -0
  37. dashscope/audio/qwen_tts/__init__.py +5 -0
  38. dashscope/audio/qwen_tts/speech_synthesizer.py +77 -0
  39. dashscope/audio/qwen_tts_realtime/__init__.py +10 -0
  40. dashscope/audio/qwen_tts_realtime/qwen_tts_realtime.py +355 -0
  41. dashscope/audio/tts/__init__.py +2 -0
  42. dashscope/audio/tts/speech_synthesizer.py +5 -0
  43. dashscope/audio/tts_v2/__init__.py +12 -0
  44. dashscope/audio/tts_v2/enrollment.py +179 -0
  45. dashscope/audio/tts_v2/speech_synthesizer.py +886 -0
  46. dashscope/cli.py +157 -37
  47. dashscope/client/base_api.py +652 -87
  48. dashscope/common/api_key.py +2 -0
  49. dashscope/common/base_type.py +135 -0
  50. dashscope/common/constants.py +13 -16
  51. dashscope/common/env.py +2 -0
  52. dashscope/common/error.py +58 -22
  53. dashscope/common/logging.py +2 -0
  54. dashscope/common/message_manager.py +2 -0
  55. dashscope/common/utils.py +276 -46
  56. dashscope/customize/__init__.py +0 -0
  57. dashscope/customize/customize_types.py +192 -0
  58. dashscope/customize/deployments.py +146 -0
  59. dashscope/customize/finetunes.py +234 -0
  60. dashscope/embeddings/__init__.py +5 -1
  61. dashscope/embeddings/batch_text_embedding.py +208 -0
  62. dashscope/embeddings/batch_text_embedding_response.py +65 -0
  63. dashscope/embeddings/multimodal_embedding.py +118 -10
  64. dashscope/embeddings/text_embedding.py +13 -1
  65. dashscope/{file.py → files.py} +19 -4
  66. dashscope/io/input_output.py +2 -0
  67. dashscope/model.py +11 -2
  68. dashscope/models.py +43 -0
  69. dashscope/multimodal/__init__.py +20 -0
  70. dashscope/multimodal/dialog_state.py +56 -0
  71. dashscope/multimodal/multimodal_constants.py +28 -0
  72. dashscope/multimodal/multimodal_dialog.py +648 -0
  73. dashscope/multimodal/multimodal_request_params.py +313 -0
  74. dashscope/multimodal/tingwu/__init__.py +10 -0
  75. dashscope/multimodal/tingwu/tingwu.py +80 -0
  76. dashscope/multimodal/tingwu/tingwu_realtime.py +579 -0
  77. dashscope/nlp/__init__.py +0 -0
  78. dashscope/nlp/understanding.py +64 -0
  79. dashscope/protocol/websocket.py +3 -0
  80. dashscope/rerank/__init__.py +0 -0
  81. dashscope/rerank/text_rerank.py +69 -0
  82. dashscope/resources/qwen.tiktoken +151643 -0
  83. dashscope/threads/__init__.py +26 -0
  84. dashscope/threads/messages/__init__.py +0 -0
  85. dashscope/threads/messages/files.py +113 -0
  86. dashscope/threads/messages/messages.py +220 -0
  87. dashscope/threads/runs/__init__.py +0 -0
  88. dashscope/threads/runs/runs.py +501 -0
  89. dashscope/threads/runs/steps.py +112 -0
  90. dashscope/threads/thread_types.py +665 -0
  91. dashscope/threads/threads.py +212 -0
  92. dashscope/tokenizers/__init__.py +7 -0
  93. dashscope/tokenizers/qwen_tokenizer.py +111 -0
  94. dashscope/tokenizers/tokenization.py +125 -0
  95. dashscope/tokenizers/tokenizer.py +45 -0
  96. dashscope/tokenizers/tokenizer_base.py +32 -0
  97. dashscope/utils/__init__.py +0 -0
  98. dashscope/utils/message_utils.py +838 -0
  99. dashscope/utils/oss_utils.py +243 -0
  100. dashscope/utils/param_utils.py +29 -0
  101. dashscope/version.py +3 -1
  102. {dashscope-1.8.0.dist-info → dashscope-1.25.6.dist-info}/METADATA +53 -50
  103. dashscope-1.25.6.dist-info/RECORD +112 -0
  104. {dashscope-1.8.0.dist-info → dashscope-1.25.6.dist-info}/WHEEL +1 -1
  105. {dashscope-1.8.0.dist-info → dashscope-1.25.6.dist-info}/entry_points.txt +0 -1
  106. {dashscope-1.8.0.dist-info → dashscope-1.25.6.dist-info/licenses}/LICENSE +2 -4
  107. dashscope/deployment.py +0 -129
  108. dashscope/finetune.py +0 -149
  109. dashscope-1.8.0.dist-info/RECORD +0 -49
  110. {dashscope-1.8.0.dist-info → dashscope-1.25.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,26 @@
1
+ # Copyright (c) Alibaba, Inc. and its affiliates.
2
+
3
+ # yapf: disable
4
+
5
+ from dashscope.threads.messages.messages import Messages
6
+ from dashscope.threads.runs.runs import Runs
7
+ from dashscope.threads.runs.steps import Steps
8
+ from dashscope.threads.thread_types import (MessageFile, Run, RunList, RunStep,
9
+ RunStepList, Thread, ThreadMessage,
10
+ ThreadMessageList)
11
+ from dashscope.threads.threads import Threads
12
+
13
+ __all__ = [
14
+ MessageFile,
15
+ Messages,
16
+ Run,
17
+ Runs,
18
+ RunList,
19
+ Steps,
20
+ RunStep,
21
+ RunStepList,
22
+ Threads,
23
+ Thread,
24
+ ThreadMessage,
25
+ ThreadMessageList,
26
+ ]
File without changes
@@ -0,0 +1,113 @@
1
+ # Copyright (c) Alibaba, Inc. and its affiliates.
2
+
3
+ from dashscope.client.base_api import GetStatusMixin, ListObjectMixin
4
+ from dashscope.common.error import InputRequired
5
+ from dashscope.threads.thread_types import MessageFile, MessageFileList
6
+
7
+ __all__ = ['Files']
8
+
9
+
10
+ class Files(ListObjectMixin, GetStatusMixin):
11
+ SUB_PATH = 'messages' # useless
12
+
13
+ @classmethod
14
+ def retrieve(cls,
15
+ file_id: str,
16
+ *,
17
+ thread_id: str,
18
+ message_id: str,
19
+ workspace: str = None,
20
+ api_key: str = None,
21
+ **kwargs) -> MessageFile:
22
+ """Retrieve the `MessageFile`.
23
+
24
+ Args:
25
+ thread_id (str): The thread id.
26
+ message_id (str): The message id.
27
+ file_id (str): The file id.
28
+ workspace (str): The dashscope workspace id.
29
+ api_key (str, optional): The api key. Defaults to None.
30
+
31
+ Returns:
32
+ MessageFile: The `MessageFile` object.
33
+ """
34
+ return cls.get(file_id,
35
+ thread_id=thread_id,
36
+ message_id=message_id,
37
+ workspace=workspace,
38
+ api_key=api_key,
39
+ **kwargs)
40
+
41
+ @classmethod
42
+ def get(cls,
43
+ file_id: str,
44
+ *,
45
+ message_id: str,
46
+ thread_id: str,
47
+ workspace: str = None,
48
+ api_key: str = None,
49
+ **kwargs) -> MessageFile:
50
+ """Retrieve the `MessageFile`.
51
+
52
+ Args:
53
+ assistant_id (str): The assistant id.
54
+ message_id (str): The message id.
55
+ file_id (str): The file id.
56
+ workspace (str): The dashscope workspace id.
57
+ api_key (str, optional): The api key. Defaults to None.
58
+
59
+ Returns:
60
+ MessageFile: The `MessageFile` object.
61
+ """
62
+ if not thread_id or not message_id or not file_id:
63
+ raise InputRequired(
64
+ 'thread id, message id and file id are required!')
65
+ response = super().get(
66
+ message_id,
67
+ path=f'threads/{thread_id}/messages/{message_id}/files/{file_id}',
68
+ workspace=workspace,
69
+ api_key=api_key,
70
+ flattened_output=True,
71
+ **kwargs)
72
+ return MessageFile(**response)
73
+
74
+ @classmethod
75
+ def list(cls,
76
+ message_id: str,
77
+ *,
78
+ thread_id: str,
79
+ limit: int = None,
80
+ order: str = None,
81
+ after: str = None,
82
+ before: str = None,
83
+ workspace: str = None,
84
+ api_key: str = None,
85
+ **kwargs) -> MessageFileList:
86
+ """List message files.
87
+
88
+ Args:
89
+ thread_id (str): The thread id.
90
+ message_id (str): The message_id.
91
+ limit (int, optional): How many assistant to retrieve. Defaults to None.
92
+ order (str, optional): Sort order by created_at. Defaults to None.
93
+ after (str, optional): Assistant id after. Defaults to None.
94
+ before (str, optional): Assistant id before. Defaults to None.
95
+ workspace (str, optional): The DashScope workspace id. Defaults to None.
96
+ api_key (str, optional): Your DashScope api key. Defaults to None.
97
+
98
+ Returns:
99
+ MessageFileList: The `MessageFileList`.
100
+ """
101
+ if not thread_id or not message_id:
102
+ raise InputRequired('thread id, message id are required!')
103
+ response = super().list(
104
+ limit=limit,
105
+ order=order,
106
+ after=after,
107
+ before=before,
108
+ path=f'threads/{thread_id}/messages/{message_id}/files',
109
+ workspace=workspace,
110
+ api_key=api_key,
111
+ flattened_output=True,
112
+ **kwargs)
113
+ return MessageFileList(**response)
@@ -0,0 +1,220 @@
1
+ # Copyright (c) Alibaba, Inc. and its affiliates.
2
+
3
+ from typing import Dict, List, Optional
4
+
5
+ from dashscope.client.base_api import (CreateMixin, GetStatusMixin,
6
+ ListObjectMixin, UpdateMixin)
7
+ from dashscope.common.error import InputRequired
8
+ from dashscope.threads.thread_types import ThreadMessage, ThreadMessageList
9
+
10
+ __all__ = ['Messages']
11
+
12
+
13
+ class Messages(CreateMixin, ListObjectMixin, GetStatusMixin, UpdateMixin):
14
+ SUB_PATH = 'messages' # useless
15
+
16
+ @classmethod
17
+ def call(cls,
18
+ thread_id: str,
19
+ *,
20
+ content: str,
21
+ role: str = 'user',
22
+ file_ids: List[str] = [],
23
+ metadata: Optional[object] = None,
24
+ workspace: str = None,
25
+ api_key: str = None,
26
+ **kwargs) -> ThreadMessage:
27
+ """Create message of thread.
28
+
29
+ Args:
30
+ thread_id (str): The thread id.
31
+ content (str): The message content.
32
+ role (str, optional): The message role. Defaults to 'user'.
33
+ file_ids (List[str], optional): The file_ids include in message. Defaults to [].
34
+ metadata (Optional[object], optional): The custom key/value pairs. Defaults to None.
35
+ workspace (str, optional): The DashScope workspace id. Defaults to None.
36
+ api_key (str, optional): The DashScope api key. Defaults to None.
37
+
38
+ Returns:
39
+ ThreadMessage: The `ThreadMessage` object.
40
+ """
41
+ return cls.create(thread_id,
42
+ content=content,
43
+ role=role,
44
+ file_ids=file_ids,
45
+ metadata=metadata,
46
+ workspace=workspace,
47
+ **kwargs)
48
+
49
+ @classmethod
50
+ def create(cls,
51
+ thread_id: str,
52
+ *,
53
+ content: str,
54
+ role: str = 'user',
55
+ file_ids: List[str] = [],
56
+ metadata: Optional[object] = None,
57
+ workspace: str = None,
58
+ api_key: str = None,
59
+ **kwargs) -> ThreadMessage:
60
+ """Create message of thread.
61
+
62
+ Args:
63
+ thread_id (str): The thread id.
64
+ content (str): The message content.
65
+ role (str, optional): The message role. Defaults to 'user'.
66
+ file_ids (List[str], optional): The file_ids include in message. Defaults to [].
67
+ metadata (Optional[object], optional): The custom key/value pairs. Defaults to None.
68
+ workspace (str, optional): The DashScope workspace id. Defaults to None.
69
+ api_key (str, optional): The DashScope api key. Defaults to None.
70
+
71
+ Returns:
72
+ ThreadMessage: The `ThreadMessage` object.
73
+ """
74
+ cls.SUB_PATH = '%s/messages' % thread_id
75
+ data = {}
76
+ if not thread_id or not content:
77
+ raise InputRequired('thread_id and content are required!')
78
+ data['content'] = content
79
+ data['role'] = role
80
+ if metadata:
81
+ data['metadata'] = metadata
82
+ if file_ids:
83
+ data['file_ids'] = file_ids
84
+ response = super().call(data=data,
85
+ path=f'threads/{thread_id}/messages',
86
+ api_key=api_key,
87
+ flattened_output=True,
88
+ workspace=workspace,
89
+ **kwargs)
90
+ return ThreadMessage(**response)
91
+
92
+ @classmethod
93
+ def retrieve(cls,
94
+ message_id: str,
95
+ *,
96
+ thread_id: str,
97
+ workspace: str = None,
98
+ api_key: str = None,
99
+ **kwargs) -> ThreadMessage:
100
+ """Get the `ThreadMessage`.
101
+
102
+ Args:
103
+ thread_id (str): The thread id.
104
+ message_id (str): The message id.
105
+ workspace (str): The dashscope workspace id.
106
+ api_key (str, optional): The api key. Defaults to None.
107
+
108
+ Returns:
109
+ ThreadMessage: The `ThreadMessage` object.
110
+ """
111
+ return cls.get(message_id,
112
+ thread_id=thread_id,
113
+ workspace=workspace,
114
+ api_key=api_key,
115
+ **kwargs)
116
+
117
+ @classmethod
118
+ def get(cls,
119
+ message_id: str,
120
+ *,
121
+ thread_id: str,
122
+ workspace: str = None,
123
+ api_key: str = None,
124
+ **kwargs) -> ThreadMessage:
125
+ """Get the `ThreadMessage`.
126
+
127
+ Args:
128
+ thread_id (str): The thread id.
129
+ message_id (str): The message id.
130
+ workspace (str): The dashscope workspace id.
131
+ api_key (str, optional): The api key. Defaults to None.
132
+
133
+ Returns:
134
+ ThreadMessage: The `ThreadMessage` object.
135
+ """
136
+ if not message_id or not thread_id:
137
+ raise InputRequired('thread id, message id are required!')
138
+ response = super().get(
139
+ message_id,
140
+ path=f'threads/{thread_id}/messages/{message_id}',
141
+ workspace=workspace,
142
+ api_key=api_key,
143
+ flattened_output=True,
144
+ **kwargs)
145
+ return ThreadMessage(**response)
146
+
147
+ @classmethod
148
+ def list(cls,
149
+ thread_id: str,
150
+ *,
151
+ limit: int = None,
152
+ order: str = None,
153
+ after: str = None,
154
+ before: str = None,
155
+ workspace: str = None,
156
+ api_key: str = None,
157
+ **kwargs) -> ThreadMessageList:
158
+ """List message of the thread.
159
+
160
+ Args:
161
+ thread_id (str): The thread id.
162
+ limit (int, optional): How many assistant to retrieve. Defaults to None.
163
+ order (str, optional): Sort order by created_at. Defaults to None.
164
+ after (str, optional): Assistant id after. Defaults to None.
165
+ before (str, optional): Assistant id before. Defaults to None.
166
+ workspace (str, optional): The DashScope workspace id. Defaults to None.
167
+ api_key (str, optional): Your DashScope api key. Defaults to None.
168
+
169
+ Returns:
170
+ ThreadMessageList: The `ThreadMessageList` object.
171
+ """
172
+ if not thread_id:
173
+ raise InputRequired('thread id is required!')
174
+ response = super().list(limit=limit,
175
+ order=order,
176
+ after=after,
177
+ before=before,
178
+ path=f'threads/{thread_id}/messages',
179
+ workspace=workspace,
180
+ api_key=api_key,
181
+ flattened_output=True,
182
+ **kwargs)
183
+ return ThreadMessageList(**response)
184
+
185
+ @classmethod
186
+ def update(cls,
187
+ message_id: str,
188
+ *,
189
+ thread_id: str,
190
+ metadata: Dict = None,
191
+ workspace: str = None,
192
+ api_key: str = None,
193
+ **kwargs) -> ThreadMessage:
194
+ """Update an message of the thread.
195
+
196
+ Args:
197
+ thread_id (str): The thread id.
198
+ message_id (str): The message id.
199
+ content (str): The message content.
200
+ role (str, optional): The message role. Defaults to 'user'.
201
+ file_ids (List[str], optional): The file_ids include in message. Defaults to [].
202
+ metadata (Optional[object], optional): The custom key/value pairs. Defaults to None.
203
+ workspace (str, optional): The DashScope workspace id. Defaults to None.
204
+ api_key (str, optional): The DashScope api key. Defaults to None.
205
+
206
+ Returns:
207
+ ThreadMessage: The `ThreadMessage` object.
208
+ """
209
+ if not thread_id or not message_id:
210
+ raise InputRequired('thread id and message id are required!')
211
+ response = super().update(target=message_id,
212
+ json={'metadata': metadata},
213
+ path='threads/%s/messages/%s' %
214
+ (thread_id, message_id),
215
+ api_key=api_key,
216
+ workspace=workspace,
217
+ flattened_output=True,
218
+ method='post',
219
+ **kwargs)
220
+ return ThreadMessage(**response)
File without changes