maque 0.2.1__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 (143) hide show
  1. maque/__init__.py +30 -0
  2. maque/__main__.py +926 -0
  3. maque/ai_platform/__init__.py +0 -0
  4. maque/ai_platform/crawl.py +45 -0
  5. maque/ai_platform/metrics.py +258 -0
  6. maque/ai_platform/nlp_preprocess.py +67 -0
  7. maque/ai_platform/webpage_screen_shot.py +195 -0
  8. maque/algorithms/__init__.py +78 -0
  9. maque/algorithms/bezier.py +15 -0
  10. maque/algorithms/bktree.py +117 -0
  11. maque/algorithms/core.py +104 -0
  12. maque/algorithms/hilbert.py +16 -0
  13. maque/algorithms/rate_function.py +92 -0
  14. maque/algorithms/transform.py +27 -0
  15. maque/algorithms/trie.py +272 -0
  16. maque/algorithms/utils.py +63 -0
  17. maque/algorithms/video.py +587 -0
  18. maque/api/__init__.py +1 -0
  19. maque/api/common.py +110 -0
  20. maque/api/fetch.py +26 -0
  21. maque/api/static/icon.png +0 -0
  22. maque/api/static/redoc.standalone.js +1782 -0
  23. maque/api/static/swagger-ui-bundle.js +3 -0
  24. maque/api/static/swagger-ui.css +3 -0
  25. maque/cli/__init__.py +1 -0
  26. maque/cli/clean_invisible_chars.py +324 -0
  27. maque/cli/core.py +34 -0
  28. maque/cli/groups/__init__.py +26 -0
  29. maque/cli/groups/config.py +205 -0
  30. maque/cli/groups/data.py +615 -0
  31. maque/cli/groups/doctor.py +259 -0
  32. maque/cli/groups/embedding.py +222 -0
  33. maque/cli/groups/git.py +29 -0
  34. maque/cli/groups/help.py +410 -0
  35. maque/cli/groups/llm.py +223 -0
  36. maque/cli/groups/mcp.py +241 -0
  37. maque/cli/groups/mllm.py +1795 -0
  38. maque/cli/groups/mllm_simple.py +60 -0
  39. maque/cli/groups/quant.py +210 -0
  40. maque/cli/groups/service.py +490 -0
  41. maque/cli/groups/system.py +570 -0
  42. maque/cli/mllm_run.py +1451 -0
  43. maque/cli/script.py +52 -0
  44. maque/cli/tree.py +49 -0
  45. maque/clustering/__init__.py +52 -0
  46. maque/clustering/analyzer.py +347 -0
  47. maque/clustering/clusterers.py +464 -0
  48. maque/clustering/sampler.py +134 -0
  49. maque/clustering/visualizer.py +205 -0
  50. maque/constant.py +13 -0
  51. maque/core.py +133 -0
  52. maque/cv/__init__.py +1 -0
  53. maque/cv/image.py +219 -0
  54. maque/cv/utils.py +68 -0
  55. maque/cv/video/__init__.py +3 -0
  56. maque/cv/video/keyframe_extractor.py +368 -0
  57. maque/embedding/__init__.py +43 -0
  58. maque/embedding/base.py +56 -0
  59. maque/embedding/multimodal.py +308 -0
  60. maque/embedding/server.py +523 -0
  61. maque/embedding/text.py +311 -0
  62. maque/git/__init__.py +24 -0
  63. maque/git/pure_git.py +912 -0
  64. maque/io/__init__.py +29 -0
  65. maque/io/core.py +38 -0
  66. maque/io/ops.py +194 -0
  67. maque/llm/__init__.py +111 -0
  68. maque/llm/backend.py +416 -0
  69. maque/llm/base.py +411 -0
  70. maque/llm/server.py +366 -0
  71. maque/mcp_server.py +1096 -0
  72. maque/mllm_data_processor_pipeline/__init__.py +17 -0
  73. maque/mllm_data_processor_pipeline/core.py +341 -0
  74. maque/mllm_data_processor_pipeline/example.py +291 -0
  75. maque/mllm_data_processor_pipeline/steps/__init__.py +56 -0
  76. maque/mllm_data_processor_pipeline/steps/data_alignment.py +267 -0
  77. maque/mllm_data_processor_pipeline/steps/data_loader.py +172 -0
  78. maque/mllm_data_processor_pipeline/steps/data_validation.py +304 -0
  79. maque/mllm_data_processor_pipeline/steps/format_conversion.py +411 -0
  80. maque/mllm_data_processor_pipeline/steps/mllm_annotation.py +331 -0
  81. maque/mllm_data_processor_pipeline/steps/mllm_refinement.py +446 -0
  82. maque/mllm_data_processor_pipeline/steps/result_validation.py +501 -0
  83. maque/mllm_data_processor_pipeline/web_app.py +317 -0
  84. maque/nlp/__init__.py +14 -0
  85. maque/nlp/ngram.py +9 -0
  86. maque/nlp/parser.py +63 -0
  87. maque/nlp/risk_matcher.py +543 -0
  88. maque/nlp/sentence_splitter.py +202 -0
  89. maque/nlp/simple_tradition_cvt.py +31 -0
  90. maque/performance/__init__.py +21 -0
  91. maque/performance/_measure_time.py +70 -0
  92. maque/performance/_profiler.py +367 -0
  93. maque/performance/_stat_memory.py +51 -0
  94. maque/pipelines/__init__.py +15 -0
  95. maque/pipelines/clustering.py +252 -0
  96. maque/quantization/__init__.py +42 -0
  97. maque/quantization/auto_round.py +120 -0
  98. maque/quantization/base.py +145 -0
  99. maque/quantization/bitsandbytes.py +127 -0
  100. maque/quantization/llm_compressor.py +102 -0
  101. maque/retriever/__init__.py +35 -0
  102. maque/retriever/chroma.py +654 -0
  103. maque/retriever/document.py +140 -0
  104. maque/retriever/milvus.py +1140 -0
  105. maque/table_ops/__init__.py +1 -0
  106. maque/table_ops/core.py +133 -0
  107. maque/table_viewer/__init__.py +4 -0
  108. maque/table_viewer/download_assets.py +57 -0
  109. maque/table_viewer/server.py +698 -0
  110. maque/table_viewer/static/element-plus-icons.js +5791 -0
  111. maque/table_viewer/static/element-plus.css +1 -0
  112. maque/table_viewer/static/element-plus.js +65236 -0
  113. maque/table_viewer/static/main.css +268 -0
  114. maque/table_viewer/static/main.js +669 -0
  115. maque/table_viewer/static/vue.global.js +18227 -0
  116. maque/table_viewer/templates/index.html +401 -0
  117. maque/utils/__init__.py +56 -0
  118. maque/utils/color.py +68 -0
  119. maque/utils/color_string.py +45 -0
  120. maque/utils/compress.py +66 -0
  121. maque/utils/constant.py +183 -0
  122. maque/utils/core.py +261 -0
  123. maque/utils/cursor.py +143 -0
  124. maque/utils/distance.py +58 -0
  125. maque/utils/docker.py +96 -0
  126. maque/utils/downloads.py +51 -0
  127. maque/utils/excel_helper.py +542 -0
  128. maque/utils/helper_metrics.py +121 -0
  129. maque/utils/helper_parser.py +168 -0
  130. maque/utils/net.py +64 -0
  131. maque/utils/nvidia_stat.py +140 -0
  132. maque/utils/ops.py +53 -0
  133. maque/utils/packages.py +31 -0
  134. maque/utils/path.py +57 -0
  135. maque/utils/tar.py +260 -0
  136. maque/utils/untar.py +129 -0
  137. maque/web/__init__.py +0 -0
  138. maque/web/image_downloader.py +1410 -0
  139. maque-0.2.1.dist-info/METADATA +450 -0
  140. maque-0.2.1.dist-info/RECORD +143 -0
  141. maque-0.2.1.dist-info/WHEEL +4 -0
  142. maque-0.2.1.dist-info/entry_points.txt +3 -0
  143. maque-0.2.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,268 @@
1
+ :root {
2
+ --image-width: 120px;
3
+ --image-height: 90px;
4
+ }
5
+
6
+ body {
7
+ margin: 0;
8
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
9
+ }
10
+
11
+ .main-container {
12
+ height: 100vh;
13
+ display: flex;
14
+ flex-direction: column;
15
+ }
16
+
17
+ .header {
18
+ background: #fff;
19
+ border-bottom: 1px solid #e6e6e6;
20
+ padding: 16px 24px;
21
+ display: flex;
22
+ justify-content: between;
23
+ align-items: center;
24
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
25
+ }
26
+
27
+ .content {
28
+ flex: 1;
29
+ display: flex;
30
+ flex-direction: column;
31
+ overflow: hidden;
32
+ }
33
+
34
+ .toolbar {
35
+ background: #f5f5f5;
36
+ padding: 12px 24px;
37
+ border-bottom: 1px solid #e6e6e6;
38
+ display: flex;
39
+ gap: 12px;
40
+ align-items: center;
41
+ flex-wrap: wrap;
42
+ }
43
+
44
+ .table-container {
45
+ flex: 1;
46
+ overflow: auto;
47
+ padding: 24px;
48
+ background: #fff;
49
+ }
50
+
51
+ .image-preview {
52
+ max-width: 200px;
53
+ max-height: 150px;
54
+ border-radius: 4px;
55
+ cursor: pointer;
56
+ transition: transform 0.2s;
57
+ }
58
+
59
+ .image-preview:hover {
60
+ transform: scale(1.1);
61
+ }
62
+
63
+ .multi-images-container {
64
+ display: flex;
65
+ gap: 8px;
66
+ align-items: center;
67
+ overflow-x: auto;
68
+ max-width: 100%;
69
+ padding: 4px 0;
70
+ }
71
+
72
+ .multi-images-container::-webkit-scrollbar {
73
+ height: 4px;
74
+ }
75
+
76
+ .multi-images-container::-webkit-scrollbar-track {
77
+ background: #f1f1f1;
78
+ border-radius: 2px;
79
+ }
80
+
81
+ .multi-images-container::-webkit-scrollbar-thumb {
82
+ background: #c1c1c1;
83
+ border-radius: 2px;
84
+ }
85
+
86
+ .multi-images-container::-webkit-scrollbar-thumb:hover {
87
+ background: #a1a1a1;
88
+ }
89
+
90
+ .multi-image-item {
91
+ flex-shrink: 0;
92
+ max-width: var(--image-width);
93
+ max-height: var(--image-height);
94
+ width: var(--image-width);
95
+ height: var(--image-height);
96
+ object-fit: cover;
97
+ border-radius: 4px;
98
+ cursor: pointer;
99
+ transition: transform 0.2s;
100
+ }
101
+
102
+ .multi-image-item:hover {
103
+ transform: scale(1.05);
104
+ }
105
+
106
+ .image-placeholder {
107
+ flex-shrink: 0;
108
+ width: var(--image-width);
109
+ height: var(--image-height);
110
+ background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
111
+ border: 2px dashed #ddd;
112
+ border-radius: 4px;
113
+ display: flex;
114
+ flex-direction: column;
115
+ align-items: center;
116
+ justify-content: center;
117
+ color: #999;
118
+ font-size: 12px;
119
+ position: relative;
120
+ overflow: hidden;
121
+ }
122
+
123
+ .image-placeholder::before {
124
+ content: '📷';
125
+ font-size: 24px;
126
+ margin-bottom: 4px;
127
+ opacity: 0.6;
128
+ }
129
+
130
+ .image-placeholder.loading {
131
+ background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%);
132
+ border-color: #bae6fd;
133
+ color: #0369a1;
134
+ }
135
+
136
+ .image-placeholder.loading::before {
137
+ content: '⏳';
138
+ animation: pulse 1.5s ease-in-out infinite;
139
+ }
140
+
141
+ .image-placeholder.error {
142
+ background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
143
+ border-color: #fca5a5;
144
+ color: #dc2626;
145
+ }
146
+
147
+ .image-placeholder.error::before {
148
+ content: '❌';
149
+ }
150
+
151
+ @keyframes pulse {
152
+ 0%, 100% { transform: scale(1); opacity: 0.6; }
153
+ 50% { transform: scale(1.1); opacity: 1; }
154
+ }
155
+
156
+ .loading-shimmer {
157
+ position: absolute;
158
+ top: 0;
159
+ left: -100%;
160
+ width: 100%;
161
+ height: 100%;
162
+ background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
163
+ animation: shimmer 2s infinite;
164
+ }
165
+
166
+ @keyframes shimmer {
167
+ 0% { left: -100%; }
168
+ 100% { left: 100%; }
169
+ }
170
+
171
+ .filter-row {
172
+ background: #fafafa;
173
+ padding: 12px 16px;
174
+ border-bottom: 1px solid #e6e6e6;
175
+ display: flex;
176
+ gap: 12px;
177
+ align-items: center;
178
+ flex-wrap: wrap;
179
+ }
180
+
181
+ .stats-info {
182
+ background: #e8f4fd;
183
+ padding: 8px 16px;
184
+ border-left: 4px solid #409eff;
185
+ margin-bottom: 16px;
186
+ border-radius: 4px;
187
+ }
188
+
189
+ .el-table .el-table__cell {
190
+ padding: 8px 12px;
191
+ }
192
+
193
+ .cell-editor {
194
+ width: 100%;
195
+ border: none;
196
+ background: transparent;
197
+ outline: none;
198
+ padding: 4px;
199
+ }
200
+
201
+ .cell-editor:focus {
202
+ background: #fff;
203
+ border: 1px solid #409eff;
204
+ border-radius: 3px;
205
+ }
206
+
207
+ /* 表头按钮样式优化 */
208
+ .el-table th.el-table__cell {
209
+ padding: 8px 12px;
210
+ }
211
+
212
+ .el-button-group .el-button {
213
+ margin: 0;
214
+ }
215
+
216
+ .el-table .el-table__header-wrapper .el-button {
217
+ border: 1px solid #dcdfe6;
218
+ }
219
+
220
+ .el-table .el-table__header-wrapper .el-button:hover {
221
+ background: #f5f7fa;
222
+ border-color: #c0c4cc;
223
+ }
224
+
225
+ .el-table .el-table__header-wrapper .el-button--primary {
226
+ background: #409eff;
227
+ border-color: #409eff;
228
+ color: #fff;
229
+ }
230
+
231
+ /* 拖拽上传区域样式 */
232
+ .upload-area {
233
+ border: 2px dashed #d9d9d9;
234
+ border-radius: 8px;
235
+ background: #fafafa;
236
+ padding: 20px;
237
+ text-align: center;
238
+ transition: all 0.3s;
239
+ cursor: pointer;
240
+ }
241
+
242
+ .upload-area:hover, .upload-area.dragover {
243
+ border-color: #409eff;
244
+ background: #f0f9ff;
245
+ }
246
+
247
+ .upload-area.dragover {
248
+ border-color: #67c23a;
249
+ background: #f0f9f0;
250
+ }
251
+
252
+ .upload-icon {
253
+ font-size: 48px;
254
+ color: #c0c4cc;
255
+ margin-bottom: 16px;
256
+ }
257
+
258
+ .upload-text {
259
+ color: #606266;
260
+ font-size: 16px;
261
+ line-height: 1.6;
262
+ }
263
+
264
+ .upload-hint {
265
+ color: #909399;
266
+ font-size: 12px;
267
+ margin-top: 8px;
268
+ }