MeUtils 2024.12.19.11.26.58__py3-none-any.whl → 2024.12.23.15.45.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.
- {MeUtils-2024.12.19.11.26.58.dist-info → MeUtils-2024.12.23.15.45.1.dist-info}/METADATA +27 -27
- {MeUtils-2024.12.19.11.26.58.dist-info → MeUtils-2024.12.23.15.45.1.dist-info}/RECORD +23 -19
- examples/_openaisdk/4v.py +6 -3
- examples/_openaisdk/openai_baichuan.py +6 -3
- examples/_openaisdk/openai_embeddings.py +1 -4
- meutils/apis/hailuoai/videos.py +1 -1
- meutils/apis/jimeng/common.py +2 -2
- meutils/apis/jimeng/doubao.py +68 -0
- meutils/apis/jimeng/{utils.py → doubao_utils.py} +26 -28
- meutils/apis/jimeng/files.py +13 -6
- meutils/apis/utils.py +47 -0
- meutils/apis/videos/__init__.py +11 -0
- meutils/apis/videos/sora.py +16 -0
- meutils/apis/vidu/vidu_video.py +1 -1
- meutils/data/VERSION +1 -1
- meutils/data/oneapi/NOTICE.md +26 -8
- meutils/schemas/oneapi/common.py +30 -31
- meutils/schemas/request_types.py +20 -0
- meutils/schemas/vidu_types.py +43 -6
- meutils/apis/jimeng/sig.py +0 -92
- {MeUtils-2024.12.19.11.26.58.dist-info → MeUtils-2024.12.23.15.45.1.dist-info}/LICENSE +0 -0
- {MeUtils-2024.12.19.11.26.58.dist-info → MeUtils-2024.12.23.15.45.1.dist-info}/WHEEL +0 -0
- {MeUtils-2024.12.19.11.26.58.dist-info → MeUtils-2024.12.23.15.45.1.dist-info}/entry_points.txt +0 -0
- {MeUtils-2024.12.19.11.26.58.dist-info → MeUtils-2024.12.23.15.45.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: MeUtils
|
3
|
-
Version: 2024.12.
|
3
|
+
Version: 2024.12.23.15.45.1
|
4
4
|
Summary: description
|
5
5
|
Home-page: https://github.com/yuanjie-ai/MeUtils
|
6
6
|
Author: yuanjie
|
@@ -63,42 +63,42 @@ Requires-Dist: sse-starlette ; extra == 'ai'
|
|
63
63
|
Requires-Dist: openai ; extra == 'ai'
|
64
64
|
Requires-Dist: langchain ; extra == 'ai'
|
65
65
|
Provides-Extra: all
|
66
|
+
Requires-Dist: jieba ; extra == 'all'
|
67
|
+
Requires-Dist: pymilvus ; extra == 'all'
|
68
|
+
Requires-Dist: pretty-errors ; extra == 'all'
|
69
|
+
Requires-Dist: asyncmy ; extra == 'all'
|
70
|
+
Requires-Dist: pyarrow ; extra == 'all'
|
71
|
+
Requires-Dist: simplejson ; extra == 'all'
|
66
72
|
Requires-Dist: thriftpy2 ; extra == 'all'
|
73
|
+
Requires-Dist: dataframe-image ; extra == 'all'
|
74
|
+
Requires-Dist: openai ; extra == 'all'
|
75
|
+
Requires-Dist: redis-py-cluster ; extra == 'all'
|
76
|
+
Requires-Dist: fastapi ; extra == 'all'
|
77
|
+
Requires-Dist: streamlit ; extra == 'all'
|
78
|
+
Requires-Dist: gunicorn ; extra == 'all'
|
79
|
+
Requires-Dist: iteration-utilities ; extra == 'all'
|
80
|
+
Requires-Dist: reportlab ; extra == 'all'
|
81
|
+
Requires-Dist: jmespath ; extra == 'all'
|
67
82
|
Requires-Dist: thefuck ; extra == 'all'
|
68
|
-
Requires-Dist:
|
83
|
+
Requires-Dist: seaborn ; extra == 'all'
|
84
|
+
Requires-Dist: pymysql ; extra == 'all'
|
85
|
+
Requires-Dist: sqlalchemy ; extra == 'all'
|
69
86
|
Requires-Dist: uvicorn ; extra == 'all'
|
70
|
-
Requires-Dist: missingno ; extra == 'all'
|
71
|
-
Requires-Dist: cachetools ; extra == 'all'
|
72
87
|
Requires-Dist: sse-starlette ; extra == 'all'
|
73
88
|
Requires-Dist: fastapi[all] ; extra == 'all'
|
89
|
+
Requires-Dist: pymongo ; extra == 'all'
|
90
|
+
Requires-Dist: polars ; extra == 'all'
|
91
|
+
Requires-Dist: faiss-cpu ; extra == 'all'
|
92
|
+
Requires-Dist: schedule ; extra == 'all'
|
93
|
+
Requires-Dist: jinja2 ; extra == 'all'
|
74
94
|
Requires-Dist: langchain ; extra == 'all'
|
75
|
-
Requires-Dist:
|
76
|
-
Requires-Dist: asyncmy ; extra == 'all'
|
95
|
+
Requires-Dist: missingno ; extra == 'all'
|
77
96
|
Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
|
78
|
-
Requires-Dist:
|
79
|
-
Requires-Dist: pretty-errors ; extra == 'all'
|
80
|
-
Requires-Dist: sqlalchemy ; extra == 'all'
|
97
|
+
Requires-Dist: cachetools ; extra == 'all'
|
81
98
|
Requires-Dist: pymupd ; extra == 'all'
|
82
|
-
Requires-Dist:
|
83
|
-
Requires-Dist: reportlab ; extra == 'all'
|
84
|
-
Requires-Dist: schedule ; extra == 'all'
|
99
|
+
Requires-Dist: geopy ; extra == 'all'
|
85
100
|
Requires-Dist: filetype ; extra == 'all'
|
86
|
-
Requires-Dist: jinja2 ; extra == 'all'
|
87
|
-
Requires-Dist: dataframe-image ; extra == 'all'
|
88
|
-
Requires-Dist: pyarrow ; extra == 'all'
|
89
|
-
Requires-Dist: pymongo ; extra == 'all'
|
90
|
-
Requires-Dist: simplejson ; extra == 'all'
|
91
|
-
Requires-Dist: pymilvus ; extra == 'all'
|
92
|
-
Requires-Dist: faiss-cpu ; extra == 'all'
|
93
|
-
Requires-Dist: jmespath ; extra == 'all'
|
94
|
-
Requires-Dist: fastapi ; extra == 'all'
|
95
|
-
Requires-Dist: gunicorn ; extra == 'all'
|
96
101
|
Requires-Dist: pandas-summary ; extra == 'all'
|
97
|
-
Requires-Dist: seaborn ; extra == 'all'
|
98
|
-
Requires-Dist: jieba ; extra == 'all'
|
99
|
-
Requires-Dist: iteration-utilities ; extra == 'all'
|
100
|
-
Requires-Dist: polars ; extra == 'all'
|
101
|
-
Requires-Dist: streamlit ; extra == 'all'
|
102
102
|
Provides-Extra: ann
|
103
103
|
Requires-Dist: pymilvus ; extra == 'ann'
|
104
104
|
Requires-Dist: faiss-cpu ; extra == 'ann'
|
@@ -69,7 +69,7 @@ examples/Time-Extractor/TimeUnit.py,sha256=yx-SS9sxSjSUGiu1H8eTbP4vqAHrNyQcddioM
|
|
69
69
|
examples/Time-Extractor/__init__.py,sha256=hjNi8tWPOBTke6GHlxpsOrufCRdAHmYs2yBquql9X7c,156
|
70
70
|
examples/Time-Extractor/setup.py,sha256=ENYhj1_uJ7z_F3jrz8FR8w5u2SEXrZpl5GXEELUymLk,811
|
71
71
|
examples/Time-Extractor/resource/__init__.py,sha256=0HHkZVghckIg5LkGMziooZ8TUqfSQFA6j62BN9KyFp0,91
|
72
|
-
examples/_openaisdk/4v.py,sha256=
|
72
|
+
examples/_openaisdk/4v.py,sha256=gqHVIdvh8uYkggLw8ng9PStgOIzC665NOp9Dr3j8Kgo,3422
|
73
73
|
examples/_openaisdk/__init__.py,sha256=5TNibGR-ETncXVWoevqYJ0m2yo1GOxRx3hSu2qWAQNo,271
|
74
74
|
examples/_openaisdk/baichuan.py,sha256=xmNFc64T02r9wE0VSOG0B21wJJmlrecKVVCelhs2Dt4,890
|
75
75
|
examples/_openaisdk/bpo.py,sha256=7Jw16TiKFEQvYbt4g-h7QimLBw7xY49w1MthT5OwcTM,5267
|
@@ -89,13 +89,13 @@ examples/_openaisdk/kimi_qa.py,sha256=dNBIe01vK7p-8cFnbgVXJ5H3xPSW32-cc0rwZx3K_1
|
|
89
89
|
examples/_openaisdk/minimax.py,sha256=zOshBkL1bHgRlj4z6k2FQRScNTr7ysZkfh2-OaAynkU,2116
|
90
90
|
examples/_openaisdk/open_router.py,sha256=Z4i_FJIc773JnIdYA3Hhuy1Dq5-DIOIrmkWwbp82hJE,1460
|
91
91
|
examples/_openaisdk/openai_audio.py,sha256=ZyYslH9RfdJBpNUpjKn_5x0d94_H291Qt31u_6weISc,484
|
92
|
-
examples/_openaisdk/openai_baichuan.py,sha256=
|
92
|
+
examples/_openaisdk/openai_baichuan.py,sha256=4_Gz8FeRrW5Zwnh-KFmaLOXr6sn3AxU47Qd2j8VDiQU,1527
|
93
93
|
examples/_openaisdk/openai_cache.py,sha256=89GbJ1QlqQbVxlUeuFgEbwDYHOkum7BK0zB-CqmDAZU,726
|
94
94
|
examples/_openaisdk/openai_chatfire.py,sha256=InT65qjrWflYnXW4SaZJ4lnUENta4ftcmqxJso-SnyI,17110
|
95
95
|
examples/_openaisdk/openai_chatfire_all.py,sha256=DaiI1NfDeK655QvXyczkgXK9Awxp7NBe71LHA7trxGE,4831
|
96
96
|
examples/_openaisdk/openai_deepseek.py,sha256=-1WyTX5EfB8bdVhZ-y2yZQ04fVzujp4OPmOQR6i3QxI,660
|
97
97
|
examples/_openaisdk/openai_doubao.py,sha256=dp0SLvDBYpIJPNs_vnV2GBIEFa9FglNtYvfGKtJ9Bqk,1053
|
98
|
-
examples/_openaisdk/openai_embeddings.py,sha256=
|
98
|
+
examples/_openaisdk/openai_embeddings.py,sha256=cBF0bK_saOadjietR1uZ3TrlhO30H4CuYdEEC1bwV2Q,866
|
99
99
|
examples/_openaisdk/openai_files.py,sha256=gfUbKGZg5P7c3kSMfwalIThi_SEs8O-JTqx49bYFtyM,1505
|
100
100
|
examples/_openaisdk/openai_god.py,sha256=O8fbhyxiIlVR7pTvBTXgQ2QTwfcZ2MkEIyDe_jp797A,1056
|
101
101
|
examples/_openaisdk/openai_groq.py,sha256=_5Ue1yEx0Gp6theFioB_D8kepR0UlqMU96PVGH-LkVY,7363
|
@@ -308,6 +308,7 @@ meutils/apis/niutrans.py,sha256=weWjn-tUTEaAUe5RGbzcjQqPkJxGDrPwMB6CnaiZSsg,1682
|
|
308
308
|
meutils/apis/search_music.py,sha256=HBLtdterztrccnLAPZrWBlrYSx4WCRflCqz-V30fOA8,972
|
309
309
|
meutils/apis/textin.py,sha256=vkl3VI3ox-m-0UA-DBTOCZURAlD9lA7nA-057gJLMoc,4880
|
310
310
|
meutils/apis/ts.py,sha256=Q13EOS9Q-Y2-KwOG_cFMVmGj9RUmDtxk5A3E27dxbN0,1511
|
311
|
+
meutils/apis/utils.py,sha256=60kNe50UthghRm2ReJtL1ELS5iZ5-bqWjNwFHFN7B0M,1261
|
311
312
|
meutils/apis/web_search.py,sha256=6gS3leIB2iyeLtqhB0IbpL_mKzDgArRTqnR7odTWT3E,1035
|
312
313
|
meutils/apis/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
|
313
314
|
meutils/apis/audio/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5wLJgkNHA,241
|
@@ -327,7 +328,7 @@ meutils/apis/hailuoai/demo.py,sha256=WTnDFL2HgVpAjcn5BljLrbf2y2aATkvvNy75zoEIQkc
|
|
327
328
|
meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-xYIO8,9101
|
328
329
|
meutils/apis/hailuoai/music.py,sha256=S_oi-ZDbocTfbRgREdXtGx50xzUc1PCZGuxmr917E7M,265
|
329
330
|
meutils/apis/hailuoai/upload.py,sha256=22S6W6hGQhUquVKqh7QCkXb6KHDl3iMKKi6Z0AJdFEI,6501
|
330
|
-
meutils/apis/hailuoai/videos.py,sha256=
|
331
|
+
meutils/apis/hailuoai/videos.py,sha256=rahr8dBCxV9ueY4n1OhEHU60MlpIGg_Omrsv4JBmj24,19334
|
331
332
|
meutils/apis/hailuoai/yy.py,sha256=gJvr7VDa0YPEUkZuETdmCFWWheylDPoMUg8gbS_SVw8,8937
|
332
333
|
meutils/apis/hf/__init__.py,sha256=ZZoRl8yNYekoMhE__67XXBKNSYJaLgjtaa0netjJKUU,271
|
333
334
|
meutils/apis/hf/got_ocr.py,sha256=pZURFpryDh_Ak6PNiARztOzYgkjVrfScJ5-0XzMBrzI,1776
|
@@ -361,11 +362,11 @@ meutils/apis/jiema/24mail.py,sha256=GUszRtoDe3T9q-X4embwT5YhcjgQ3XnkTJMKX93sCF4,
|
|
361
362
|
meutils/apis/jiema/__init__.py,sha256=YBybggoDRYCNYcwJOypxR7MzfTjIhqO7BkGlTt7NDo4,271
|
362
363
|
meutils/apis/jiema/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
|
363
364
|
meutils/apis/jimeng/__init__.py,sha256=a8CE_cOl9jqal0hycwaLm4Mnga8jmZlz9nCze_9bBqA,272
|
364
|
-
meutils/apis/jimeng/common.py,sha256
|
365
|
-
meutils/apis/jimeng/
|
365
|
+
meutils/apis/jimeng/common.py,sha256=CgBSShvSCYMy9zH3r449Plqu2hTFLzAUyz-ytc1esW4,8672
|
366
|
+
meutils/apis/jimeng/doubao.py,sha256=vSEaTQHQdyhpHwCoq6CIikDZkUC9ncyTgKxGUC8cMCI,4345
|
367
|
+
meutils/apis/jimeng/doubao_utils.py,sha256=XCHnvwfCOtJmPQuzDOCfKDMP_Pcqh-Y4w2h5f7Y2gzM,5999
|
368
|
+
meutils/apis/jimeng/files.py,sha256=aFKg5iesJNVbXclaMR0yDpnKzjqW1yZxkyp9qrGTybo,5365
|
366
369
|
meutils/apis/jimeng/images.py,sha256=6oSsXOTDaZ6qkZpWM2SjzE3mX4_Z_RQEJS4bEaDOWsU,3480
|
367
|
-
meutils/apis/jimeng/sig.py,sha256=jisL1jCqWEd3PugP4KMZWVQ32OiwwEPFs1jRvxgZmfU,4068
|
368
|
-
meutils/apis/jimeng/utils.py,sha256=Ybi2DF1RSXxpxeH387iQGahJhXv5MhYUDtCpPuznP8w,6134
|
369
370
|
meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vio,271
|
370
371
|
meutils/apis/kling/api.py,sha256=AuVQ9URmrbTlz7dEv_kIyhA9fMTZPL9rF3Td6KxTIMA,2183
|
371
372
|
meutils/apis/kling/images.py,sha256=FcCkvA4x1Po3SuugfQa8klT0Lrj7fq4N8kbzx6luUxI,5095
|
@@ -436,8 +437,10 @@ meutils/apis/tripo3d/images.py,sha256=vb0Y3d6Zcp_NUrwC__cchoqulnDXKHzfOKQkZ3jrow
|
|
436
437
|
meutils/apis/uptime_kuma/__init__.py,sha256=w_fYxFgQDOXOfCPe0JMsgSl6zrGuYx9w4thySfAsbAE,272
|
437
438
|
meutils/apis/uptime_kuma/common.py,sha256=ZJFSEeoxD_Eb5eFL9K2xxajVJgTnTwgm7rm4fc0nv1I,1597
|
438
439
|
meutils/apis/uptime_kuma/国产分组.py,sha256=OIiUUFfjWEEJHg5fr8Vf5xSBWkbXboQ4f3jUiaTtQSI,1681
|
440
|
+
meutils/apis/videos/__init__.py,sha256=OCykr_XRIOH18Xh5hfBq5yMxbk8e9Myk4KuAtrtgAWw,272
|
441
|
+
meutils/apis/videos/sora.py,sha256=G3wGlvTYl4YfG20L2HXPhmhZ4HwrlIFSU-KYM-TdALg,295
|
439
442
|
meutils/apis/vidu/__init__.py,sha256=8nQN-RiZGJlZaZGVFbtHgK57_Ml5g_vFCiOImWwBm0I,242
|
440
|
-
meutils/apis/vidu/vidu_video.py,sha256=
|
443
|
+
meutils/apis/vidu/vidu_video.py,sha256=SBzy4E45rk6H89aEEVOoLbrCLbP5TQyXBablHao-DfY,17420
|
441
444
|
meutils/apis/vidu/x.py,sha256=UD1QlAQTtLgFiDfWYVxM-1ppfrX_LaVYASk2yNviMuk,322
|
442
445
|
meutils/apis/voice_clone/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5wLJgkNHA,241
|
443
446
|
meutils/apis/voice_clone/fish.py,sha256=6m8zcS2KEqmalKy2ArnOaNovyxsQp_sw4d_O1kVZR2s,7146
|
@@ -487,14 +490,14 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
|
|
487
490
|
meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
|
488
491
|
meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
|
489
492
|
meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
|
490
|
-
meutils/data/VERSION,sha256=
|
493
|
+
meutils/data/VERSION,sha256=3VGLbEyY_DPbBqNqDl04IvcZWYCB_kMLSZ4doLZD3f4,19
|
491
494
|
meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
492
495
|
meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
493
496
|
meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
|
494
497
|
meutils/data/coordinate.py,sha256=VbFtcdho0XG4j-rZD0DgqcIf2_LR2LlbLtfhLXbxiDY,600
|
495
498
|
meutils/data/cowboy-hat-face.webp,sha256=AHi2t-WclDVKWgGEe-oZzI4xKACNlgGWUgd622y0K-E,24814
|
496
499
|
meutils/data/oneapi/FOOTER.md,sha256=UHv39ey2ICocxPoCj-UI_PWyyWxZYLS8zG1inqtWNQ4,448
|
497
|
-
meutils/data/oneapi/NOTICE.md,sha256=
|
500
|
+
meutils/data/oneapi/NOTICE.md,sha256=kq6qJfbbJkTc00BjgvPGvNHFjO9EDxYuHzDly9annV8,4762
|
498
501
|
meutils/data/oneapi/__init__.py,sha256=cm2Kq2RDXPfdVMWcoBB77bu00zJpTDd21Rgc6bTlhws,398
|
499
502
|
meutils/db/__init__.py,sha256=HR99rqxoFTWXUHDhLVl33tzIn8M86gigHLmEzOKH1Ec,7637
|
500
503
|
meutils/db/mongo.py,sha256=B-B_t939rxtnNGt0PxhivjIUwinmHPzLUpXsjUIaTkQ,2337
|
@@ -683,6 +686,7 @@ meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX
|
|
683
686
|
meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
|
684
687
|
meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
|
685
688
|
meutils/schemas/replicate_types.py,sha256=Todfo-y2Gq1MW8IyEmzz_ZlTxuQ3PvIfiF0KkrmJaYw,3160
|
689
|
+
meutils/schemas/request_types.py,sha256=GP2radX2Ixjbu8NDKihUsrSOft6WgcFYd7LXxM4mPY0,407
|
686
690
|
meutils/schemas/runwayml_types.py,sha256=q6g00kg1PYCDjpw-notgbcUGwRAlIa8kAmU52ZuXyLQ,6128
|
687
691
|
meutils/schemas/siliconflow_types.py,sha256=a8SOf-bh5ZBddqsCqJNPFfw9olxk-bD_ySqTr8d0aZw,8597
|
688
692
|
meutils/schemas/step_types.py,sha256=nGTPXZ7RwOF2RTsPBQguLLcIaBxHs4bsZkYa_LalcJ0,648
|
@@ -692,14 +696,14 @@ meutils/schemas/translator_types.py,sha256=xufNQeyim7RhkzAK_J5_JchZfqaUBDXFwMtrP
|
|
692
696
|
meutils/schemas/tripo3d_types.py,sha256=mQF65HwHYmczRgAIuXK5hGxWDWNYDq-Xu9pja7Dwy4o,1452
|
693
697
|
meutils/schemas/tryblend_types.py,sha256=glZ0diRJvZmfQotcCWYBA832inihy8TvVWxWZ64CzWA,27793
|
694
698
|
meutils/schemas/video_types.py,sha256=r4_gJPzmnX6ymCMd0RIqL8Hlx8BHpcwRh77-GA59Iu4,512
|
695
|
-
meutils/schemas/vidu_types.py,sha256=
|
699
|
+
meutils/schemas/vidu_types.py,sha256=GqmnWZaRjVduNpwm916uzjOzfBxOcKyLQ55KWRd3Kv8,5422
|
696
700
|
meutils/schemas/wechat_types.py,sha256=XtIJpMNBzkqBcU68Qno8bnUfHzDOXwFNCIL-6VYQKOA,9260
|
697
701
|
meutils/schemas/yuanbao_types.py,sha256=ZmB-7_eAuTU3QDonNgy0vcVP4YQNwA5yJ8G4mvfOmUE,11966
|
698
702
|
meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVIU,272
|
699
703
|
meutils/schemas/db/oneapi_types.py,sha256=Jtt1hXRS5C3DHf_wrkjklVcdPllsAFrzvLq9JLuTdtc,2858
|
700
704
|
meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
|
701
705
|
meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
|
702
|
-
meutils/schemas/oneapi/common.py,sha256=
|
706
|
+
meutils/schemas/oneapi/common.py,sha256=AQxO-aL-Ov1EH84EOEzRSgjF5wxMa0K_KK-NkbMre4o,23238
|
703
707
|
meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
|
704
708
|
meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
|
705
709
|
meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
|
@@ -827,9 +831,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
|
|
827
831
|
meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
|
828
832
|
meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
|
829
833
|
meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
|
830
|
-
MeUtils-2024.12.
|
831
|
-
MeUtils-2024.12.
|
832
|
-
MeUtils-2024.12.
|
833
|
-
MeUtils-2024.12.
|
834
|
-
MeUtils-2024.12.
|
835
|
-
MeUtils-2024.12.
|
834
|
+
MeUtils-2024.12.23.15.45.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
835
|
+
MeUtils-2024.12.23.15.45.1.dist-info/METADATA,sha256=FTb38r4qfAcGEGO0syd_tBd3uSBeqkvkxXoJqnHbeQs,6202
|
836
|
+
MeUtils-2024.12.23.15.45.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
837
|
+
MeUtils-2024.12.23.15.45.1.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
|
838
|
+
MeUtils-2024.12.23.15.45.1.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
|
839
|
+
MeUtils-2024.12.23.15.45.1.dist-info/RECORD,,
|
examples/_openaisdk/4v.py
CHANGED
@@ -16,7 +16,9 @@ from openai.types.chat.completion_create_params import ResponseFormat
|
|
16
16
|
from chatllm.schemas.openai_api_protocol import ChatCompletionRequest
|
17
17
|
|
18
18
|
base_url = os.getenv('OPENAI_BASE_URL')
|
19
|
-
openai = OpenAI(
|
19
|
+
openai = OpenAI(
|
20
|
+
# api_key=os.getenv("OPENAI_API_KEY_OPENAI")
|
21
|
+
)
|
20
22
|
# openai = OpenAI(api_key=os.getenv("SILICONFLOW_API_KEY"), base_url=os.getenv("SILICONFLOW_BASE_URL"))
|
21
23
|
# openai = OpenAI(
|
22
24
|
# # api_key=os.getenv("TOGETHER_API_KEY"),
|
@@ -72,7 +74,9 @@ messages = [
|
|
72
74
|
response = openai.chat.completions.create(
|
73
75
|
# model='gpt-4-vision-preview',
|
74
76
|
# model='gpt-4o',
|
75
|
-
model='gpt-4o-2024-08-06',
|
77
|
+
# model='gpt-4o-2024-08-06',
|
78
|
+
# model="deepseek-ai/deepseek-vl2",
|
79
|
+
model="doubao-vision-pro-32k",
|
76
80
|
|
77
81
|
# model="gemini-pro-vision",
|
78
82
|
# model='gemini-1.5-flash-latest',
|
@@ -101,5 +105,4 @@ response = openai.chat.completions.create(
|
|
101
105
|
|
102
106
|
print(response.dict())
|
103
107
|
|
104
|
-
|
105
108
|
# response = client.chat.completions.create(input='你好', model='tts-1', voice='alloy')
|
@@ -15,8 +15,8 @@ from openai import OpenAI, APIStatusError
|
|
15
15
|
from meutils.schemas.oneapi.models import BAICHUAN
|
16
16
|
|
17
17
|
client = OpenAI(
|
18
|
-
|
19
|
-
|
18
|
+
api_key=os.getenv("BAICHUAN_API_KEY"),
|
19
|
+
base_url=os.getenv("BAICHUAN_BASE_URL")
|
20
20
|
)
|
21
21
|
|
22
22
|
# tool:search
|
@@ -27,7 +27,10 @@ for model in BAICHUAN:
|
|
27
27
|
model=model,
|
28
28
|
messages=[
|
29
29
|
# {"role": "system", "content": "你是个画图工具"},
|
30
|
-
{"role": "user", "content": "你是谁"}
|
30
|
+
# {"role": "user", "content": "你是谁"},
|
31
|
+
|
32
|
+
{"role": "user", "content": "总结下 https://top.baidu.com/board?platform=pc&sa=pcindex_a_right"}
|
33
|
+
|
31
34
|
],
|
32
35
|
# top_p=0.7,
|
33
36
|
stream=True,
|
@@ -13,9 +13,8 @@ from meutils.pipe import *
|
|
13
13
|
from openai import OpenAI
|
14
14
|
|
15
15
|
client = OpenAI(
|
16
|
-
api_key="sk-iPNbgHSRkQ9VUb6iAcCa7a4539D74255A6462d29619d6519",
|
17
|
-
# api_key='sk-Gqbp2zoc71gWBVxvBd23D89f469e4e78A823357e2e625455',
|
18
16
|
|
17
|
+
api_key=os.getenv("OPENAI_API_KEY_OPENAI"),
|
19
18
|
# api_key=os.getenv("SILICONFLOW_API_KEY"),
|
20
19
|
# # api_key="sk-gcxjtocodgggxwnhqqsaqznpkpxndktwlgmgkmzljyajjsfp",
|
21
20
|
# base_url="https://api.siliconflow.cn/v1",
|
@@ -35,5 +34,3 @@ with timer("bs1"):
|
|
35
34
|
input=["查" * 1000] * 1,
|
36
35
|
model=model
|
37
36
|
)
|
38
|
-
|
39
|
-
|
meutils/apis/hailuoai/videos.py
CHANGED
@@ -114,7 +114,7 @@ async def upload(file: bytes, token: Optional[str] = None, vip: Optional[bool] =
|
|
114
114
|
# 'serviceTime': 1730083971}}
|
115
115
|
|
116
116
|
|
117
|
-
@alru_cache(ttl=
|
117
|
+
@alru_cache(ttl=1 * 24 * 60 * 60)
|
118
118
|
@retrying()
|
119
119
|
async def get_access_token(token: Optional[str] = None, vip: Optional[bool] = True):
|
120
120
|
global BASE_URL, FEISHU_URL
|
meutils/apis/jimeng/common.py
CHANGED
@@ -244,8 +244,8 @@ async def create_draft_content(request: ImageRequest, token: str):
|
|
244
244
|
if __name__ == '__main__':
|
245
245
|
token = "693701c43e477b7c405cc7e2fef0ddbd"
|
246
246
|
token = "eb4d120829cfd3ee957943f63d6152ed"
|
247
|
-
|
248
|
-
arun(check_token(token))
|
247
|
+
arun(get_credit(token))
|
248
|
+
# arun(check_token(token))
|
249
249
|
|
250
250
|
# arun(get_upload_token(token))
|
251
251
|
#
|
@@ -0,0 +1,68 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : images
|
5
|
+
# @Time : 2024/12/16 17:46
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from openai import AsyncClient
|
12
|
+
from meutils.pipe import *
|
13
|
+
from meutils.apis.jimeng.doubao_utils import generate_cookie
|
14
|
+
|
15
|
+
from meutils.schemas.image_types import ImageRequest
|
16
|
+
from meutils.schemas.task_types import TaskResponse
|
17
|
+
from meutils.schemas.jimeng_types import BASE_URL, MODELS_MAP, FEISHU_URL
|
18
|
+
from meutils.apis.jimeng.common import create_draft_content, get_headers, check_token
|
19
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
20
|
+
|
21
|
+
|
22
|
+
async def create():
|
23
|
+
headers = {
|
24
|
+
'agw-js-conv': 'str',
|
25
|
+
'Cookie': 's_v_web_id=verify_m4t9wrdc_qgbhUw0z_07iP_4GFV_8HA7_6jr0e9lLCqQO; passport_csrf_token=8a8aa82fa109ecb3cb25e7afa10de214; passport_csrf_token_default=8a8aa82fa109ecb3cb25e7afa10de214; oauth_token=e45378cb-5afd-4495-88f5-58440e321b48; n_mh=lG4jjJNpPRqpnflIMXQoPMflNZdP31M8fFqgdR9Id5g; uid_tt=1a11a8af13cf1c878482fa862287107c; uid_tt_ss=1a11a8af13cf1c878482fa862287107c; sid_tt=de2215a7bb8e442774cf388f03fac84c; sessionid=de2215a7bb8e442774cf388f03fac84c; sessionid_ss=de2215a7bb8e442774cf388f03fac84c; is_staff_user=false; store-region=cn-js; store-region-src=uid; odin_tt=774fcc6d25d5259fd2af19858e0518c64943eb788718658b403ad8eb13ebbc6ebcb4c42620e87a48b2efb45fe78dc163b82399750898bb201c89f324b9e25b94; passport_auth_status=042935fbff60617ac0735d3ba4cfb559%2C7c535e1ccd98b367728b6560feb66a2e; passport_auth_status_ss=042935fbff60617ac0735d3ba4cfb559%2C7c535e1ccd98b367728b6560feb66a2e; sid_guard=de2215a7bb8e442774cf388f03fac84c%7C1734489199%7C5184000%7CSun%2C+16-Feb-2025+02%3A33%3A19+GMT; sid_ucp_v1=1.0.0-KGQyN2NlYjIxNTA1NTc3ZjI3NWQ2MjZkY2FhNGM3MGM0NzdkNGVjZDMKHwjAreC708zWBBDv6Ii7BhjCsR4gDDDn782qBjgIQCYaAmxxIiBkZTIyMTVhN2JiOGU0NDI3NzRjZjM4OGYwM2ZhYzg0Yw; ssid_ucp_v1=1.0.0-KGQyN2NlYjIxNTA1NTc3ZjI3NWQ2MjZkY2FhNGM3MGM0NzdkNGVjZDMKHwjAreC708zWBBDv6Ii7BhjCsR4gDDDn782qBjgIQCYaAmxxIiBkZTIyMTVhN2JiOGU0NDI3NzRjZjM4OGYwM2ZhYzg0Yw; ttwid=1%7C4rAQ216JOophOdIJRX4cHa6E8FSBjbjqHCKmFCNrQuc%7C1734510550%7C6217dce55189d102c393a4de7022e9ee2e2fa75f211108551b349a0a04532921; passport_fe_beating_status=true; tt_scid=b.csKGNI6QALEo8gG9vJu3nCfptGnLkTxVXPX.wNPQ0q9PaXuKzXfuFQC0i2U7gVa974; gd_random_1831913=eyJtYXRjaCI6ZmFsc2UsInBlcmNlbnQiOjAuMjIzMzcxMDAwNzk1MzUxNzd9.NuOx3z2e4BUOJrwTMG9F3lxrnhmz9jNR6BrhQYU4BhI; gd_random_1525008=eyJtYXRjaCI6ZmFsc2UsInBlcmNlbnQiOjAuMjIzMzcxMDAwNzk1MzUxNzd9.NuOx3z2e4BUOJrwTMG9F3lxrnhmz9jNR6BrhQYU4BhI; gd_random_1831904=eyJtYXRjaCI6ZmFsc2UsInBlcmNlbnQiOjAuMjIzMzcxMDAwNzk1MzUxNzd9.NuOx3z2e4BUOJrwTMG9F3lxrnhmz9jNR6BrhQYU4BhI; msToken=enism5q1i_XLtL8VKKjkjidcvGhyW0U3EGJBI19P3fyqk8NsW4fXW4g8s4TnlgRaF-aWS0kHrmNnENw5L4mFRyyz6A5yZbpR3nCRYJrvBi3-GrtptyOBhznILSv4OO0',
|
26
|
+
'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
|
27
|
+
'content-type': 'application/json'
|
28
|
+
}
|
29
|
+
payload = {
|
30
|
+
"messages": [
|
31
|
+
{
|
32
|
+
"content": "{\"text\":\"颜色反转\"}",
|
33
|
+
"content_type": 2009,
|
34
|
+
"attachments": [
|
35
|
+
{
|
36
|
+
"type": "image",
|
37
|
+
"key": "tos-cn-i-a9rns2rl98/b87240eb828f43f8a87952e8246f2143.png",
|
38
|
+
"extra": {
|
39
|
+
"refer_types": "style"
|
40
|
+
},
|
41
|
+
"identifier": "2c4b5ab0-bd1a-11ef-b0b0-d38662f7353b"
|
42
|
+
}
|
43
|
+
]
|
44
|
+
}
|
45
|
+
],
|
46
|
+
"completion_option": {
|
47
|
+
"is_regen": False,
|
48
|
+
"with_suggest": False,
|
49
|
+
"need_create_conversation": False,
|
50
|
+
"launch_stage": 1,
|
51
|
+
"is_replace": False,
|
52
|
+
"is_delete": False,
|
53
|
+
"message_from": 0,
|
54
|
+
"event_id": "0"
|
55
|
+
},
|
56
|
+
"section_id": "533682637787650",
|
57
|
+
"conversation_id": "533682637787394",
|
58
|
+
"local_message_id": "71ee47b0-bd1c-11ef-b0b0-d38662f7353b"
|
59
|
+
}
|
60
|
+
|
61
|
+
client = AsyncClient(base_url="https://www.doubao.com/samantha", default_headers=headers, api_key='xx')
|
62
|
+
response = await client.post("/chat/completion", body=payload, cast_to=object, stream=True)
|
63
|
+
for i in response:
|
64
|
+
print(i)
|
65
|
+
# return response
|
66
|
+
|
67
|
+
if __name__ == '__main__':
|
68
|
+
arun(create())
|
@@ -7,7 +7,6 @@
|
|
7
7
|
# @WeChat : meutils
|
8
8
|
# @Software : PyCharm
|
9
9
|
# @Description :
|
10
|
-
import httpx
|
11
10
|
|
12
11
|
from meutils.pipe import *
|
13
12
|
import random
|
@@ -16,8 +15,6 @@ import time
|
|
16
15
|
import uuid
|
17
16
|
import secrets
|
18
17
|
import string
|
19
|
-
import hmac
|
20
|
-
import hashlib
|
21
18
|
|
22
19
|
# 常量定义
|
23
20
|
MODEL_NAME = "doubao"
|
@@ -91,6 +88,28 @@ def generate_fake_a_bogus() -> str:
|
|
91
88
|
return f"mf-{generate_random_string(34)}-{generate_random_string(6)}"
|
92
89
|
|
93
90
|
|
91
|
+
def generate_params():
|
92
|
+
params = {
|
93
|
+
"aid": "497858",
|
94
|
+
"device_id": int(DEVICE_ID),
|
95
|
+
"device_platform": "web",
|
96
|
+
"language": "zh",
|
97
|
+
"pkg_type": "release_version",
|
98
|
+
"real_aid": "497858",
|
99
|
+
"region": "CN",
|
100
|
+
"samantha_web": "1",
|
101
|
+
"sys_region": "CN",
|
102
|
+
"tea_uuid": int(WEB_ID),
|
103
|
+
"use-olympus-account": "1",
|
104
|
+
"version_code": "20800",
|
105
|
+
"web_id": int(WEB_ID),
|
106
|
+
"msToken": generate_fake_ms_token(),
|
107
|
+
"a_bogus": generate_fake_a_bogus()
|
108
|
+
}
|
109
|
+
|
110
|
+
return params
|
111
|
+
|
112
|
+
|
94
113
|
def generate_cookie(refresh_token: str, ms_token: Optional[str] = None) -> str:
|
95
114
|
"""
|
96
115
|
生成cookie
|
@@ -133,45 +152,24 @@ async def get_upload_token(): # 3600过期
|
|
133
152
|
url = "https://www.doubao.com/alice/upload/auth_token"
|
134
153
|
|
135
154
|
headers = {
|
136
|
-
'priority': 'u=1, i',
|
137
155
|
'Cookie': cookie,
|
138
|
-
|
156
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
|
139
157
|
}
|
140
158
|
payload = {
|
141
159
|
"scene": "bot_chat",
|
142
160
|
"data_type": "image"
|
143
161
|
}
|
144
162
|
|
145
|
-
async with httpx.AsyncClient() as client:
|
163
|
+
async with httpx.AsyncClient(timeout=60) as client:
|
146
164
|
response = await client.post(url, headers=headers, json=payload)
|
147
165
|
response.raise_for_status()
|
148
166
|
|
149
167
|
return response.json()
|
150
168
|
|
151
169
|
|
152
|
-
def hmac_hash256(key, msg):
|
153
|
-
if type(key) == str:
|
154
|
-
return hmac.new(key.encode('utf-8'), msg.encode('utf-8'), hashlib.sha256)
|
155
|
-
elif type(key) == hmac.HMAC:
|
156
|
-
return hmac.new(key.digest(), msg.encode('utf-8'), hashlib.sha256)
|
157
|
-
|
158
|
-
|
159
|
-
def get_signing_key(secret_access_key, r="cn-north-1", n="imagex"):
|
160
|
-
dt = str(datetime.datetime.now())[:10].replace('-', '')
|
161
|
-
o = hmac_hash256("AWS4" + secret_access_key, dt)
|
162
|
-
i = hmac_hash256(o, str(r))
|
163
|
-
s = hmac_hash256(i, str(n))
|
164
|
-
return hmac_hash256(s, "aws4_request")
|
165
|
-
|
166
|
-
def signature(secret_access_key):
|
167
|
-
r = get_signing_key(secret_access_key)
|
168
|
-
return hmac_hash256(r, self.stringToSign()).hexdigest()
|
169
|
-
|
170
|
-
# ccd4fef2cca1a114e776badad7f4b6e73f305a4dbb09e68f336759ddb6ac0025
|
171
|
-
|
172
170
|
if __name__ == '__main__':
|
173
171
|
# generate_cookie("")
|
174
172
|
|
175
173
|
# arun(get_upload_token())
|
176
|
-
|
177
|
-
print(get_signing_key('xW9YbDhTlWsXdaN7O2g1lfcyePxf5kJyg/r2mwSZG/iuSmbvVgToO6LVCLmUjVJ3'))
|
174
|
+
print(generate_params())
|
175
|
+
# print(get_signing_key('xW9YbDhTlWsXdaN7O2g1lfcyePxf5kJyg/r2mwSZG/iuSmbvVgToO6LVCLmUjVJ3'))
|
meutils/apis/jimeng/files.py
CHANGED
@@ -98,8 +98,10 @@ class JJRequest:
|
|
98
98
|
def upload(image: bytes, upload_token: dict): # oss 跨账号不知道是否可以使用
|
99
99
|
# e = auth = upload_token['data']['auth'] # 豆包
|
100
100
|
data = upload_token['data']
|
101
|
+
service_id = data.get('service_id', '3jr8j4ixpe') # 即梦 3jr8j4ixpe 豆包 a9rns2rl98
|
101
102
|
|
102
|
-
|
103
|
+
if 'auth' in data:
|
104
|
+
data = data['auth']
|
103
105
|
|
104
106
|
session_token = data['session_token']
|
105
107
|
|
@@ -170,11 +172,16 @@ def upload(image: bytes, upload_token: dict): # oss 跨账号不知道是否可
|
|
170
172
|
if __name__ == "__main__":
|
171
173
|
from meutils.apis.jimeng.common import get_upload_token
|
172
174
|
|
173
|
-
|
175
|
+
# 豆包
|
176
|
+
token = "de2215a7bb8e442774cf388f03fac84c"
|
174
177
|
|
178
|
+
# jimeng
|
179
|
+
token = "693701c43e477b7c405cc7e2fef0ddbd"
|
180
|
+
#
|
175
181
|
upload_token = arun(get_upload_token(token))
|
176
182
|
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
183
|
+
#
|
184
|
+
# with open("11.jpg", "rb") as f:
|
185
|
+
# file = image = f.read()
|
186
|
+
#
|
187
|
+
# upload(image, upload_token)
|
meutils/apis/utils.py
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : utils
|
5
|
+
# @Time : 2024/12/20 16:38
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from openai import AsyncClient
|
12
|
+
from meutils.pipe import *
|
13
|
+
|
14
|
+
|
15
|
+
# upstream_base_url: Optional[str] = Header(None),
|
16
|
+
# upstream_api_key: Optional[str] = Header(None),
|
17
|
+
|
18
|
+
async def make_request(
|
19
|
+
base_url: str,
|
20
|
+
path: str,
|
21
|
+
api_key: Optional[str] = None,
|
22
|
+
|
23
|
+
method: str = "GET",
|
24
|
+
headers: Optional[dict] = None,
|
25
|
+
payload: Optional[dict] = None,
|
26
|
+
params: Optional[dict] = None,
|
27
|
+
|
28
|
+
):
|
29
|
+
client = AsyncClient(base_url=base_url, api_key=api_key, default_headers=headers)
|
30
|
+
|
31
|
+
options = {}
|
32
|
+
if params:
|
33
|
+
options["params"] = params
|
34
|
+
|
35
|
+
if method == 'GET':
|
36
|
+
response = await client.get(path, options=options, cast_to=object)
|
37
|
+
return response
|
38
|
+
elif method == 'POST':
|
39
|
+
response = await client.post(path, body=payload, options=options, cast_to=object)
|
40
|
+
return response
|
41
|
+
|
42
|
+
|
43
|
+
if __name__ == '__main__':
|
44
|
+
base_url = "https://api.chatfire.cn/tasks/kling-57751135"
|
45
|
+
base_url = "https://httpbin.org"
|
46
|
+
|
47
|
+
arun(make_request(base_url=base_url, path='/ip'))
|
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : sora
|
5
|
+
# @Time : 2024/12/20 16:10
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
|
13
|
+
|
14
|
+
"/sora/backend/video_gen"
|
15
|
+
|
16
|
+
|
meutils/apis/vidu/vidu_video.py
CHANGED
@@ -218,7 +218,7 @@ if __name__ == '__main__':
|
|
218
218
|
# # token = "_ga=GA1.1.2058758439.1724312077; JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjgzNTAzODAsImlhdCI6MTcyNzA1NDM4MCwiaXNzIjoiaWFtIiwic3ViIjoiMjQyMDA2NTAzNjA5MTgzOSJ9.PkjQqjYB56vYetYwmlagnWn_6bSCwoxCjI7BjfelBOU; Shunt=; sensorsdata2015jssdkcross=dfm-enc-%7B%22Va28a6y8_aV%22%3A%22sSsAAnHAInAGEtIG%22%2C%22gae28_aV%22%3A%22EGEuAnststSEirt-ARSAigSVHIiHVs-EtHsHnIR-sARInAA-EGEuAnststHsIti%22%2C%22OemO2%22%3A%7B%22%24ki8r28_8eiggay_2mbeyr_8cOr%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24ki8r28_2rieyz_lrcMmeV%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24ki8r28_ergreere%22%3A%22%22%7D%2C%22aVr68a8ar2%22%3A%22rc3liZ7ku67OV5kgPsGCiskkDskl3qmawFlJPq0swqfcpXNJPZKSBF0IQXLzWq7lQFQzQZNcBF1SQF3EQqwIBF3MQhwswX08wFlJPq0swqfcpXKcwhzz3aMax9klWZHAiD7HDsJCWskbDskl3qmawqNcwX0sQF0hQq0HwFfhp4xG%22%2C%22za28mec_kmfa6_aV%22%3A%7B%226ior%22%3A%22%24aVr68a8c_kmfa6_aV%22%2C%22Cikbr%22%3A%22sSsAAnHAInAGEtIG%22%7D%7D; _ga_ZJBV7VYP55=GS1.1.1727080335.38.1.1727080510.0.0.0"
|
219
219
|
# token = "JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MjgzNDkyNzQsImlhdCI6MTcyNzA1MzI3NCwiaXNzIjoiaWFtIiwic3ViIjoiMjQyMDg5NjA4MTIwNTkwNyJ9.MRXmSr48PifQgRN1-yTTu8d7Sq1An4OS7G5WoYpJ_PU"
|
220
220
|
|
221
|
-
token = "
|
221
|
+
token = "_ga=GA1.1.2058758439.1724312077; JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzYyMjA4MzgsImlhdCI6MTczNDkyNDgzOCwiaXNzIjoiaWFtIiwic3ViIjoiMjQxODMzMTI4MjA0NTcyOCJ9.ecQl8lcH5mjueG48aZxmqUgxzffHx6l5L3QEve6Z_u0; Shunt=; sensorsdata2015jssdkcross=dfm-enc-%7B%22Va28a6y8_aV%22%3A%22sSEtIIEstsASHRst%22%2C%22gae28_aV%22%3A%22EGEuAnststSEirt-ARSAigSVHIiHVs-EtHsHnIR-sARInAA-EGEuAnststHsIti%22%2C%22OemO2%22%3A%7B%22%24ki8r28_8eiggay_2mbeyr_8cOr%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24ki8r28_2rieyz_lrcMmeV%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24ki8r28_ergreere%22%3A%22%22%7D%2C%22aVr68a8ar2%22%3A%22rc3liZ7ku67OV5kgPsGCiskkDskl3qmawFlJPq0swqfcpXNJPZKSBF0IQXLzWq7lQFQzQZNcBF1SQF3EQqwIBF3MQhwswX08wFlJPq0swqfcpXKcwhzz3aMax9klWZHAiD7HDsJCWskbDskl3qmawqNJpXwhwF3Swq0AQFycpvxG%22%2C%22za28mec_kmfa6_aV%22%3A%7B%226ior%22%3A%22%24aVr68a8c_kmfa6_aV%22%2C%22Cikbr%22%3A%22sSEtIIEstsASHRst%22%7D%7D; _ga_ZJBV7VYP55=GS1.1.1734923743.137.1.1734924845.54.0.0"
|
222
222
|
arun(check_token(token))
|
223
223
|
#
|
224
224
|
# FEISHU_URL = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=rxldsA"
|
meutils/data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2024.12.
|
1
|
+
2024.12.23.15.45.01
|
meutils/data/oneapi/NOTICE.md
CHANGED
@@ -31,6 +31,32 @@
|
|
31
31
|
|
32
32
|
</details>
|
33
33
|
|
34
|
+
## 2024-12-20
|
35
|
+
- 修复SunoV4无水印版本
|
36
|
+
- [异步任务接口文档](https://api.chatfire.cn/docs/api-246593467)
|
37
|
+
- [增加视频解析模型](https://api.chatfire.cn/docs/api-246688638)
|
38
|
+
- 增加高并发mj-fast
|
39
|
+
|
40
|
+
## 2024-12-19
|
41
|
+
- 新增生图模型 SeedEdit(文生图&图生图/图片编辑): 一句话编辑你的世界:字节跳动推出革命性图片编辑工具SeedEdit
|
42
|
+
- [Chat模式接口文档](https://api.chatfire.cn/docs/api-214415540)
|
43
|
+
- [Images接口文档](https://api.chatfire.cn/docs/api-246137616)
|
44
|
+
- [异步任务接口文档](https://api.chatfire.cn/docs/api-246120232)
|
45
|
+
- 新增视觉模型
|
46
|
+
- deepseek-ai/deepseek-vl2
|
47
|
+
- doubao-vision-pro-32k
|
48
|
+
- doubao-vision-lite-32k
|
49
|
+
- 新增视频模型 Sora
|
50
|
+
- Chat模式:`sora-1:1-480p-5s`
|
51
|
+
- 异步任务接口在路上
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
---
|
56
|
+
|
57
|
+
<details markdown="1">
|
58
|
+
<summary><b>历史更新</b></summary>
|
59
|
+
|
34
60
|
## 2024-12-13
|
35
61
|
- 新增模型 混元视频(支持高并发,非逆向可商用,限时特价1毛)[接口文档](https://api.chatfire.cn/docs/api-244309840)
|
36
62
|
HunyuanVideo 是腾讯推出的开源视频生成基础模型,拥有超过 130 亿参数,是目前最大的开源视频生成模型。该模型采用统一的图像和视频生成架构,集成了数据整理、图像-视频联合模型训练和高效基础设施等关键技术。模型使用多模态大语言模型作为文本编码器,通过 3D VAE 进行空间-时间压缩,并提供提示词重写功能。根据专业人工评估结果,HunyuanVideo 在文本对齐、运动质量和视觉质量等方面的表现优于现有最先进的模型
|
@@ -46,14 +72,6 @@
|
|
46
72
|
- o1-plus: (官网 plus 版本 `逆向工程`,有思考过程显示)o1 是OpenAI针对复杂任务的新推理模型,该任务需要广泛的常识。该模型具有 200k 上下文,目前全球最强模型,支持图片识别
|
47
73
|
- o1-pro: (官网 200刀 plus 版本 `逆向工程`,有思考过程显示)o1-pro 是OpenAI针对复杂任务的新推理模型,该任务需要广泛的常识。该模型具有 200k 上下文,目前全球最强模型,支持图片识别
|
48
74
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
---
|
53
|
-
|
54
|
-
<details markdown="1">
|
55
|
-
<summary><b>历史更新</b></summary>
|
56
|
-
|
57
75
|
## 2024-12-05
|
58
76
|
- 新增模型gpt-4-plus/gpt-4o-plus按倍率计算
|
59
77
|
> OpenAI-plus会员 逆向工程
|
meutils/schemas/oneapi/common.py
CHANGED
@@ -14,6 +14,7 @@ from meutils.data.oneapi import NOTICE, FOOTER
|
|
14
14
|
BASE_URL = "https://api.chatfire.cn"
|
15
15
|
# BASE_URL = "https://api-dev.chatfire.cn"
|
16
16
|
FREE = 0.001
|
17
|
+
MJ = 1.5
|
17
18
|
|
18
19
|
MODEL_PRICE = {
|
19
20
|
# chatfire
|
@@ -26,6 +27,8 @@ MODEL_PRICE = {
|
|
26
27
|
"chatfire-all": 0.0001,
|
27
28
|
"chatfire-law": 0.01,
|
28
29
|
|
30
|
+
"sora-1:1-480p-5s": 1.2,
|
31
|
+
|
29
32
|
# 虚拟换衣fish
|
30
33
|
"api-kolors-virtual-try-on": 0.1,
|
31
34
|
"official-api-kolors-virtual-try-on": 0.8,
|
@@ -162,17 +165,8 @@ MODEL_PRICE = {
|
|
162
165
|
"api-translator": 0.0001,
|
163
166
|
"api-voice-clone": 0.01,
|
164
167
|
|
165
|
-
"
|
166
|
-
"
|
167
|
-
"api-sunoai-lyrics": 0.01,
|
168
|
-
"api-sunoai-cover": 0.01,
|
169
|
-
"api-sunoai-stems": 0.01,
|
170
|
-
|
171
|
-
"suno-v3": 0.1,
|
172
|
-
"suno-v3.5": 0.1,
|
173
|
-
"suno-chat": 0.1,
|
174
|
-
"chirp-v3": 0.1,
|
175
|
-
"chirp-v3.5": 0.1,
|
168
|
+
"suno_music": 0.5,
|
169
|
+
"suno_lyrics": 0.01,
|
176
170
|
|
177
171
|
"api-reranker": 0.01,
|
178
172
|
|
@@ -181,7 +175,7 @@ MODEL_PRICE = {
|
|
181
175
|
"o1-pro": 0.5,
|
182
176
|
|
183
177
|
"o1-mini-all": 0.2,
|
184
|
-
"o1-preview-all": 0.
|
178
|
+
"o1-preview-all": 0.5,
|
185
179
|
|
186
180
|
"gpt-4-all": 0.1,
|
187
181
|
"gpt-4o-all": 0.1,
|
@@ -224,24 +218,22 @@ MODEL_PRICE = {
|
|
224
218
|
"ai-search-pro": 0.1,
|
225
219
|
"ai-search-pro:scholar": 0.1,
|
226
220
|
|
227
|
-
"
|
228
|
-
|
229
|
-
"
|
230
|
-
"
|
231
|
-
"
|
232
|
-
"
|
233
|
-
"mj_pan": 0.1 * 0.6,
|
234
|
-
"mj_blend": 0.1 * 0.6,
|
221
|
+
"mj_imagine": 0.1 * MJ,
|
222
|
+
"mj_variation": 0.1 * MJ,
|
223
|
+
"mj_high_variation": 0.1 * MJ,
|
224
|
+
"mj_low_variation": 0.1 * MJ,
|
225
|
+
"mj_pan": 0.1 * MJ,
|
226
|
+
"mj_blend": 0.1 * MJ,
|
235
227
|
"mj_inpaint": 0,
|
236
|
-
"mj_reroll": 0.1 *
|
228
|
+
"mj_reroll": 0.1 * MJ,
|
237
229
|
|
238
|
-
"mj_upscale": 0.05 *
|
230
|
+
"mj_upscale": 0.05 * MJ,
|
239
231
|
"mj_custom_zoom": 0,
|
240
|
-
"mj_describe": 0.05 *
|
241
|
-
"mj_modal": 0.1 *
|
242
|
-
"mj_shorten": 0.1 *
|
243
|
-
"mj_zoom": 0.1 *
|
244
|
-
"swap_face": 0.05 *
|
232
|
+
"mj_describe": 0.05 * MJ,
|
233
|
+
"mj_modal": 0.1 * MJ,
|
234
|
+
"mj_shorten": 0.1 * MJ,
|
235
|
+
"mj_zoom": 0.1 * MJ,
|
236
|
+
"swap_face": 0.05 * MJ,
|
245
237
|
|
246
238
|
}
|
247
239
|
|
@@ -302,7 +294,7 @@ MODEL_RATIO = {
|
|
302
294
|
"glm-4-0520": 2.5,
|
303
295
|
"glm-4-airx": 10,
|
304
296
|
"glm-4v": 2.5,
|
305
|
-
"glm-4v-plus":
|
297
|
+
"glm-4v-plus": 2.5, # 2.5
|
306
298
|
"glm-4v-flash": 0.1,
|
307
299
|
"glm-4-plus": 25,
|
308
300
|
|
@@ -313,7 +305,7 @@ MODEL_RATIO = {
|
|
313
305
|
|
314
306
|
# 阿里千问 https://dashscope.console.aliyun.com/billing
|
315
307
|
"qwen-long": 0.5,
|
316
|
-
"qwen-turbo":
|
308
|
+
"qwen-turbo": 0.05,
|
317
309
|
"qwen-plus": 2,
|
318
310
|
"qwen-max": 20,
|
319
311
|
"qwen-max-longcontext": 20,
|
@@ -384,6 +376,7 @@ MODEL_RATIO = {
|
|
384
376
|
'deepseek-coder-v2-instruct': 0.5,
|
385
377
|
'deepseek-v2-chat': 0.5,
|
386
378
|
'deepseek-llm-67b-chat': 0.5,
|
379
|
+
"deepseek-ai/deepseek-vl2": 0.5,
|
387
380
|
|
388
381
|
# 豆包
|
389
382
|
"doubao-lite-128k": 0.4,
|
@@ -392,6 +385,8 @@ MODEL_RATIO = {
|
|
392
385
|
"doubao-pro-128k": 2.5,
|
393
386
|
"doubao-pro-32k": 0.4,
|
394
387
|
"doubao-pro-4k": 0.4,
|
388
|
+
"doubao-vision-lite-32k": 0.75,
|
389
|
+
"doubao-vision-pro-32k": 1.5,
|
395
390
|
|
396
391
|
# 商汤 https://platform.sensenova.cn/pricing
|
397
392
|
# https://platform.sensenova.cn/doc?path=/pricingdoc/pricing.md
|
@@ -641,6 +636,10 @@ COMPLETION_RATIO = {
|
|
641
636
|
"qwen-max": 5,
|
642
637
|
"glm-4v-flash": 5,
|
643
638
|
|
639
|
+
"deepseek-ai/deepseek-vl2": 3,
|
640
|
+
"doubao-vision-lite-32k": 3,
|
641
|
+
"doubao-vision-pro-32k": 3,
|
642
|
+
|
644
643
|
}
|
645
644
|
|
646
645
|
REDIRECT_MODEL = {
|
@@ -657,9 +656,9 @@ REDIRECT_MODEL = {
|
|
657
656
|
'glm-4-9b-chat': 'THUDM/glm-4-9b-chat', # 永久免费
|
658
657
|
'chatglm3-6b': 'THUDM/chatglm3-6b', # 永久免费
|
659
658
|
|
660
|
-
"doubao-pro-128k": "deepseek-ai/DeepSeek-V2-Chat",
|
661
659
|
# "deepseek-chat": "deepseek-ai/DeepSeek-V2-Chat",
|
662
660
|
"deepseek-chat": "deepseek-ai/DeepSeek-V2.5",
|
661
|
+
"deepseek-vl2": "deepseek-ai/deepseek-vl2",
|
663
662
|
|
664
663
|
"deepseek-coder": "deepseek-ai/DeepSeek-Coder-V2-Instruct",
|
665
664
|
'deepseek-coder-v2-instruct': 'deepseek-ai/DeepSeek-Coder-V2-Instruct',
|
@@ -706,7 +705,7 @@ REDIRECT_MODEL = {
|
|
706
705
|
"qwen2.5-coder-7b-instruct": "Qwen/Qwen2.5-Coder-7B-Instruct",
|
707
706
|
"qwen2.5-coder-32b-instruct": "Qwen/Qwen2.5-Coder-32B-Instruct",
|
708
707
|
|
709
|
-
"qwen-turbo": "Qwen/Qwen2-7B-Instruct",
|
708
|
+
"qwen-turbo": "Qwen/Qwen2.5-7B-Instruct",
|
710
709
|
'qwen2-1.5b-instruct': 'Qwen/Qwen2-1.5B-Instruct',
|
711
710
|
'qwen2-7b-instruct': 'Qwen/Qwen2-7B-Instruct',
|
712
711
|
'qwen2-72b-instruct': 'Qwen/Qwen2-72B-Instruct',
|
@@ -0,0 +1,20 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : request_types
|
5
|
+
# @Time : 2024/12/20 16:29
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
|
13
|
+
# requests.request()
|
14
|
+
|
15
|
+
|
16
|
+
class RequestTypes(BaseModel):
|
17
|
+
method: str = "POST"
|
18
|
+
|
19
|
+
base_url: str
|
20
|
+
api_key: Optional[str] = None
|
meutils/schemas/vidu_types.py
CHANGED
@@ -59,8 +59,39 @@ EXAMPLES = [
|
|
59
59
|
]
|
60
60
|
|
61
61
|
|
62
|
+
# {
|
63
|
+
# "input": {
|
64
|
+
# "prompts": [
|
65
|
+
# {
|
66
|
+
# "type": "text",
|
67
|
+
# "content": "跳起来"
|
68
|
+
# },
|
69
|
+
# {
|
70
|
+
# "type": "image",
|
71
|
+
# "content": "https://oss.ffire.cc/files/kling_watermark.png",
|
72
|
+
# "src_imgs": [
|
73
|
+
# "https://oss.ffire.cc/files/kling_watermark.png"
|
74
|
+
# ]
|
75
|
+
# }
|
76
|
+
# ],
|
77
|
+
# "enhance": true
|
78
|
+
# },
|
79
|
+
# "type": "img2video",
|
80
|
+
# "settings": {
|
81
|
+
# "style": "general",
|
82
|
+
# "duration": 4,
|
83
|
+
# "model": "vidu-high-performance",
|
84
|
+
# "model_version": "1.0"
|
85
|
+
# }
|
86
|
+
# }
|
87
|
+
|
88
|
+
class VideoRequest(BaseModel):
|
89
|
+
pass
|
90
|
+
|
91
|
+
|
62
92
|
class ViduRequest(BaseModel):
|
63
|
-
|
93
|
+
"""quality 倍率2"""
|
94
|
+
model: Union[str, Literal['vidu-high-performance', 'vidu-high-quality']] = "vidu-high-performance" # vidu-1.5
|
64
95
|
|
65
96
|
prompt: Optional[str] = None
|
66
97
|
url: Optional[str] = None # ssupload:?id=
|
@@ -94,24 +125,30 @@ class ViduRequest(BaseModel):
|
|
94
125
|
)
|
95
126
|
type = "text2video"
|
96
127
|
if self.url:
|
128
|
+
type = "img2video" # character2video
|
129
|
+
|
97
130
|
input['prompts'].append(
|
98
131
|
{
|
99
132
|
"type": "image",
|
100
133
|
"content": self.url,
|
101
|
-
|
102
|
-
# "src_img": "ssupload:?id=2467831032322652"
|
134
|
+
"src_img": [self.url, ]
|
103
135
|
}
|
104
136
|
)
|
105
|
-
type = "img2video" # character2video
|
106
137
|
|
107
138
|
self.payload = {
|
108
139
|
"input": input,
|
109
140
|
"type": self.type or type,
|
110
141
|
"settings": {
|
142
|
+
"model": self.model,
|
143
|
+
"model_version": "1.0",
|
144
|
+
# "resolution": "512", 1.5才有的参数 先适配1.0
|
145
|
+
|
111
146
|
"style": self.style,
|
112
|
-
|
147
|
+
|
148
|
+
# "aspect_ratio": self.aspect_ratio,
|
149
|
+
|
113
150
|
"duration": self.duration,
|
114
|
-
|
151
|
+
|
115
152
|
}
|
116
153
|
}
|
117
154
|
|
meutils/apis/jimeng/sig.py
DELETED
@@ -1,92 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python
|
2
|
-
# -*- coding: utf-8 -*-
|
3
|
-
# @Project : AI. @by PyCharm
|
4
|
-
# @File : sig
|
5
|
-
# @Time : 2024/12/18 15:36
|
6
|
-
# @Author : betterme
|
7
|
-
# @WeChat : meutils
|
8
|
-
# @Software : PyCharm
|
9
|
-
# @Description :
|
10
|
-
import hashlib
|
11
|
-
import hmac
|
12
|
-
import datetime
|
13
|
-
|
14
|
-
|
15
|
-
def sign(key, msg):
|
16
|
-
return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest()
|
17
|
-
|
18
|
-
|
19
|
-
def getSignatureKey(key, dateStamp, regionName, serviceName):
|
20
|
-
kDate = sign(('AWS4' + key).encode('utf-8'), dateStamp)
|
21
|
-
kRegion = sign(kDate, regionName)
|
22
|
-
kService = sign(kRegion, serviceName)
|
23
|
-
kSigning = sign(kService, 'aws4_request')
|
24
|
-
return kSigning
|
25
|
-
|
26
|
-
|
27
|
-
if __name__ == '__main__':
|
28
|
-
pass
|
29
|
-
from meutils.pipe import *
|
30
|
-
from meutils.apis.jimeng.utils import get_upload_token
|
31
|
-
|
32
|
-
# data = arun(get_upload_token())
|
33
|
-
|
34
|
-
# access_key_id = data['data']['auth']['access_key_id']
|
35
|
-
# secret_access_key = data['data']['auth']['secret_access_key']
|
36
|
-
# session_token = data['data']['auth']['session_token']
|
37
|
-
|
38
|
-
import hashlib
|
39
|
-
import hmac
|
40
|
-
import datetime
|
41
|
-
|
42
|
-
|
43
|
-
def sign(key, msg):
|
44
|
-
"""计算 HMAC-SHA256"""
|
45
|
-
return hmac.new(key, msg.encode('utf-8'), hashlib.sha256).digest()
|
46
|
-
|
47
|
-
|
48
|
-
def getSignatureKey(key, dateStamp, regionName, serviceName):
|
49
|
-
"""生成签名密钥"""
|
50
|
-
kDate = sign(('AWS4' + key).encode('utf-8'), dateStamp)
|
51
|
-
kRegion = sign(kDate, regionName)
|
52
|
-
kService = sign(kRegion, serviceName)
|
53
|
-
kSigning = sign(kService, 'aws4_request')
|
54
|
-
return kSigning
|
55
|
-
|
56
|
-
|
57
|
-
def calculate_signature(string_to_sign, secret_key, region, service, date):
|
58
|
-
"""计算 AWS4-HMAC-SHA256 签名"""
|
59
|
-
# 生成签名密钥
|
60
|
-
signing_key = getSignatureKey(
|
61
|
-
secret_key,
|
62
|
-
date.strftime('%Y%m%d'),
|
63
|
-
region,
|
64
|
-
service
|
65
|
-
)
|
66
|
-
|
67
|
-
# 计算最终签名
|
68
|
-
signature = hmac.new(
|
69
|
-
signing_key,
|
70
|
-
string_to_sign.encode('utf-8'),
|
71
|
-
hashlib.sha256
|
72
|
-
).hexdigest()
|
73
|
-
|
74
|
-
return signature
|
75
|
-
|
76
|
-
# 示例参数
|
77
|
-
|
78
|
-
|
79
|
-
secret_key = 'AKTPN2VkZWY2MWNhNjVlNGZhZThiZmVmNzEwODA3YjM1YTY'
|
80
|
-
region = 'cn-north-1'
|
81
|
-
service = 'imagex'
|
82
|
-
date = datetime.datetime.utcnow()
|
83
|
-
print(date)
|
84
|
-
hash_of_canonical_request = {
|
85
|
-
"SessionKey": "eyJhY2NvdW50VHlwZSI6IkltYWdlWCIsImFwcElkIjoiIiwiYml6VHlwZSI6IiIsImZpbGVUeXBlIjoiaW1hZ2UiLCJsZWdhbCI6IiIsInN0b3JlSW5mb3MiOiJbe1wiU3RvcmVVcmlcIjpcInRvcy1jbi1pLWE5cm5zMnJsOTgvYmQzZGNlZWIzN2Y3NDA5NjlkMTBiZjBiZjhhMzk0NmUuanBlZ1wiLFwiQXV0aFwiOlwiU3BhY2VLZXkvYTlybnMycmw5OC8xLzp2ZXJzaW9uOnYyOmV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpsZUhBaU9qRTNNelExTXpBd016Z3NJbk5wWjI1aGRIVnlaVWx1Wm04aU9uc2lZV05qWlhOelMyVjVJam9pWm1GclpWOWhZMk5sYzNOZmEyVjVJaXdpWW5WamEyVjBJam9pZEc5ekxXTnVMV2t0WVRseWJuTXljbXc1T0NJc0ltVjRjR2x5WlNJNk1UY3pORFV6TURBek9Dd2labWxzWlVsdVptOXpJanBiZXlKdmFXUkxaWGtpT2lKaVpETmtZMlZsWWpNM1pqYzBNRGsyT1dReE1HSm1NR0ptT0dFek9UUTJaUzVxY0dWbklpd2labWxzWlZSNWNHVWlPaUl4SW4xZExDSmxlSFJ5WVNJNmV5SmliRzlqYTE5dGIyUmxJam9pSWl3aVkyOXVkR1Z1ZEY5MGVYQmxYMkpzYjJOcklqb2llMXdpYldsdFpWOXdZM1JjSWpvd0xGd2liVzlrWlZ3aU9qQXNYQ0p0YVcxbFgyeHBjM1JjSWpwdWRXeHNMRndpWTI5dVpteHBZM1JmWW14dlkydGNJanBtWVd4elpYMGlMQ0psYm1OeWVYQjBYMkZzWjI4aU9pSWlMQ0psYm1OeWVYQjBYMnRsZVNJNklpSXNJbVY0ZEY5amIyNTBaVzUwWDNSNWNHVWlPaUpwYldGblpTOXFjR1ZuSWl3aWFYTmZhVzFoWjJWNElqcDBjblZsTENKemNHRmpaU0k2SW1FNWNtNXpNbkpzT1RnaWZYMTkueVFadDJoYWFVMDBuMTFZREJXZDBCbTNIYWdtVlNUN0UzNXMwSkNnOGpzMFwiLFwiVXBsb2FkSURcIjpcIjE3ZThiODUxNzczNDRlYjFiYmM1MDAzMWU3NzQ3NGUyXCIsXCJVcGxvYWRIZWFkZXJcIjpudWxsLFwiU3RvcmFnZUhlYWRlclwiOm51bGx9XSIsInVwbG9hZEhvc3QiOiJ0b3MtZC14LWxmLnNuc3Nkay5jb20iLCJ1cmkiOiJ0b3MtY24taS1hOXJuczJybDk4L2JkM2RjZWViMzdmNzQwOTY5ZDEwYmYwYmY4YTM5NDZlLmpwZWciLCJ1c2VySWQiOiIifQ=="
|
86
|
-
}
|
87
|
-
hash_of_canonical_request = json.dumps(hash_of_canonical_request)
|
88
|
-
string_to_sign = f'AWS4-HMAC-SHA256\n20241218T075358Z\n20241218/cn-north-1/imagex/aws4_request\n{hash_of_canonical_request}'
|
89
|
-
|
90
|
-
# 计算签名
|
91
|
-
signature = calculate_signature(string_to_sign, secret_key, region, service, date)
|
92
|
-
print(f'签名结果: {signature}')
|
File without changes
|
File without changes
|
{MeUtils-2024.12.19.11.26.58.dist-info → MeUtils-2024.12.23.15.45.1.dist-info}/entry_points.txt
RENAMED
File without changes
|
{MeUtils-2024.12.19.11.26.58.dist-info → MeUtils-2024.12.23.15.45.1.dist-info}/top_level.txt
RENAMED
File without changes
|