MeUtils 2025.3.14.8.43.3__py3-none-any.whl → 2025.3.19.19.13.35__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-2025.3.14.8.43.3.dist-info → MeUtils-2025.3.19.19.13.35.dist-info}/METADATA +264 -264
- {MeUtils-2025.3.14.8.43.3.dist-info → MeUtils-2025.3.19.19.13.35.dist-info}/RECORD +43 -45
- apps/xfPPT_demo.py +251 -0
- examples/_openaisdk/4v.py +11 -6
- examples/_openaisdk/openai_chatfire.py +4 -3
- examples/_openaisdk/openai_embeddings.py +25 -7
- examples/_openaisdk/openai_siliconflow.py +1 -1
- examples/_openaisdk/zhipu_/346/231/272/350/203/275/344/275/223.py +76 -13
- meutils/apis/jimeng/common.py +2 -0
- meutils/apis/jimeng/images.py +6 -6
- meutils/apis/jina/__init__.py +11 -0
- meutils/apis/jina/common.py +43 -0
- meutils/apis/oneapi/channel.py +3 -2
- meutils/apis/oneapi/user.py +1 -1
- meutils/apis/search/_web_search.py +87 -0
- meutils/apis/search/metaso.py +9 -2
- meutils/apis/search/web_search.py +132 -0
- meutils/apis/siliconflow/image_to_image.py +3 -3
- meutils/apis/siliconflow/images.py +4 -2
- meutils/apis/siliconflow/text_to_image.py +1 -1
- meutils/apis/siliconflow/utils.py +1 -1
- meutils/config_utils/lark_utils/common.py +6 -2
- meutils/data/VERSION +1 -1
- meutils/data/oneapi/index.html +9 -0
- meutils/io/files_utils.py +12 -1
- meutils/io/openai_files.py +26 -1
- meutils/llm/check_api.py +1 -1
- meutils/llm/check_utils.py +13 -4
- meutils/llm/clients.py +23 -0
- meutils/llm/completions/{oi.py → assistants/__init__.py} +2 -7
- meutils/llm/completions/assistants/ppt.py +11 -0
- meutils/llm/completions/chat_gemini.py +1 -0
- meutils/llm/completions/chat_plus.py +162 -49
- meutils/llm/completions/chat_spark.py +3 -10
- meutils/llm/completions/qwenllm.py +11 -6
- meutils/request_utils/crawler.py +11 -11
- meutils/schemas/oneapi/common.py +9 -1
- meutils/schemas/openai_types.py +26 -4
- meutils/schemas/siliconflow_types.py +1 -1
- meutils/apis/search/zhipu.py +0 -80
- meutils/llm/completions/qwen_demo.py +0 -26
- meutils/other/aiomultiprocess/__init__.py +0 -14
- meutils/other/aiomultiprocess/__version__.py +0 -1
- meutils/other/aiomultiprocess/core.py +0 -241
- meutils/other/aiomultiprocess/pool.py +0 -379
- meutils/other/aiomultiprocess/scheduler.py +0 -83
- meutils/other/aiomultiprocess/types.py +0 -48
- {MeUtils-2025.3.14.8.43.3.dist-info → MeUtils-2025.3.19.19.13.35.dist-info}/LICENSE +0 -0
- {MeUtils-2025.3.14.8.43.3.dist-info → MeUtils-2025.3.19.19.13.35.dist-info}/WHEEL +0 -0
- {MeUtils-2025.3.14.8.43.3.dist-info → MeUtils-2025.3.19.19.13.35.dist-info}/entry_points.txt +0 -0
- {MeUtils-2025.3.14.8.43.3.dist-info → MeUtils-2025.3.19.19.13.35.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,6 @@
|
|
1
1
|
apps/__init__.py,sha256=6TwkuFgKafDZrNMtD3xe5liiNkNRB34mFBXxICbdPsw,271
|
2
2
|
apps/spider.py,sha256=Qvfd8LEfqvtE8Z8fY7hgJfOUtBassJhCToGiCARtM4Y,1139
|
3
|
+
apps/xfPPT_demo.py,sha256=-W5LbSrt2GBZ3ojq6P24nivdiOfI8vwolw-O7yOyUKY,10306
|
3
4
|
examples/__init__.py,sha256=qcNIwrjAAGqLJP3F0YcEJftLpBSQoBMfnmDlNXsBSNI,250
|
4
5
|
examples/args_demo.py,sha256=fPI_h8V2fxEpHin9WfJn6cRzitbbP5Pv6fVfFJkfUAg,1331
|
5
6
|
examples/backgroundtasks.py,sha256=N6Z-uGZLa8ULr4FGomxP1tGifSTKIXq6vvtOJ7Ixw7U,632
|
@@ -70,7 +71,7 @@ examples/Time-Extractor/TimeUnit.py,sha256=yx-SS9sxSjSUGiu1H8eTbP4vqAHrNyQcddioM
|
|
70
71
|
examples/Time-Extractor/__init__.py,sha256=hjNi8tWPOBTke6GHlxpsOrufCRdAHmYs2yBquql9X7c,156
|
71
72
|
examples/Time-Extractor/setup.py,sha256=ENYhj1_uJ7z_F3jrz8FR8w5u2SEXrZpl5GXEELUymLk,811
|
72
73
|
examples/Time-Extractor/resource/__init__.py,sha256=0HHkZVghckIg5LkGMziooZ8TUqfSQFA6j62BN9KyFp0,91
|
73
|
-
examples/_openaisdk/4v.py,sha256=
|
74
|
+
examples/_openaisdk/4v.py,sha256=TVOPwE1go0qqQUrDgVdknsYK9th-gafi73G9AJkMqG0,3620
|
74
75
|
examples/_openaisdk/__init__.py,sha256=5TNibGR-ETncXVWoevqYJ0m2yo1GOxRx3hSu2qWAQNo,271
|
75
76
|
examples/_openaisdk/_openai_chatfire.py,sha256=hvz7Xw329xDDRHbenJohyhK5GGlXr0lA9dplXiwp4Q0,1240
|
76
77
|
examples/_openaisdk/baichuan.py,sha256=xmNFc64T02r9wE0VSOG0B21wJJmlrecKVVCelhs2Dt4,890
|
@@ -95,13 +96,13 @@ examples/_openaisdk/openai_audio.py,sha256=Fcp-k4CzU0oB7vDKldRLwUCIRIwwVn_w9CmbE
|
|
95
96
|
examples/_openaisdk/openai_baichuan.py,sha256=-xhHovkFmWOTX25CJjIon0my-ocmwfAZJu1C0eS80Xs,1614
|
96
97
|
examples/_openaisdk/openai_baidu.py,sha256=qnrxP66lY7Qf2jEbFEHrt0FrR5_Aji1AgwSI_46IabY,1969
|
97
98
|
examples/_openaisdk/openai_cache.py,sha256=89GbJ1QlqQbVxlUeuFgEbwDYHOkum7BK0zB-CqmDAZU,726
|
98
|
-
examples/_openaisdk/openai_chatfire.py,sha256=
|
99
|
+
examples/_openaisdk/openai_chatfire.py,sha256=PZF_F5KZKS8EPWgnUtDAfG0vnFv79z0WETu1ZdIunYo,19014
|
99
100
|
examples/_openaisdk/openai_chatfire_all.py,sha256=DaiI1NfDeK655QvXyczkgXK9Awxp7NBe71LHA7trxGE,4831
|
100
101
|
examples/_openaisdk/openai_dashscope.py,sha256=m9SjQpaNgYwr4Qd3XusWbJBGp5ZTtpuB40QopejxPKQ,1029
|
101
102
|
examples/_openaisdk/openai_deepinfra.py,sha256=innI4BT15dZEqheqDHG4lHDczY1QC7t2Whcavi1pcz0,1195
|
102
103
|
examples/_openaisdk/openai_deepseek.py,sha256=0IbHh2F6eVDs-i8gP8x8wj6s9R6CzOGN7QrCp1EuB5k,2086
|
103
104
|
examples/_openaisdk/openai_doubao.py,sha256=IKM929LKgYm2fXbCIvuX4ZPpUkm2igcdhJujV49XCaQ,1341
|
104
|
-
examples/_openaisdk/openai_embeddings.py,sha256=
|
105
|
+
examples/_openaisdk/openai_embeddings.py,sha256=IRMAWSQxgnWiOON5YXb9AFraZgI-5tsplOXQrw6Lgx4,1232
|
105
106
|
examples/_openaisdk/openai_ep.py,sha256=cAaeyC8Lstk1MB36c4h7X9n7EnEnY7rr2Tugo_diT3M,726
|
106
107
|
examples/_openaisdk/openai_files.py,sha256=zcF4k4sQ2FnINhq6x1wCKw1WCu93g1h69Yul_rLdakE,2058
|
107
108
|
examples/_openaisdk/openai_gitee.py,sha256=UQEJMQMQDhgqYzo_aYetYXnBmVtqRwIweJDDK3NlSMw,1205
|
@@ -121,7 +122,7 @@ examples/_openaisdk/openai_ppu.py,sha256=cpr__WVlOrm2w1WjRV7v0rux4oiJkaqBnUZImR6
|
|
121
122
|
examples/_openaisdk/openai_qwen.py,sha256=OzYJbHcTQ-vd81GcOdUAt0TqzA5lr5zkPhhzM7jPHDk,2009
|
122
123
|
examples/_openaisdk/openai_search.py,sha256=HKRTU6y9j_nUfZgrJt2eZ84d7TVT39WN-dcA_BFkVb4,937
|
123
124
|
examples/_openaisdk/openai_sensenova.py,sha256=TnJpHcD1tG5w_x5DsgFgBRWrU8XUkww0uCebgNFfZDM,3216
|
124
|
-
examples/_openaisdk/openai_siliconflow.py,sha256=
|
125
|
+
examples/_openaisdk/openai_siliconflow.py,sha256=99wFw4cJVAjHWoZzIzyGt1yhucdHnzyx77FSXmCDYNA,1441
|
125
126
|
examples/_openaisdk/openai_step.py,sha256=rwXrGRs5CHhWpNl9oeIHltErp1Or_B3PVKNAoMGY-0c,1054
|
126
127
|
examples/_openaisdk/openai_test.py,sha256=gjPveJYkI_MqCePoVZ6kNlEEChRgedE2hzMkN7gZuqI,1909
|
127
128
|
examples/_openaisdk/openai_together.py,sha256=o9FQKDdLwx8L0zMxrceIakymT2GqFfZ2v4UjVaLyB8M,1591
|
@@ -137,7 +138,7 @@ examples/_openaisdk/testDeepseek.py,sha256=TH_Lu0-oi2uqlEtXJ-VbPjdm1XkkF3vEFH3TC
|
|
137
138
|
examples/_openaisdk/x.py,sha256=IdhHsmyd-uZx5UohfWa_g467kZeR1Pkec42z3bW-3Iw,4752
|
138
139
|
examples/_openaisdk/xx.py,sha256=DvU98YbhmFJZ3xWqK4NOAafNqOJLu2ehQycCRLEXVUg,645
|
139
140
|
examples/_openaisdk/zhipu_files.py,sha256=HLvlM9CDcmNER5w-MBMLQPZVPJjR2UHRXYA3ru2cT2Q,1057
|
140
|
-
examples/_openaisdk/zhipu_智能体.py,sha256=
|
141
|
+
examples/_openaisdk/zhipu_智能体.py,sha256=qbTmpqRBGNdpldhyIFPgsN8-dyKcKKZT03SQZvzEWSg,3242
|
141
142
|
examples/_openaisdk/兜底测试.py,sha256=7vIOZDj-iB5dJjfJtHe_A-3D7ZUmOSiryI7ciIp0EzE,2878
|
142
143
|
examples/_openaisdk/多模态测试.py,sha256=XNHvC9Qbw3tUZ_i8shyEx3a6T3FFDsTyIIkm3rO0R38,2559
|
143
144
|
examples/_openaisdk/多模态测试_.py,sha256=7mh9dnpSApqmrriQ9-q4jY8uHfplsrjyGSXb8b-Zt9o,1276
|
@@ -393,12 +394,14 @@ meutils/apis/jiema/24mail.py,sha256=GUszRtoDe3T9q-X4embwT5YhcjgQ3XnkTJMKX93sCF4,
|
|
393
394
|
meutils/apis/jiema/__init__.py,sha256=YBybggoDRYCNYcwJOypxR7MzfTjIhqO7BkGlTt7NDo4,271
|
394
395
|
meutils/apis/jiema/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
|
395
396
|
meutils/apis/jimeng/__init__.py,sha256=a8CE_cOl9jqal0hycwaLm4Mnga8jmZlz9nCze_9bBqA,272
|
396
|
-
meutils/apis/jimeng/common.py,sha256=
|
397
|
+
meutils/apis/jimeng/common.py,sha256=Dr6BmCT9uRw89jgIwECe7dKNZpJIGUBJXzRzK-1b-hw,6904
|
397
398
|
meutils/apis/jimeng/doubao.py,sha256=5OdnBpmZQOCLIb6lnN8YrL7J7E0XF47q0UF-z6asSuI,4295
|
398
399
|
meutils/apis/jimeng/doubao_utils.py,sha256=XCHnvwfCOtJmPQuzDOCfKDMP_Pcqh-Y4w2h5f7Y2gzM,5999
|
399
400
|
meutils/apis/jimeng/files.py,sha256=E-pPmi6fIP_n6wgfiDbqeWsIfrXVZUe7LpA6Wds1xDI,11047
|
400
|
-
meutils/apis/jimeng/images.py,sha256=
|
401
|
+
meutils/apis/jimeng/images.py,sha256=m0b9sFxWtSJPbLOFg9B8ECV17cMcCgHs9m5SCySeYNE,13259
|
401
402
|
meutils/apis/jimeng/videos.py,sha256=x-PDOYNBN-yTmNvMbyDbwm_E2LXZ6A4hcVzEahV_Hvc,10813
|
403
|
+
meutils/apis/jina/__init__.py,sha256=WnZ4LOv-bzC1brd5FZHOHmgq4c0UaFbnksEj2_LzXxQ,292
|
404
|
+
meutils/apis/jina/common.py,sha256=Eerewy0_3AxSoO5-Zv2wcWbjAlzmnvwK5vnEfQPts-M,1024
|
402
405
|
meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vio,271
|
403
406
|
meutils/apis/kling/api.py,sha256=8NEWunWX3pVWhZzDnzw6rd07nPfOuY2T-XkgL86ZWYg,2328
|
404
407
|
meutils/apis/kling/images.py,sha256=FcCkvA4x1Po3SuugfQa8klT0Lrj7fq4N8kbzx6luUxI,5095
|
@@ -419,12 +422,12 @@ meutils/apis/monica/llm.py,sha256=gYyBPOTvmoNFaa1KmW3OlSsRKeN7C97EyPUa264nJ08,26
|
|
419
422
|
meutils/apis/napkin/__init__.py,sha256=EWwpRJEbN46d6Dk9PHAZvsYmqD_EOK0jjKQL1kYtcKs,271
|
420
423
|
meutils/apis/napkin/icons.py,sha256=_L8EaSeQ6ChT5w7q3jnj_AcRhKvNiBg3-qUKo9JQ12o,2217
|
421
424
|
meutils/apis/oneapi/__init__.py,sha256=wg_kqNkFqOkP70vnOHvAeKREps57Rqliu5yKC0gsgLk,284
|
422
|
-
meutils/apis/oneapi/channel.py,sha256=
|
425
|
+
meutils/apis/oneapi/channel.py,sha256=AxUsQj6muOLrj9IuMt2QJtTmTpR0MvJz1v-r3Ex75hE,2012
|
423
426
|
meutils/apis/oneapi/common.py,sha256=AIs8ro-1qui3FG42msBY6dL_zt9QJ0jS63qtp-XTlY4,3617
|
424
427
|
meutils/apis/oneapi/log.py,sha256=dOmyldX5DyJO7mMw4EzYorTIsdLKqZ3AZiV0z0tEpWE,1377
|
425
428
|
meutils/apis/oneapi/token.py,sha256=LaKwkHXNvF46wXEVtbSNwfi0ujuQo7oRyln39MOPKX0,1638
|
426
429
|
meutils/apis/oneapi/token_.py,sha256=3NPU1jbjiRbcXIkw8bANcnby3rXq4U2LjU_8W3PaE_4,2560
|
427
|
-
meutils/apis/oneapi/user.py,sha256=
|
430
|
+
meutils/apis/oneapi/user.py,sha256=TF5Z4GcquDqWZVfSmtW2vJYVzr4rvSCcFhk57zcsEAw,4030
|
428
431
|
meutils/apis/oneapi/utils.py,sha256=p7zI7QYPqTaVHjk4jLJxb6EsLDNQQ6DVp_wZTgE8d2Y,1411
|
429
432
|
meutils/apis/pixverse/__init__.py,sha256=WiboEUfJ_3Hs2WI3OymEspx8_ZSTgMglxTJd97Qk7qo,271
|
430
433
|
meutils/apis/pixverse/pixverse.py,sha256=dvnyYVUXCEY_cLnmX9lvq9TesvplCMCuJmmP7ShchQk,5534
|
@@ -438,19 +441,20 @@ meutils/apis/replicateai/raw.py,sha256=v_Hztoa8uplkkUSDrnxlhc4qizW3-4tyra685Qnwx
|
|
438
441
|
meutils/apis/runwayml/__init__.py,sha256=90oL_3o8YkFPYm4R4PCxd3m9hgnHpOCLr0u-X4BDg-w,244
|
439
442
|
meutils/apis/runwayml/gen.py,sha256=JrfegC4pI2r7DprDLGMi5px0K1C1pSgopnz0lcJU5RY,5194
|
440
443
|
meutils/apis/search/__init__.py,sha256=1lg0ogEBgtwTi3XvkL5hMfSd14A6YNLO7M9itEJmaYI,244
|
444
|
+
meutils/apis/search/_web_search.py,sha256=h_rj0jKDbP1ZPvMPPHMhAnfVnjmW6I4XqEddrjYeq5U,2842
|
441
445
|
meutils/apis/search/baichuan.py,sha256=OUD0TH7KzqSxtuRJgjJPWO8XRQIoUwW5RX7lWMo7BXw,268
|
442
|
-
meutils/apis/search/metaso.py,sha256=
|
446
|
+
meutils/apis/search/metaso.py,sha256=DyIzdepjtJja3XUr5gN4x3rL_31JvGYcEngds6Ct_xU,8234
|
443
447
|
meutils/apis/search/metaso_.py,sha256=PqMX3FLYbbAcc9qpqrPZ58LuSF29h0asZO1XMYmXbes,3144
|
444
448
|
meutils/apis/search/n.py,sha256=o7jzNoR5v_nAjgdUvWgebL3nvvo3ECpq2KCj9YhUNr4,4337
|
445
449
|
meutils/apis/search/searxng.py,sha256=RBPeq-AYj5D42gROrZNg0SxIWwWEW0oqrbQ3wEDH9k8,951
|
446
|
-
meutils/apis/search/
|
450
|
+
meutils/apis/search/web_search.py,sha256=ALTEXG03Cnu8W8JDPZlXh7JXa2mYprdmqMgaggiEcPs,4248
|
447
451
|
meutils/apis/siliconflow/__init__.py,sha256=DQ-A6wAWGna49pmyGhcIWgc2zx6TN9DfQmSUdAW7qjk,241
|
448
452
|
meutils/apis/siliconflow/audio.py,sha256=pk1OROATtAURPQ6VkswmR5gJFOFYJJPnjp-boDAf8X0,2017
|
449
|
-
meutils/apis/siliconflow/image_to_image.py,sha256=
|
450
|
-
meutils/apis/siliconflow/images.py,sha256=
|
453
|
+
meutils/apis/siliconflow/image_to_image.py,sha256=Clk-2hACzoUP0yTHnxhlV5MA_HsVdcPuhrX41YARWPM,89439
|
454
|
+
meutils/apis/siliconflow/images.py,sha256=xPWAp9SkWxd5Q7MUIy4kBFYcF_Wyl4fNthskjQgCaoc,7192
|
451
455
|
meutils/apis/siliconflow/rerankers.py,sha256=GuKT33MmAiVULqNaAO9IIy1Zp570-kYJ6xP03eLCp5Y,1259
|
452
|
-
meutils/apis/siliconflow/text_to_image.py,sha256=
|
453
|
-
meutils/apis/siliconflow/utils.py,sha256=
|
456
|
+
meutils/apis/siliconflow/text_to_image.py,sha256=rDxk6NIj4TjigcSPVDZknQR9nUpK5CTJBXc3KjI1Z8Y,4457
|
457
|
+
meutils/apis/siliconflow/utils.py,sha256=Awe0V7Mkceop1vWWrw9901cKQ6HHntIn8HbIG0fEo40,2091
|
454
458
|
meutils/apis/siliconflow/videos.py,sha256=sYBxrrI5zMr_4_VXDFpjjiISlJNH4o6eIuZgaDnxvB4,3488
|
455
459
|
meutils/apis/sunoai/__init__.py,sha256=O8J8jKTmvZGGovkF_jCRl3vbL68a4_dXVSxiKIYTkFo,244
|
456
460
|
meutils/apis/sunoai/haimian.py,sha256=CSISElYbbGFnVCxCgAbHM_YZ9ELUjhuFQ6jdYM0hh7E,5521
|
@@ -522,12 +526,12 @@ meutils/cmds/subprocess_demo.py,sha256=oTeTIx8k6XwtOT6hZpmy9XNcRErzilqWcdoxcrVcH
|
|
522
526
|
meutils/config_utils/__init__.py,sha256=GhgsStfGJDC8F_YgC6X5Jnj9HkgXJXxeYiJWTAkWKTo,271
|
523
527
|
meutils/config_utils/manager.py,sha256=du-8e9Zdgnrn9e0b4GPR6FGtuQY7DLWNJqgkoU0TZ48,3147
|
524
528
|
meutils/config_utils/lark_utils/__init__.py,sha256=Gf-5Y8uZiqY9jdbfiIboL92MQjOTOo0ZZ245PGxCbaY,297
|
525
|
-
meutils/config_utils/lark_utils/common.py,sha256=
|
529
|
+
meutils/config_utils/lark_utils/common.py,sha256=2FM9IMfaSI1PijFK2fVh6wt2sN47FPKeEAFY3WHaXCU,14372
|
526
530
|
meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfHOno5NxNAio,293
|
527
531
|
meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
|
528
532
|
meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
|
529
533
|
meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
|
530
|
-
meutils/data/VERSION,sha256=
|
534
|
+
meutils/data/VERSION,sha256=VaaCArnHs_ntLwtx-VTZLNDg1uc6eTDNovKU_kIEG5A,19
|
531
535
|
meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
532
536
|
meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
533
537
|
meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
|
@@ -536,7 +540,7 @@ meutils/data/cowboy-hat-face.webp,sha256=AHi2t-WclDVKWgGEe-oZzI4xKACNlgGWUgd622y
|
|
536
540
|
meutils/data/oneapi/FOOTER.md,sha256=f_uTlAXtYBZFcVZkPpPxL2m9lvomaYD0NUPT0Yy91Y4,516
|
537
541
|
meutils/data/oneapi/NOTICE.html,sha256=b0zJ3Hn7GIJ5Zb937syTRpZQQ1iJfDy5LV6OXq2m9xI,361
|
538
542
|
meutils/data/oneapi/__init__.py,sha256=qs1T3oB5I_2KYDHYLBQr4qfSgudeIeg1tu5OvjnETFQ,400
|
539
|
-
meutils/data/oneapi/index.html,sha256=
|
543
|
+
meutils/data/oneapi/index.html,sha256=SLxEEgxQgN5P2AgOTJf6LrTXY-6_KCxST7-aMh4TEho,9974
|
540
544
|
meutils/db/__init__.py,sha256=HR99rqxoFTWXUHDhLVl33tzIn8M86gigHLmEzOKH1Ec,7637
|
541
545
|
meutils/db/mongo.py,sha256=B-B_t939rxtnNGt0PxhivjIUwinmHPzLUpXsjUIaTkQ,2337
|
542
546
|
meutils/db/neo4j.py,sha256=eYd3jP3COWlOFBaF20UXphW67-HwlZ1t0Q34Cp-j6o0,2168
|
@@ -574,10 +578,10 @@ meutils/init/evn.py,sha256=GPw9Un8YbgYJmjwd-uYWQ8JeVr6pRxwyYbDv3W8fb1s,1588
|
|
574
578
|
meutils/init/oo.py,sha256=jXWaCWWFYVPGgTIas47Z3J7sIq-CD7DyK6fKDBsq8GA,12884
|
575
579
|
meutils/io/__init__.py,sha256=uW43ZfdWu7adRvwvcTzUGtn4CseRmbzEJdlZV-oqHEA,2107
|
576
580
|
meutils/io/_openai_files.py,sha256=UIiu6Zg7iSFIn1xIcpLznFlnfCxAJFGuvuPtxvTNHfI,1005
|
577
|
-
meutils/io/files_utils.py,sha256=
|
581
|
+
meutils/io/files_utils.py,sha256=e3rFAyL23IWQn3_78UR9K8tT3B1YQvNH9ahp9XV30aE,7823
|
578
582
|
meutils/io/image.py,sha256=BJmYzx7o66X7C32gOfVmfr5tBRXOi0IYQY7BpGLsGrg,6926
|
579
583
|
meutils/io/minio_utils.py,sha256=i1YuxwDJzLse0smMXuPqnD1wirBBb8psmB_kd1oPoVU,1274
|
580
|
-
meutils/io/openai_files.py,sha256=
|
584
|
+
meutils/io/openai_files.py,sha256=wJ-N03Ip4QCyh10uwWEQuqnbvZEys9hEP4ABLybR_DI,5474
|
581
585
|
meutils/io/tf_io.py,sha256=vEZZS4pCf4Dt3A-FtIVMfhC3FJUUpQCK2OoEvXrBWos,8605
|
582
586
|
meutils/io/x.py,sha256=NyDhVhZ9poPPxaK-W5G8qWAnxjZ5NEz-kv32tK8qNvA,2665
|
583
587
|
meutils/io/parsers/__init__.py,sha256=h3fRoVBxA5zFx6f-GD7L4UikOVyo0IDEluXL_dQXf4k,244
|
@@ -608,25 +612,23 @@ meutils/io/parsers/fileparser/filetype/types/video.py,sha256=DfkFd5ofnEK25r_n71L
|
|
608
612
|
meutils/jwt_utils/__init__.py,sha256=hU1CYBK90Q9QKVrf1s6VFKZwWjHioHa6bO2AuDn7_eo,272
|
609
613
|
meutils/jwt_utils/common.py,sha256=MlWDLtxiF-WeRl3oyK94KIa6BKFIXVeJtaQUnpa9ayo,814
|
610
614
|
meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
|
611
|
-
meutils/llm/check_api.py,sha256=
|
612
|
-
meutils/llm/check_utils.py,sha256=
|
613
|
-
meutils/llm/clients.py,sha256=
|
615
|
+
meutils/llm/check_api.py,sha256=Vlan35FGvjPLP-dZu_Gfgmki-G89YPV96-x1oXji79I,3566
|
616
|
+
meutils/llm/check_utils.py,sha256=Y4icZslJF7rbh4IS6SHPrMWKiNoTsgidjglIfNTw5lI,4744
|
617
|
+
meutils/llm/clients.py,sha256=h-KHaHhzAjE1paW1tHX_LbCi9bfWmkub8NyV6ctsB08,2523
|
614
618
|
meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
|
615
619
|
meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
|
616
620
|
meutils/llm/utils.py,sha256=4u3b8VO3wX3xKny1AdV4579qXux1YA4k5gI-CYPtx0o,4279
|
617
621
|
meutils/llm/x.py,sha256=ETvKKDTmDNrik0K2-_a_SEQxyV4X4-fy0JPrAOLNPv4,1732
|
618
622
|
meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf-ZTqks,244
|
619
|
-
meutils/llm/completions/chat_gemini.py,sha256=
|
620
|
-
meutils/llm/completions/chat_plus.py,sha256=
|
621
|
-
meutils/llm/completions/chat_spark.py,sha256=
|
623
|
+
meutils/llm/completions/chat_gemini.py,sha256=tXqkISSi2EYum4cjo6AsgTS3074nlYZtEt5BZ2HRoiI,1820
|
624
|
+
meutils/llm/completions/chat_plus.py,sha256=ZLR1OeXzCwBMpNs34wHNQZeJPKfoWIKIP9Eo67aGALc,6874
|
625
|
+
meutils/llm/completions/chat_spark.py,sha256=WKXRSCj4Uive95pgPDXcJpQT0tTL0TgFIRY6AQZbYl0,9529
|
622
626
|
meutils/llm/completions/cp.py,sha256=tGf3umHKXDH0KuTfN7BLr8yAvN6MYWLYR5UVaJkJs0c,4172
|
623
627
|
meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgdSOyLtQY,5131
|
624
628
|
meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
|
625
629
|
meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
|
626
630
|
meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
|
627
|
-
meutils/llm/completions/
|
628
|
-
meutils/llm/completions/qwen_demo.py,sha256=_qWJFQzMuEsnC6xqgy6kI73pvXJZytYQ7rkr8HM-DTg,2361
|
629
|
-
meutils/llm/completions/qwenllm.py,sha256=yCGnZtNf1NmdQp-GL5hbgixvrfQI2qlZDkVmzs5dnsU,10257
|
631
|
+
meutils/llm/completions/qwenllm.py,sha256=9fTIqtdS4ahPcNqi61YQspVnV2AZlfNU9wiq65QaMpo,10421
|
630
632
|
meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
|
631
633
|
meutils/llm/completions/reasoner.py,sha256=rPIxW1iuvLuGhcOa6PkfcJmrTKtJV-8wRKfA09X09tg,6169
|
632
634
|
meutils/llm/completions/tryblend.py,sha256=NfVRktn1QiE2k60PzEI-LmKuxZCc7mtL_KlsrVcZg4k,8957
|
@@ -636,6 +638,8 @@ meutils/llm/completions/xx.py,sha256=pPfVRczvXZFUvAUOAFr0MMHMb5kVPNfKVhOLKugq52M
|
|
636
638
|
meutils/llm/completions/yuanbao.py,sha256=1LAZJ5SnrEomoPS3vD6o6VedrSVscKoJOi_lUzBcEPk,7203
|
637
639
|
meutils/llm/completions/agents/__init__.py,sha256=Wklnf7FTHm43hyVwfT8FXX44nqdOTykPb_HORIqDuuw,270
|
638
640
|
meutils/llm/completions/agents/search.py,sha256=GKsk0NRy6jsbSu8E9mdBWObJzroGE-L7Iuo5W2MK_u0,5057
|
641
|
+
meutils/llm/completions/assistants/__init__.py,sha256=1QWMIG5dA2wH7550ZdNpW00NPU9q8C-eXybjTsm1aSU,271
|
642
|
+
meutils/llm/completions/assistants/ppt.py,sha256=Qqv_9wn5ubnthxQOdhzTKbSh0_E14FLZ_WynUAJq9i0,263
|
639
643
|
meutils/llm/completions/rag/__init__.py,sha256=VH4g9H0pqMM1Rkjc1xefQb4Uh8f9vlTt6tjdD6G6Wc0,272
|
640
644
|
meutils/llm/completions/rag/fire.py,sha256=0a_POkY9mEy1YwZHXOGnqf9EVyjiJwx3fWhmv_bQ54U,5743
|
641
645
|
meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cpxu6TBg,265
|
@@ -675,12 +679,6 @@ meutils/other/__demo.py,sha256=-cAInEF7G_JbOp3v8UHHwQpSrzPk0zqz4XoFnJ81Ixs,979
|
|
675
679
|
meutils/other/__init__.py,sha256=WeAEUi1oZQ8gce3fimapeoCF8Wx-5P_SdDL76K7AE3k,242
|
676
680
|
meutils/other/besttable.py,sha256=kdN7tyWQjBMlToB2db5pxpxdcetadXQTNOD1IicxvjQ,23121
|
677
681
|
meutils/other/crontab.py,sha256=4gLct6t_qxDp5bkEnGdXWFTBJO7V66JFYvaH3qQCGnE,44366
|
678
|
-
meutils/other/aiomultiprocess/__init__.py,sha256=hmxuiwOXuCX0G2M2l7emtIvkE7fcbWXpWORL1C34mSQ,416
|
679
|
-
meutils/other/aiomultiprocess/__version__.py,sha256=H9NWRZb7NbeRRPLP_V1fARmLNXranorVM-OOY-8_2ug,22
|
680
|
-
meutils/other/aiomultiprocess/core.py,sha256=h565K43yTtUQyNJNWgzczSVZ2YeWPRyIc_aEidFBrmM,7835
|
681
|
-
meutils/other/aiomultiprocess/pool.py,sha256=vvaXehz9Ah46Upmaersk_jKNranm3COHYTc9arPd004,11688
|
682
|
-
meutils/other/aiomultiprocess/scheduler.py,sha256=8SdmbHB89H6a8fVxqkiH1HUaPPfZdALuNxf8tb-ktVk,2573
|
683
|
-
meutils/other/aiomultiprocess/types.py,sha256=NTqLlEOslJ8QtTyrPqUmanDspKU9TiNNJtD0k-NCcJE,1037
|
684
682
|
meutils/pandas_utils/__init__.py,sha256=CE8C2TuBCgJNsht6cTMtPZku5DtqT0_agLE2Me21Zi8,283
|
685
683
|
meutils/pandas_utils/common.py,sha256=iXvXBMTWzXXWxgGUjTZXpeee8W0Mmo7HY4xWbh4rcu4,950
|
686
684
|
meutils/pandas_utils/opt.py,sha256=U8ILuLMSAta374wzfkLf612SBB8J94EdDPRcUkI02A8,1228
|
@@ -730,7 +728,7 @@ meutils/queues/uniform_queue.py,sha256=fKZw-xc9RBY0VoN6uRwQWEds8o5U0nxBz7SQhAVzq
|
|
730
728
|
meutils/request_utils/__init__.py,sha256=wqP3vkDJ2wFMawvx4XyT-5pNf-Jr81PYTQ14FCcG-Pw,4053
|
731
729
|
meutils/request_utils/ark.py,sha256=n7U89XlESpVJ-gErJIi1fvslkULLJEjAQQoEORGusr4,1012
|
732
730
|
meutils/request_utils/a爬虫.py,sha256=PTsl0RuNB7IByErMpGZj5WwSZeHBRR53YqRNx1J0_EU,1894
|
733
|
-
meutils/request_utils/crawler.py,sha256=
|
731
|
+
meutils/request_utils/crawler.py,sha256=GBcwoW0FHajpslF0suziAlfGcj-DsIkkKBLquFvDGe4,2342
|
734
732
|
meutils/request_utils/download.py,sha256=qFGt79Jp1f8n681x0kHWN3S70E-l46PlM2xqSdUDNm8,1767
|
735
733
|
meutils/request_utils/results.py,sha256=i422B66FHc7fzAyyORpQEkO0QO_dk38d1K0i8XYuixk,1334
|
736
734
|
meutils/request_utils/tiangong.py,sha256=l5t4pAWxxYvFxvyo-jJ-R6efKWMHjYPiPjrPUGMZLiU,3057
|
@@ -765,14 +763,14 @@ meutils/schemas/metaso_types.py,sha256=r_X0Exs_2S3rNS71RneemMpz7EvBIOLBfAMmWMQRn
|
|
765
763
|
meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
|
766
764
|
meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
|
767
765
|
meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
|
768
|
-
meutils/schemas/openai_types.py,sha256=
|
766
|
+
meutils/schemas/openai_types.py,sha256=QJZFMVg1mecj-pQa9REPeyOPs_UyTNe81LWEtnCBevo,20568
|
769
767
|
meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX0Xmw,2347
|
770
768
|
meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
|
771
769
|
meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
|
772
770
|
meutils/schemas/replicate_types.py,sha256=Todfo-y2Gq1MW8IyEmzz_ZlTxuQ3PvIfiF0KkrmJaYw,3160
|
773
771
|
meutils/schemas/request_types.py,sha256=GP2radX2Ixjbu8NDKihUsrSOft6WgcFYd7LXxM4mPY0,407
|
774
772
|
meutils/schemas/runwayml_types.py,sha256=q6g00kg1PYCDjpw-notgbcUGwRAlIa8kAmU52ZuXyLQ,6128
|
775
|
-
meutils/schemas/siliconflow_types.py,sha256=
|
773
|
+
meutils/schemas/siliconflow_types.py,sha256=a8SOf-bh5ZBddqsCqJNPFfw9olxk-bD_ySqTr8d0aZw,8597
|
776
774
|
meutils/schemas/step_types.py,sha256=nGTPXZ7RwOF2RTsPBQguLLcIaBxHs4bsZkYa_LalcJ0,648
|
777
775
|
meutils/schemas/suno_types.py,sha256=CxEXHGnLGZ7xvmoIYpz7IYPL73aLjtpHezJRIjWryKs,14965
|
778
776
|
meutils/schemas/task_types.py,sha256=Zjbn6AiopkPA3px2ZiMouU9QrL43p9O8bJB5OTI-O_4,4638
|
@@ -787,7 +785,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
|
|
787
785
|
meutils/schemas/db/oneapi_types.py,sha256=YanT0q9pU7dva2ZBPWjCpwGNUuifnJh0zUJJCQ9070c,3848
|
788
786
|
meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
|
789
787
|
meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
|
790
|
-
meutils/schemas/oneapi/common.py,sha256=
|
788
|
+
meutils/schemas/oneapi/common.py,sha256=GLtjCZAaursGsf8kAK_kdxcq_bHg_qOviu8ScVS-4fM,31454
|
791
789
|
meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
|
792
790
|
meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
|
793
791
|
meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
|
@@ -916,9 +914,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
|
|
916
914
|
meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
|
917
915
|
meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
|
918
916
|
meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
|
919
|
-
MeUtils-2025.3.
|
920
|
-
MeUtils-2025.3.
|
921
|
-
MeUtils-2025.3.
|
922
|
-
MeUtils-2025.3.
|
923
|
-
MeUtils-2025.3.
|
924
|
-
MeUtils-2025.3.
|
917
|
+
MeUtils-2025.3.19.19.13.35.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
918
|
+
MeUtils-2025.3.19.19.13.35.dist-info/METADATA,sha256=LsYmxjeYKDLqBZRybLtre_R4UiLJOf406tZq4ZkTcRs,32834
|
919
|
+
MeUtils-2025.3.19.19.13.35.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
920
|
+
MeUtils-2025.3.19.19.13.35.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
|
921
|
+
MeUtils-2025.3.19.19.13.35.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
|
922
|
+
MeUtils-2025.3.19.19.13.35.dist-info/RECORD,,
|
apps/xfPPT_demo.py
ADDED
@@ -0,0 +1,251 @@
|
|
1
|
+
# -*- coding:utf-8 -*-
|
2
|
+
import hashlib
|
3
|
+
import hmac
|
4
|
+
import base64
|
5
|
+
import json
|
6
|
+
import time
|
7
|
+
|
8
|
+
import requests
|
9
|
+
from requests_toolbelt.multipart.encoder import MultipartEncoder
|
10
|
+
|
11
|
+
|
12
|
+
class AIPPT():
|
13
|
+
|
14
|
+
def __init__(self, APPId, APISecret, Text, templateId):
|
15
|
+
self.APPid = APPId
|
16
|
+
self.APISecret = APISecret
|
17
|
+
self.text = Text
|
18
|
+
self.header = {}
|
19
|
+
self.templateId = templateId
|
20
|
+
|
21
|
+
# 获取签名
|
22
|
+
def get_signature(self, ts):
|
23
|
+
try:
|
24
|
+
# 对app_id和时间戳进行MD5加密
|
25
|
+
auth = self.md5(self.APPid + str(ts))
|
26
|
+
# 使用HMAC-SHA1算法对加密后的字符串进行加密
|
27
|
+
return self.hmac_sha1_encrypt(auth, self.APISecret)
|
28
|
+
except Exception as e:
|
29
|
+
print(e)
|
30
|
+
return None
|
31
|
+
|
32
|
+
def hmac_sha1_encrypt(self, encrypt_text, encrypt_key):
|
33
|
+
# 使用HMAC-SHA1算法对文本进行加密,并将结果转换为Base64编码
|
34
|
+
return base64.b64encode(
|
35
|
+
hmac.new(encrypt_key.encode('utf-8'), encrypt_text.encode('utf-8'), hashlib.sha1).digest()).decode('utf-8')
|
36
|
+
|
37
|
+
def md5(self, text):
|
38
|
+
# 对文本进行MD5加密,并返回加密后的十六进制字符串
|
39
|
+
return hashlib.md5(text.encode('utf-8')).hexdigest()
|
40
|
+
|
41
|
+
# 创建PPT生成任务
|
42
|
+
def create_task(self):
|
43
|
+
url = 'https://zwapi.xfyun.cn/api/ppt/v2/create'
|
44
|
+
timestamp = int(time.time())
|
45
|
+
signature = self.get_signature(timestamp)
|
46
|
+
# body= self.getbody(self.text)
|
47
|
+
|
48
|
+
formData = MultipartEncoder(
|
49
|
+
fields={
|
50
|
+
# "file": (path, open(path, 'rb'), 'text/plain'), # 如果需要上传文件,可以将文件路径通过path 传入
|
51
|
+
# "fileUrl":"", #文件地址(file、fileUrl、query必填其一)
|
52
|
+
# "fileName":"", # 文件名(带文件名后缀;如果传file或者fileUrl,fileName必填)
|
53
|
+
"query": self.text,
|
54
|
+
"templateId": "20240718489569D", # 模板的ID,从PPT主题列表查询中获取
|
55
|
+
"author": "XXXX", # PPT作者名:用户自行选择是否设置作者名
|
56
|
+
"isCardNote": str(True), # 是否生成PPT演讲备注, True or False
|
57
|
+
"search": str(False), # 是否联网搜索,True or False
|
58
|
+
"isFigure": str(True), # 是否自动配图, True or False
|
59
|
+
"aiImage": "normal"
|
60
|
+
# ai配图类型: normal、advanced (isFigure为true的话生效); normal-普通配图,20%正文配图;advanced-高级配图,50%正文配图
|
61
|
+
}
|
62
|
+
)
|
63
|
+
|
64
|
+
print(formData)
|
65
|
+
|
66
|
+
headers = {
|
67
|
+
"appId": self.APPid,
|
68
|
+
"timestamp": str(timestamp),
|
69
|
+
"signature": signature,
|
70
|
+
"Content-Type": formData.content_type
|
71
|
+
}
|
72
|
+
self.header = headers
|
73
|
+
print(headers)
|
74
|
+
response = requests.request(method="POST", url=url, data=formData, headers=headers).text
|
75
|
+
print("生成PPT返回结果:", response)
|
76
|
+
resp = json.loads(response)
|
77
|
+
if (0 == resp['code']):
|
78
|
+
return resp['data']['sid']
|
79
|
+
else:
|
80
|
+
print('创建PPT任务失败')
|
81
|
+
return None
|
82
|
+
|
83
|
+
# 构建请求body体
|
84
|
+
def getbody(self, text):
|
85
|
+
body = {
|
86
|
+
"query": text,
|
87
|
+
"templateId": self.templateId # 模板ID举例,具体使用 /template/list 查询
|
88
|
+
}
|
89
|
+
return body
|
90
|
+
|
91
|
+
# 轮询任务进度,返回完整响应信息
|
92
|
+
def get_process(self, sid):
|
93
|
+
# print("sid:" + sid)
|
94
|
+
if (None != sid):
|
95
|
+
response = requests.request("GET", url=f"https://zwapi.xfyun.cn/api/ppt/v2/progress?sid={sid}",
|
96
|
+
headers=self.header).text
|
97
|
+
print(response)
|
98
|
+
return response
|
99
|
+
else:
|
100
|
+
return None
|
101
|
+
|
102
|
+
# 获取PPT,以下载连接形式返回
|
103
|
+
def get_result(self, task_id):
|
104
|
+
|
105
|
+
# 创建PPT生成任务
|
106
|
+
# task_id = self.create_task()
|
107
|
+
# PPTurl = ''
|
108
|
+
# 轮询任务进度
|
109
|
+
while (True):
|
110
|
+
response = self.get_process(task_id)
|
111
|
+
resp = json.loads(response)
|
112
|
+
pptStatus = resp['data']['pptStatus']
|
113
|
+
aiImageStatus = resp['data']['aiImageStatus']
|
114
|
+
cardNoteStatus = resp['data']['cardNoteStatus']
|
115
|
+
|
116
|
+
if ('done' == pptStatus and 'done' == aiImageStatus and 'done' == cardNoteStatus):
|
117
|
+
PPTurl = resp['data']['pptUrl']
|
118
|
+
break
|
119
|
+
else:
|
120
|
+
time.sleep(3)
|
121
|
+
return PPTurl
|
122
|
+
|
123
|
+
def getHeaders(self):
|
124
|
+
timestamp = int(time.time())
|
125
|
+
signature = self.get_signature(timestamp)
|
126
|
+
# body = self.getbody(self.text)
|
127
|
+
|
128
|
+
headers = {
|
129
|
+
"appId": self.APPid,
|
130
|
+
"timestamp": str(timestamp),
|
131
|
+
"signature": signature,
|
132
|
+
"Content-Type": "application/json; charset=utf-8"
|
133
|
+
}
|
134
|
+
return headers
|
135
|
+
|
136
|
+
def getTheme(self):
|
137
|
+
url = "https://zwapi.xfyun.cn/api/ppt/v2/template/list"
|
138
|
+
self.header = self.getHeaders()
|
139
|
+
body = {
|
140
|
+
"payType": "not_free",
|
141
|
+
# "style": "简约", # 支持按照类型查询PPT 模板
|
142
|
+
# "color": "红色", # 支持按照颜色查询PPT 模板
|
143
|
+
# "industry": "教育培训", # 支持按照颜色查询PPT 模板
|
144
|
+
"pageNum": 2,
|
145
|
+
"pageSize": 10
|
146
|
+
}
|
147
|
+
|
148
|
+
response = requests.request("GET", url=url, headers=self.header).text
|
149
|
+
print(response)
|
150
|
+
return response
|
151
|
+
|
152
|
+
def createOutline(self):
|
153
|
+
# if('' ==fileUrl and '' == filePath):
|
154
|
+
url = "https://zwapi.xfyun.cn/api/ppt/v2/createOutline"
|
155
|
+
body = {
|
156
|
+
"query": self.text,
|
157
|
+
"language": "cn",
|
158
|
+
"search": str(False), # 是否联网搜索,True or False
|
159
|
+
}
|
160
|
+
|
161
|
+
response = requests.post(url=url, json=body, headers=self.getHeaders()).text
|
162
|
+
print("生成大纲完成:\n", response)
|
163
|
+
|
164
|
+
return response
|
165
|
+
|
166
|
+
def createOutlineByDoc(self, fileName, fileUrl=None, filePath=None):
|
167
|
+
# if('' ==fileUrl and '' == filePath):
|
168
|
+
url = "https://zwapi.xfyun.cn/api/ppt/v2/createOutlineByDoc"
|
169
|
+
formData = MultipartEncoder(
|
170
|
+
fields={
|
171
|
+
"file": (filePath, open(filePath, 'rb'), 'text/plain'), # 如果需要上传文件,可以将文件路径通过path 传入
|
172
|
+
"fileUrl": fileUrl, # 文件地址(file、fileUrl必填其一)
|
173
|
+
"fileName": fileName, # 文件名(带文件名后缀;如果传file或者fileUrl,fileName必填)
|
174
|
+
"query": self.text,
|
175
|
+
"language": "cn",
|
176
|
+
"search": str(False), # 是否联网搜索,True or False
|
177
|
+
}
|
178
|
+
)
|
179
|
+
timestamp = int(time.time())
|
180
|
+
signature = self.get_signature(timestamp)
|
181
|
+
headers = {
|
182
|
+
"appId": self.APPid,
|
183
|
+
"timestamp": str(timestamp),
|
184
|
+
"signature": signature,
|
185
|
+
"Content-Type": formData.content_type
|
186
|
+
}
|
187
|
+
self.header = headers
|
188
|
+
response = requests.post(url=url, data=formData, headers=headers).text
|
189
|
+
print("生成大纲完成:\n", response)
|
190
|
+
|
191
|
+
return response
|
192
|
+
|
193
|
+
def createPptByOutline(self, outline):
|
194
|
+
url = "https://zwapi.xfyun.cn/api/ppt/v2/createPptByOutline"
|
195
|
+
body = {
|
196
|
+
"query": self.text,
|
197
|
+
"outline": outline,
|
198
|
+
"templateId": self.templateId, # 模板的ID,从PPT主题列表查询中获取
|
199
|
+
"author": "XXXX", # PPT作者名:用户自行选择是否设置作者名
|
200
|
+
"isCardNote": True, # 是否生成PPT演讲备注, True or False
|
201
|
+
"search": False, # 是否联网搜索,True or False
|
202
|
+
"isFigure": True, # 是否自动配图, True or False
|
203
|
+
"aiImage": "normal",
|
204
|
+
# ai配图类型: normal、advanced (isFigure为true的话生效); normal-普通配图,20%正文配图;advanced-高级配图,50%正文配图
|
205
|
+
|
206
|
+
}
|
207
|
+
print(body)
|
208
|
+
|
209
|
+
response = requests.post(url, json=body, headers=self.getHeaders()).text
|
210
|
+
print("创建生成任务成功:\n", response)
|
211
|
+
resp = json.loads(response)
|
212
|
+
if (0 == resp['code']):
|
213
|
+
return resp['data']['sid']
|
214
|
+
else:
|
215
|
+
print('创建PPT任务失败')
|
216
|
+
return None
|
217
|
+
|
218
|
+
|
219
|
+
if __name__ == '__main__':
|
220
|
+
# 控制台获取
|
221
|
+
APPId = "XXXXXXXX"
|
222
|
+
APISecret = "XXXXXXXXXXXXXXXXXXXXXXXX"
|
223
|
+
|
224
|
+
# 查询PPT主题列表
|
225
|
+
# demo1 = AIPPT(APPId,APISecret,'','')
|
226
|
+
# templateId = demo1.getTheme() # 获取模板列表
|
227
|
+
# print("支持模板列表:\n",templateId)
|
228
|
+
templateId = "20240718489569D" # 该模板ID,需要通过getTheme() 方法获取模板列表,然后从中挑选
|
229
|
+
|
230
|
+
# 流程一:根据描述或者文档直接生成PPT;(流程一、流程二代码不能同时打开)
|
231
|
+
# # 流程一开始
|
232
|
+
Text = "请帮我写一份PPT: 介绍下今年到目前位置的公司经营状况"
|
233
|
+
demo = AIPPT(APPId, APISecret, Text, templateId)
|
234
|
+
taskid = demo.create_task()
|
235
|
+
# # 流程一结束
|
236
|
+
|
237
|
+
# 流程二: 先生成大纲(支持上传文本),再通过大纲生成PPT;(流程一、流程二代码不能同时打开)
|
238
|
+
|
239
|
+
# # 流程二开始
|
240
|
+
# title = "秋分时节的农业管理策略" #设定大纲主题
|
241
|
+
# filename = "test.pdf" # 需要根据文档上传时,请填写文档路径;要求:字数不得超过8000字,文件限制10M。上传文件支持pdf(不支持扫描件)、doc、docx、txt、md格式的文件。
|
242
|
+
# filePath = "data/test.pdf" # 文件路径,也可以通过fileurl 字段上传对象存储地址,具体见方法:createOutlineByDoc
|
243
|
+
# demo = AIPPT(APPId, APISecret, title, templateId)
|
244
|
+
# res = demo.createOutlineByDoc(fileName=filename,filePath=filePath)
|
245
|
+
# data = json.loads(res)
|
246
|
+
# outline = data["data"]["outline"]
|
247
|
+
# taskid = demo.createPptByOutline(outline)
|
248
|
+
# # 流程二结束
|
249
|
+
|
250
|
+
result = demo.get_result(taskid)
|
251
|
+
print("生成的PPT请从此地址获取:\n" + result)
|
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
|
openai = OpenAI(
|
19
|
-
# api_key=os.getenv("OPENAI_API_KEY_OPENAI")
|
19
|
+
# api_key=os.getenv("OPENAI_API_KEY_OPENAI") + "-575"
|
20
|
+
|
21
|
+
# api_key="sk-hXruPMHP0TnBpohQMJWBZILDVKugUmzQF0lwZTetDX7eHaAM"
|
20
22
|
)
|
21
23
|
# openai = OpenAI(api_key=os.getenv("SILICONFLOW_API_KEY"), base_url=os.getenv("SILICONFLOW_BASE_URL"))
|
22
24
|
# openai = OpenAI(
|
@@ -57,9 +59,9 @@ messages = [
|
|
57
59
|
"""
|
58
60
|
},
|
59
61
|
# {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}},
|
60
|
-
{"type": "image_url", "image_url": {"url": base64_image}},
|
62
|
+
# {"type": "image_url", "image_url": {"url": base64_image}},
|
61
63
|
|
62
|
-
|
64
|
+
{"type": "image_url", "image_url": {"url": image_url2}},
|
63
65
|
# {"type": "image_url", "image_url": {"url": image_url2}},
|
64
66
|
|
65
67
|
# {"type": "video_url", "video_url": "https://oss.ffire.cc/files/douyin.mp4"},
|
@@ -71,8 +73,12 @@ messages = [
|
|
71
73
|
}
|
72
74
|
]
|
73
75
|
response = openai.chat.completions.create(
|
76
|
+
# model='gpt-4o-mini',
|
77
|
+
# model='gpt-4o-2024-11-20',
|
78
|
+
model="gemini-2.0-pro-exp-02-05",
|
79
|
+
|
74
80
|
# model='gpt-4-vision-preview',
|
75
|
-
model="doubao-1.5-vision-pro-32k",
|
81
|
+
# model="doubao-1.5-vision-pro-32k",
|
76
82
|
# model='gpt-4o',
|
77
83
|
# model='gpt-4o-2024-08-06',
|
78
84
|
# model="deepseek-ai/deepseek-vl2",
|
@@ -100,11 +106,10 @@ response = openai.chat.completions.create(
|
|
100
106
|
# model='kimi', # ocr
|
101
107
|
|
102
108
|
messages=messages,
|
103
|
-
max_tokens=
|
109
|
+
max_tokens=100,
|
104
110
|
temperature=0,
|
105
111
|
# response_format={"type": "json_object"}
|
106
112
|
)
|
107
113
|
|
108
114
|
print(response.dict())
|
109
115
|
|
110
|
-
# response = client.chat.completions.create(input='你好', model='tts-1', voice='alloy')
|
@@ -245,7 +245,8 @@ if __name__ == '__main__':
|
|
245
245
|
|
246
246
|
# "ds",
|
247
247
|
|
248
|
-
"qwen-max"
|
248
|
+
# "qwen-max"
|
249
|
+
"deepseek-r1-search-pro"
|
249
250
|
|
250
251
|
]
|
251
252
|
# check_models(models, api_key=os.getenv("OPENAI_API_KEY"))
|
@@ -265,8 +266,8 @@ if __name__ == '__main__':
|
|
265
266
|
# check_models(models, api_key=os.getenv("OPENAI_API_KEY_GUOCHAN") + "-725")
|
266
267
|
|
267
268
|
# check_models(models, api_key=os.getenv("OPENAI_API_KEY"))
|
268
|
-
|
269
|
-
check_models(models, api_key=os.getenv("OPENAI_API_KEY_GUOCHAN") + "-583")
|
269
|
+
check_models(models)
|
270
|
+
# check_models(models, api_key=os.getenv("OPENAI_API_KEY_GUOCHAN") + "-583")
|
270
271
|
|
271
272
|
#############神奇 #############reasoning_content 神奇
|
272
273
|
|
@@ -11,26 +11,44 @@ import os
|
|
11
11
|
|
12
12
|
from meutils.pipe import *
|
13
13
|
from openai import OpenAI
|
14
|
+
from openai.types.create_embedding_response import CreateEmbeddingResponse
|
14
15
|
|
15
16
|
client = OpenAI(
|
16
17
|
|
17
|
-
api_key=os.getenv("OPENAI_API_KEY_OPENAI"),
|
18
|
+
# api_key=os.getenv("OPENAI_API_KEY_OPENAI"),
|
18
19
|
# api_key=os.getenv("SILICONFLOW_API_KEY"),
|
19
|
-
#
|
20
|
-
# base_url="https://api.siliconflow.
|
20
|
+
# api_key="sk-gcxjtocodgggxwnhqqsaqznpkpxndktwlgmgkmzljyajjsfp",
|
21
|
+
# base_url="https://api.siliconflow.cn/v1",
|
21
22
|
|
22
23
|
# base_url="https://api.bltcy.ai/v1"
|
23
24
|
)
|
24
25
|
|
25
26
|
model = "BAAI/bge-large-zh-v1.5"
|
26
27
|
model = "bge-large-zh-v1.5"
|
27
|
-
model = "text-embedding-
|
28
|
+
model = "text-embedding-ada-002"
|
28
29
|
# model = "text-embedding-ada-002"
|
29
30
|
#
|
30
|
-
|
31
|
+
model = "BAAI/bge-m3"
|
32
|
+
# model = "bge-m3"
|
33
|
+
# with timer("bs1"):
|
34
|
+
# response = client.embeddings.create(
|
35
|
+
# input=["查" * 1000] * 1,
|
36
|
+
# model=model
|
37
|
+
# )
|
38
|
+
|
31
39
|
|
32
40
|
with timer("bs1"):
|
33
41
|
response = client.embeddings.create(
|
34
|
-
input=
|
35
|
-
model=model
|
42
|
+
input="xx",
|
43
|
+
model=model,
|
44
|
+
# encoding_format=None
|
36
45
|
)
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
# from langchain_openai import OpenAIEmbeddings
|
50
|
+
#
|
51
|
+
# OpenAIEmbeddings()
|
52
|
+
#
|
53
|
+
# model_kwargs = {"encoding_format": "float"}
|
54
|
+
|
@@ -14,7 +14,7 @@ from openai import OpenAI
|
|
14
14
|
client = OpenAI(
|
15
15
|
api_key=os.getenv("SILICONFLOW_API_KEY"),
|
16
16
|
# api_key="sk-zhvfnyebjcrylrwwzecxcbolwdsitqfwjqzxeysqhprdsjbm",
|
17
|
-
base_url="https://api.siliconflow.
|
17
|
+
base_url="https://api.siliconflow.cn/v1",
|
18
18
|
)
|
19
19
|
|
20
20
|
# print(client.models.list())
|