MeUtils 2025.5.27.14.55.19__py3-none-any.whl → 2025.5.29.18.12.8__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.5.27.14.55.19.dist-info → MeUtils-2025.5.29.18.12.8.dist-info}/METADATA +263 -263
- {MeUtils-2025.5.27.14.55.19.dist-info → MeUtils-2025.5.29.18.12.8.dist-info}/RECORD +21 -19
- examples/_openaisdk/openai_sophnet.py +47 -0
- meutils/apis/audio/minimax.py +202 -0
- meutils/apis/jimeng/videos.py +6 -3
- meutils/apis/search/metaso.py +26 -8
- meutils/apis/siliconflow/videos.py +1 -1
- meutils/apis/volcengine_apis/__init__.py +0 -1
- meutils/apis/volcengine_apis/images.py +5 -4
- meutils/apis/volcengine_apis/tasks.py +74 -8
- meutils/config_utils/lark_utils/common.py +1 -1
- meutils/data/VERSION +1 -1
- meutils/llm/check_utils.py +35 -3
- meutils/llm/completions/qwenllm.py +12 -2
- meutils/schemas/metaso_types.py +9 -3
- meutils/schemas/oneapi/common.py +24 -2
- meutils/schemas/openai_types.py +5 -2
- {MeUtils-2025.5.27.14.55.19.dist-info → MeUtils-2025.5.29.18.12.8.dist-info}/LICENSE +0 -0
- {MeUtils-2025.5.27.14.55.19.dist-info → MeUtils-2025.5.29.18.12.8.dist-info}/WHEEL +0 -0
- {MeUtils-2025.5.27.14.55.19.dist-info → MeUtils-2025.5.29.18.12.8.dist-info}/entry_points.txt +0 -0
- {MeUtils-2025.5.27.14.55.19.dist-info → MeUtils-2025.5.29.18.12.8.dist-info}/top_level.txt +0 -0
@@ -131,6 +131,7 @@ examples/_openaisdk/openai_qwen.py,sha256=KurTjBr_bN0aFZcMnWeGtEu0bbagYvOfhdYe-p
|
|
131
131
|
examples/_openaisdk/openai_search.py,sha256=HKRTU6y9j_nUfZgrJt2eZ84d7TVT39WN-dcA_BFkVb4,937
|
132
132
|
examples/_openaisdk/openai_sensenova.py,sha256=TnJpHcD1tG5w_x5DsgFgBRWrU8XUkww0uCebgNFfZDM,3216
|
133
133
|
examples/_openaisdk/openai_siliconflow.py,sha256=PSfR9WK1GcBPNtoO-vsCiVjc0NO9rDayBeTq6fO1c30,1513
|
134
|
+
examples/_openaisdk/openai_sophnet.py,sha256=FQFcLGDGHQTxKyZP7LQ-T4YSCyjGnXjF_OfN6THkH7A,2024
|
134
135
|
examples/_openaisdk/openai_step.py,sha256=rwXrGRs5CHhWpNl9oeIHltErp1Or_B3PVKNAoMGY-0c,1054
|
135
136
|
examples/_openaisdk/openai_test.py,sha256=gjPveJYkI_MqCePoVZ6kNlEEChRgedE2hzMkN7gZuqI,1909
|
136
137
|
examples/_openaisdk/openai_together.py,sha256=o9FQKDdLwx8L0zMxrceIakymT2GqFfZ2v4UjVaLyB8M,1591
|
@@ -348,6 +349,7 @@ meutils/apis/aitools/baidu/sdk.py,sha256=5uA1bEqwNYpJirFnwoMTI6Jua3r3DlVNr90RffG
|
|
348
349
|
meutils/apis/audio/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5wLJgkNHA,241
|
349
350
|
meutils/apis/audio/deepinfra.py,sha256=O-IpAnHfx25QCjhB5xaIYVBy5AbyPzmVz-Pr40gpnsM,1773
|
350
351
|
meutils/apis/audio/fish.py,sha256=jPvTveRcDtvGDgRT6EA9WJitAQxftneHxvEJ63yY_cM,8392
|
352
|
+
meutils/apis/audio/minimax.py,sha256=9piBTSlyG5pXaUbp4DIh1myREihIFeGbGNyiBB3lWAc,5949
|
351
353
|
meutils/apis/baidu/__init__.py,sha256=XPkz3DHrDdxCneaZct3y7MaX0Aw9IIseOYOn1YuVBII,243
|
352
354
|
meutils/apis/baidu/bdaitpzs.py,sha256=juIuI_1wC7McNDzulps1SR21z3D4GL4sfHQeAHTc4Q0,12717
|
353
355
|
meutils/apis/baidu/test.py,sha256=nb9ivelHIw84-d1V-MNGRpGoTpLFsNXPk-TTKpjwOfQ,2058
|
@@ -430,7 +432,7 @@ meutils/apis/jimeng/doubao_images.py,sha256=Aeq1hve2PiO3baP50Augsu0u2YFlC7r_X5jg
|
|
430
432
|
meutils/apis/jimeng/doubao_utils.py,sha256=d9KDNkqKN4oxaJRAeGNMouRvzHEhIRXzN3T_HjtTXdM,6025
|
431
433
|
meutils/apis/jimeng/files.py,sha256=AlsAlQGufGm84TldUBLFZpZQGD6INN5xIwHql9ocPj4,11310
|
432
434
|
meutils/apis/jimeng/images.py,sha256=c8kUrFTA3i_Pua3M76gAMZcMNNfi1LeqgKF1h_6o-qs,23013
|
433
|
-
meutils/apis/jimeng/videos.py,sha256=
|
435
|
+
meutils/apis/jimeng/videos.py,sha256=Sbu_2eVHHedjO6H5Jd85eELuOTIBpZt3B98Z72rE8q8,5534
|
434
436
|
meutils/apis/jimeng/videos_videos.py,sha256=A6oWLKcrb6YMIumqUMQS3KVP9bhOEKLUOIlAUlbREmE,12259
|
435
437
|
meutils/apis/jina/__init__.py,sha256=WnZ4LOv-bzC1brd5FZHOHmgq4c0UaFbnksEj2_LzXxQ,292
|
436
438
|
meutils/apis/jina/common.py,sha256=dwSJboUcZtvBTKRcvAUcgMD933VfYCUBDdtxbw1ioiE,1099
|
@@ -479,7 +481,7 @@ meutils/apis/search/__init__.py,sha256=1lg0ogEBgtwTi3XvkL5hMfSd14A6YNLO7M9itEJma
|
|
479
481
|
meutils/apis/search/_web_search.py,sha256=h_rj0jKDbP1ZPvMPPHMhAnfVnjmW6I4XqEddrjYeq5U,2842
|
480
482
|
meutils/apis/search/ark_web_search.py,sha256=i6lrw-AinuH22Gds89TTmrvfJKYMFzBAOc-_1uEAPZI,2013
|
481
483
|
meutils/apis/search/baichuan.py,sha256=OUD0TH7KzqSxtuRJgjJPWO8XRQIoUwW5RX7lWMo7BXw,268
|
482
|
-
meutils/apis/search/metaso.py,sha256=
|
484
|
+
meutils/apis/search/metaso.py,sha256=i7mZiEiJxRGEJcVNL8dGlyvo44YIDvM0QtITlhSFamM,8687
|
483
485
|
meutils/apis/search/metaso_.py,sha256=PqMX3FLYbbAcc9qpqrPZ58LuSF29h0asZO1XMYmXbes,3144
|
484
486
|
meutils/apis/search/n.py,sha256=o7jzNoR5v_nAjgdUvWgebL3nvvo3ECpq2KCj9YhUNr4,4337
|
485
487
|
meutils/apis/search/searxng.py,sha256=RBPeq-AYj5D42gROrZNg0SxIWwWEW0oqrbQ3wEDH9k8,951
|
@@ -491,7 +493,7 @@ meutils/apis/siliconflow/images.py,sha256=yifV6RgtVwyMLj7_JeUAtoD8gSXdIMXuQWy-BX
|
|
491
493
|
meutils/apis/siliconflow/rerankers.py,sha256=GuKT33MmAiVULqNaAO9IIy1Zp570-kYJ6xP03eLCp5Y,1259
|
492
494
|
meutils/apis/siliconflow/text_to_image.py,sha256=rDxk6NIj4TjigcSPVDZknQR9nUpK5CTJBXc3KjI1Z8Y,4457
|
493
495
|
meutils/apis/siliconflow/utils.py,sha256=Awe0V7Mkceop1vWWrw9901cKQ6HHntIn8HbIG0fEo40,2091
|
494
|
-
meutils/apis/siliconflow/videos.py,sha256=
|
496
|
+
meutils/apis/siliconflow/videos.py,sha256=xW9yOFwbgUfaUiunLFVY2mORwwTXvzT_Rlpye2AkdUM,3410
|
495
497
|
meutils/apis/sunoai/__init__.py,sha256=O8J8jKTmvZGGovkF_jCRl3vbL68a4_dXVSxiKIYTkFo,244
|
496
498
|
meutils/apis/sunoai/haimian.py,sha256=CSISElYbbGFnVCxCgAbHM_YZ9ELUjhuFQ6jdYM0hh7E,5521
|
497
499
|
meutils/apis/sunoai/suno.py,sha256=I7UgqkBd7rd8BvOlZqzkf64n7Z2fjw678OnpP5DOKcM,17156
|
@@ -523,9 +525,9 @@ meutils/apis/vidu/vidu_video.py,sha256=rkt18PbQ26r_q82WT2ptE0eL2A0rX6tDsTPjmG-eQ
|
|
523
525
|
meutils/apis/voice_clone/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5wLJgkNHA,241
|
524
526
|
meutils/apis/voice_clone/fish.py,sha256=6m8zcS2KEqmalKy2ArnOaNovyxsQp_sw4d_O1kVZR2s,7146
|
525
527
|
meutils/apis/voice_clone/fish_api.py,sha256=pDpE-B8HFiGIOV3NVd1HmFrCC2GQc3wH-81oNbTS0mY,307
|
526
|
-
meutils/apis/volcengine_apis/__init__.py,sha256=
|
527
|
-
meutils/apis/volcengine_apis/images.py,sha256=
|
528
|
-
meutils/apis/volcengine_apis/tasks.py,sha256=
|
528
|
+
meutils/apis/volcengine_apis/__init__.py,sha256=gtu5ZNCc3up8bzgrCi10uwhsC04HpuCEEPXR_iVCNJE,244
|
529
|
+
meutils/apis/volcengine_apis/images.py,sha256=F9LXXptesnASB_Al7rkEshb2S5r3PixZd8w0mif5468,5463
|
530
|
+
meutils/apis/volcengine_apis/tasks.py,sha256=iL5H_roomph4azdIPnA6h4wNIzblENwvSfOXzBNzjJY,3974
|
529
531
|
meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpMLo,367
|
530
532
|
meutils/async_task/celery_config.py,sha256=BX1h3jY34aO6UmUFakdBUwOdsEiOxCGuUtYDUKFtafc,3461
|
531
533
|
meutils/async_task/common.py,sha256=ZJ4e0CsEJf1ppPmGSwPCwhZBAkUL5xsi_t1ny-bJuko,845
|
@@ -569,12 +571,12 @@ meutils/cmds/subprocess_demo.py,sha256=oTeTIx8k6XwtOT6hZpmy9XNcRErzilqWcdoxcrVcH
|
|
569
571
|
meutils/config_utils/__init__.py,sha256=GhgsStfGJDC8F_YgC6X5Jnj9HkgXJXxeYiJWTAkWKTo,271
|
570
572
|
meutils/config_utils/manager.py,sha256=du-8e9Zdgnrn9e0b4GPR6FGtuQY7DLWNJqgkoU0TZ48,3147
|
571
573
|
meutils/config_utils/lark_utils/__init__.py,sha256=Gf-5Y8uZiqY9jdbfiIboL92MQjOTOo0ZZ245PGxCbaY,297
|
572
|
-
meutils/config_utils/lark_utils/common.py,sha256
|
574
|
+
meutils/config_utils/lark_utils/common.py,sha256=6ZOwVJLPdWHN-kLv3z4yLgpyiAhWEOVTTYycVGisFfE,14408
|
573
575
|
meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfHOno5NxNAio,293
|
574
576
|
meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
|
575
577
|
meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
|
576
578
|
meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
|
577
|
-
meutils/data/VERSION,sha256=
|
579
|
+
meutils/data/VERSION,sha256=1IkQfmY3XLEnPiYzbTnX1_qatD7POpkqqti_YLplo-M,19
|
578
580
|
meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
579
581
|
meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
580
582
|
meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
|
@@ -656,7 +658,7 @@ meutils/jwt_utils/__init__.py,sha256=zs4pIDk4sQ82o7meMwt64_tv2WBMRTaXX9doe0ilvvs
|
|
656
658
|
meutils/jwt_utils/common.py,sha256=u2PPQJ9S-83y8f3Sb5L2OCRP7o-xV56EAmlzMZ8Je0Q,2352
|
657
659
|
meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
|
658
660
|
meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
|
659
|
-
meutils/llm/check_utils.py,sha256=
|
661
|
+
meutils/llm/check_utils.py,sha256=Mr7BXNK85X4UJwPfFc2__AqyxT3-XhM7BgWFgFH4GeY,7306
|
660
662
|
meutils/llm/clients.py,sha256=qZa9WC85Ah4tdEd-EI_P_038mnJLq_z-smaJdwJp-EM,2956
|
661
663
|
meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
|
662
664
|
meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
|
@@ -674,7 +676,7 @@ meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgd
|
|
674
676
|
meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
|
675
677
|
meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
|
676
678
|
meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
|
677
|
-
meutils/llm/completions/qwenllm.py,sha256=
|
679
|
+
meutils/llm/completions/qwenllm.py,sha256=AJ9CJVDcvm3hRStb_wYG08VviM5Nlku4bM9-yPhI1Xo,13188
|
678
680
|
meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
|
679
681
|
meutils/llm/completions/reasoner.py,sha256=rPIxW1iuvLuGhcOa6PkfcJmrTKtJV-8wRKfA09X09tg,6169
|
680
682
|
meutils/llm/completions/todo.py,sha256=asK_W9Ep3Z_CMaYGZWT8rVpR-T5QeyNHU2Ym1uKTqn8,387
|
@@ -812,11 +814,11 @@ meutils/schemas/kuaishou_types.py,sha256=-_-0Fkab5jyJFb_2Y4ugi92JSIDlvWL_e8mH-wM
|
|
812
814
|
meutils/schemas/luma_types.py,sha256=s9RZnZUpdUg8-13_WOWm3bE_e246olplFFjP8ygiDuw,1900
|
813
815
|
meutils/schemas/message_types.py,sha256=AJc9ZT_weaTjfjmwF5CDroV0WJEJKnA3u4bnbHhBamo,6176
|
814
816
|
meutils/schemas/message_types_.py,sha256=oL7uOsewaziSryZywfap09M5Wh9w28RJDuadFuAfCSI,6297
|
815
|
-
meutils/schemas/metaso_types.py,sha256=
|
817
|
+
meutils/schemas/metaso_types.py,sha256=nbZ_5chFtAszZltilE_o-AZcwlqHvzF4ATKwD101WZ0,2325
|
816
818
|
meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
|
817
819
|
meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
|
818
820
|
meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
|
819
|
-
meutils/schemas/openai_types.py,sha256=
|
821
|
+
meutils/schemas/openai_types.py,sha256=KA7OuA0KZGCfB7pFcD-Fvp9cktfQfYScZpRz_Xr0DVk,22977
|
820
822
|
meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX0Xmw,2347
|
821
823
|
meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
|
822
824
|
meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
|
@@ -839,7 +841,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
|
|
839
841
|
meutils/schemas/db/oneapi_types.py,sha256=3t2m0H80saEXmYUZfVFrtEaY117GjZTsSa1GKgkJzqQ,3896
|
840
842
|
meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
|
841
843
|
meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
|
842
|
-
meutils/schemas/oneapi/common.py,sha256=
|
844
|
+
meutils/schemas/oneapi/common.py,sha256=XXN_Sd3E23uSwGURLA8J4iPq81qT8kBJ0IULeNyVG1E,39720
|
843
845
|
meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
|
844
846
|
meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
|
845
847
|
meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
|
@@ -968,9 +970,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
|
|
968
970
|
meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
|
969
971
|
meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
|
970
972
|
meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
|
971
|
-
MeUtils-2025.5.
|
972
|
-
MeUtils-2025.5.
|
973
|
-
MeUtils-2025.5.
|
974
|
-
MeUtils-2025.5.
|
975
|
-
MeUtils-2025.5.
|
976
|
-
MeUtils-2025.5.
|
973
|
+
MeUtils-2025.5.29.18.12.8.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
974
|
+
MeUtils-2025.5.29.18.12.8.dist-info/METADATA,sha256=kJSRH-g-2US1eYhknNyeJGrrZMljCEhnDWMt7prIg2M,32833
|
975
|
+
MeUtils-2025.5.29.18.12.8.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
976
|
+
MeUtils-2025.5.29.18.12.8.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
|
977
|
+
MeUtils-2025.5.29.18.12.8.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
|
978
|
+
MeUtils-2025.5.29.18.12.8.dist-info/RECORD,,
|
@@ -0,0 +1,47 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : openai_siliconflow
|
5
|
+
# @Time : 2024/6/26 10:42
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
from meutils.llm.clients import OpenAI
|
13
|
+
|
14
|
+
# from openai import OpenAI
|
15
|
+
|
16
|
+
|
17
|
+
client = OpenAI(
|
18
|
+
base_url=os.getenv("SOPHNET_BASE_URL"),
|
19
|
+
# api_key=os.getenv("SOPHNET_API_KEY"),
|
20
|
+
|
21
|
+
api_key="EZvbHTgRIFKQaRpT92kFVCnVZBJXuWCsqw89nAfZZQC5T4A_57QXba21ZKpVCIcBpFb-WBemZ7BNZdJjCHyn1A"
|
22
|
+
|
23
|
+
)
|
24
|
+
|
25
|
+
# EZvbHTgRIFKQaRpT92kFVCnVZBJXuWCsqw89nAfZZQC5T4A_57QXba21ZKpVCIcBpFb-WBemZ7BNZdJjCHyn1A
|
26
|
+
|
27
|
+
model = "DeepSeek-Prover-V2"
|
28
|
+
model = "DeepSeek-R1"
|
29
|
+
model = "DeepSeek-v3"
|
30
|
+
|
31
|
+
prompt = """
|
32
|
+
Complete the following Lean 4 code:\n\nlean4\nimport Mathlib\n\nopen Finset\n\n/-- For a set $S$ of nonnegative integers, let $r_S(n)$ denote the number of ordered pairs $(s_1, s_2)$ such that $s_1 \in S$, $s_2 \in S$, $s_1 \ne s_2$, and $s_1 + s_2 = n$. Is it possible to partition the nonnegative integers into two sets $A$ and $B$ in such a way that $r_A(n) = r_B(n)$ for all $n$?\n Prove that the answer is: Yes, such a partition is possible.-/\ntheorem omni_theorem_3521 :\n ∃ A B : Set ℕ,\n A ∪ B = ℕ ∧\n A ∩ B = ∅ ∧\n ∀ n : ℕ, {p : ℕ × ℕ | p.1 ∈ A ∧ p.2 ∈ A ∧ p.1 ≠ p.2 ∧ p.1 + p.2 = n}.ncard =\n {p : ℕ × ℕ | p.1 ∈ B ∧ p.2 ∈ B ∧ p.1 ≠ p.2 ∧ p.1 + p.2 = n}.ncard := by\n\n\nBefore producing the Lean 4 code to formally prove the given theorem, provide a detailed proof plan outlining the main proof steps and strategies.\nThe plan should highlight key ideas, intermediate lemmas, and proof structures that will guide the construction of the final formal proof.
|
33
|
+
"""
|
34
|
+
|
35
|
+
messages = [
|
36
|
+
{'role': 'user', 'content': prompt}
|
37
|
+
]
|
38
|
+
response = client.chat.completions.create(
|
39
|
+
model=model,
|
40
|
+
|
41
|
+
messages=messages,
|
42
|
+
stream=True,
|
43
|
+
max_tokens=10,
|
44
|
+
)
|
45
|
+
print(response)
|
46
|
+
# for chunk in response:
|
47
|
+
# print(chunk)
|
@@ -0,0 +1,202 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : minimax
|
5
|
+
# @Time : 2025/5/27 18:37
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
"""
|
11
|
+
T2A v2(语音生成)
|
12
|
+
|
13
|
+
T2A Large v2(异步超长文本语音生成)
|
14
|
+
|
15
|
+
快速复刻(Voice Cloning)
|
16
|
+
|
17
|
+
Voice Generation(文生音色)
|
18
|
+
|
19
|
+
"""
|
20
|
+
import os
|
21
|
+
|
22
|
+
from meutils.pipe import *
|
23
|
+
from meutils.decorators.retry import retrying
|
24
|
+
|
25
|
+
from meutils.io.files_utils import to_bytes, to_url
|
26
|
+
from meutils.schemas.openai_types import TTSRequest
|
27
|
+
|
28
|
+
BASE_URL = os.getenv("MINIMAX_BASE_URL")
|
29
|
+
|
30
|
+
|
31
|
+
@retrying()
|
32
|
+
async def create_tts(payload: dict, token: Optional[str] = None):
|
33
|
+
"""https://platform.minimaxi.com/document/T2A%20V2?key=66719005a427f0c8a5701643"""
|
34
|
+
group_id, api_key = (token or os.getenv("MINIMAX_API_KEY")).split('|')
|
35
|
+
|
36
|
+
headers = {
|
37
|
+
"Authorization": f"Bearer {api_key}",
|
38
|
+
"Content-Type": "application/json"
|
39
|
+
}
|
40
|
+
|
41
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=300) as client:
|
42
|
+
response = await client.post(f"/t2a_v2?GroupId={group_id}", json=payload)
|
43
|
+
response.raise_for_status()
|
44
|
+
"""
|
45
|
+
状态码。1000,未知错误;1001,超时;1002,触发限流;1004,鉴权失败;1039,触发TPM限流;1042,非法字符超过10%;2013,输入格式信息不正常。
|
46
|
+
"""
|
47
|
+
|
48
|
+
data = response.json()
|
49
|
+
return data
|
50
|
+
|
51
|
+
|
52
|
+
async def create_tts_for_openai(request: TTSRequest, token: Optional[str] = None):
|
53
|
+
if request.instructions:
|
54
|
+
if len(request.input) < 500:
|
55
|
+
data = await text2voice(request, token)
|
56
|
+
_ = bytes.fromhex(data["trial_audio"])
|
57
|
+
if request.response_format == "url":
|
58
|
+
return {"data": {"audio": await to_url(_, filename=f'{shortuuid.random()}.mp3')}}
|
59
|
+
else:
|
60
|
+
return _
|
61
|
+
else:
|
62
|
+
request_input = request.input
|
63
|
+
request.input = request_input[:500]
|
64
|
+
data = await text2voice(request, token)
|
65
|
+
|
66
|
+
logger.debug("text2voice => tts")
|
67
|
+
request.instructions = None # 跳出递归
|
68
|
+
request.voice = data["voice_id"]
|
69
|
+
request.input = request_input
|
70
|
+
return await create_tts_for_openai(request, token)
|
71
|
+
|
72
|
+
payload = {
|
73
|
+
# speech-02-hd、speech-02-turbo、speech-01-hd、speech-01-turbo、speech-01-240228、speech-01-turbo-240228
|
74
|
+
"model": request.model,
|
75
|
+
"text": request.input,
|
76
|
+
"timber_weights": [
|
77
|
+
{
|
78
|
+
"voice_id": request.voice or "male-qn-qingse",
|
79
|
+
"weight": 100
|
80
|
+
}
|
81
|
+
],
|
82
|
+
"voice_setting": {
|
83
|
+
"voice_id": "",
|
84
|
+
"speed": request.speed, # 范围[0.5,2],默认值为1.0
|
85
|
+
"pitch": 0,
|
86
|
+
"vol": 1,
|
87
|
+
"latex_read": False,
|
88
|
+
|
89
|
+
# 当前支持7种情绪:高兴,悲伤,愤怒,害怕,厌恶,惊讶,中性;
|
90
|
+
# 参数范围["happy", "sad", "angry", "fearful", "disgusted", "surprised", "neutral"]
|
91
|
+
# "emotion": "neutral",
|
92
|
+
},
|
93
|
+
"audio_setting": {
|
94
|
+
"sample_rate": 32000,
|
95
|
+
"bitrate": 128000,
|
96
|
+
"format": "mp3"
|
97
|
+
},
|
98
|
+
"language_boost": "auto"
|
99
|
+
}
|
100
|
+
|
101
|
+
data = await create_tts(payload, token)
|
102
|
+
|
103
|
+
if request.response_format == "url":
|
104
|
+
if data.get("base_resp").get("status_code") == 0:
|
105
|
+
_ = bytes.fromhex(data["data"]["audio"])
|
106
|
+
data["data"]["audio"] = await to_url(_, filename=f'{shortuuid.random()}.mp3')
|
107
|
+
return data
|
108
|
+
else:
|
109
|
+
data = bytes.fromhex(data["data"]["audio"])
|
110
|
+
return data
|
111
|
+
|
112
|
+
|
113
|
+
async def text2voice(request: TTSRequest, token: Optional[str] = None):
|
114
|
+
group_id, api_key = (token or os.getenv("MINIMAX_API_KEY")).split('|')
|
115
|
+
|
116
|
+
if "female" in request.voice:
|
117
|
+
request.voice = "female"
|
118
|
+
elif "male" in request.voice:
|
119
|
+
request.voice = "male"
|
120
|
+
else:
|
121
|
+
request.voice = "female"
|
122
|
+
|
123
|
+
# child
|
124
|
+
|
125
|
+
headers = {
|
126
|
+
"Authorization": f"Bearer {api_key}",
|
127
|
+
"Content-Type": "application/json"
|
128
|
+
}
|
129
|
+
payload = {
|
130
|
+
"gender": request.voice,
|
131
|
+
|
132
|
+
# 1.child、2.teenager、3.young、4.middle-aged、5.old。
|
133
|
+
"age": "young",
|
134
|
+
|
135
|
+
"voice_desc": [request.instructions],
|
136
|
+
|
137
|
+
"text": request.input
|
138
|
+
}
|
139
|
+
|
140
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=300) as client:
|
141
|
+
response = await client.post("/text2voice", json=payload)
|
142
|
+
response.raise_for_status()
|
143
|
+
"""
|
144
|
+
{
|
145
|
+
"trial_audio": "hex编码音频",
|
146
|
+
"voice_id": "voiceID",
|
147
|
+
"base_resp": {
|
148
|
+
"status_code": 0,
|
149
|
+
"status_msg": "success"
|
150
|
+
}
|
151
|
+
}
|
152
|
+
"""
|
153
|
+
|
154
|
+
data = response.json()
|
155
|
+
|
156
|
+
# logger.debug(await to_url(bytes.fromhex(data["trial_audio"]), filename=f'{shortuuid.random()}.mp3'))
|
157
|
+
|
158
|
+
return data
|
159
|
+
|
160
|
+
|
161
|
+
if __name__ == '__main__':
|
162
|
+
payload = {
|
163
|
+
"model": "speech-02-hd",
|
164
|
+
"text": "人工智能不是要替代人类,而是要增强人类的能力。",
|
165
|
+
"timber_weights": [
|
166
|
+
{
|
167
|
+
"voice_id": "Boyan_new_platform",
|
168
|
+
"weight": 100
|
169
|
+
}
|
170
|
+
],
|
171
|
+
"voice_setting": {
|
172
|
+
"voice_id": "",
|
173
|
+
"speed": 1,
|
174
|
+
"pitch": 0,
|
175
|
+
"vol": 1,
|
176
|
+
"latex_read": False
|
177
|
+
},
|
178
|
+
"audio_setting": {
|
179
|
+
"sample_rate": 32000,
|
180
|
+
"bitrate": 128000,
|
181
|
+
"format": "mp3"
|
182
|
+
},
|
183
|
+
"language_boost": "auto"
|
184
|
+
}
|
185
|
+
|
186
|
+
# arun(create_tts(payload))
|
187
|
+
|
188
|
+
request = TTSRequest(
|
189
|
+
model="speech-02-hd",
|
190
|
+
# input="你好呀" * 100,
|
191
|
+
input="你好呀" * 200,
|
192
|
+
|
193
|
+
instructions="委婉",
|
194
|
+
|
195
|
+
voice='male',
|
196
|
+
|
197
|
+
response_format="url"
|
198
|
+
)
|
199
|
+
|
200
|
+
arun(create_tts_for_openai(request))
|
201
|
+
|
202
|
+
# arun(text2voice(request))
|
meutils/apis/jimeng/videos.py
CHANGED
@@ -156,9 +156,12 @@ if __name__ == '__main__':
|
|
156
156
|
image_url="https://oss.ffire.cc/files/kling_watermark.png", # 图生有问题
|
157
157
|
)
|
158
158
|
|
159
|
-
with timer():
|
160
|
-
|
161
|
-
|
159
|
+
# with timer():
|
160
|
+
# r = arun(create_task(request, token))
|
161
|
+
# print(r)
|
162
162
|
|
163
163
|
# arun(get_task(r.task_id))
|
164
164
|
# arun(get_task(r.task_id, "d2d142fc877e696484cc2fc521127b36"))
|
165
|
+
task_id = "4620067333122"
|
166
|
+
|
167
|
+
arun(get_task(task_id, token))
|
meutils/apis/search/metaso.py
CHANGED
@@ -30,12 +30,20 @@ MODELS = {
|
|
30
30
|
|
31
31
|
"deepseek-r1-metasearch": "strong-research",
|
32
32
|
|
33
|
+
"deepseek-r1-metaresearch": "strong-research",
|
34
|
+
|
33
35
|
"meta-research": "strong-research",
|
36
|
+
|
37
|
+
"meta-search": "detail",
|
38
|
+
"meta-deepsearch": "strong-research",
|
34
39
|
"meta-deepresearch": "strong-research",
|
35
|
-
|
40
|
+
|
41
|
+
"meta-search:scholar": "detail",
|
42
|
+
"meta-deepsearch:scholar": "strong-research",
|
43
|
+
"meta-deepresearch:scholar": "strong-research",
|
44
|
+
|
36
45
|
}
|
37
46
|
|
38
|
-
""
|
39
47
|
# pattern = re.compile('\[\[(\d+)\]\]')
|
40
48
|
pattern = re.compile(r'\[\[(\d+)\]\]')
|
41
49
|
|
@@ -105,18 +113,18 @@ async def create(request: Union[ChatCompletionRequest, CompletionRequest]):
|
|
105
113
|
|
106
114
|
system_fingerprint = request.system_fingerprint
|
107
115
|
|
108
|
-
engine_type =
|
116
|
+
engine_type = None
|
109
117
|
if ":" in request.model:
|
110
118
|
_, engine_type = request.model.split(':')
|
111
119
|
|
112
120
|
model = None
|
113
|
-
if request.model
|
114
|
-
model = "
|
115
|
-
system_fingerprint = "deepseek-r1"
|
121
|
+
if any(i in request.model for i in {"deep", "thinking"}):
|
122
|
+
model = system_fingerprint = "fast_thinking"
|
116
123
|
|
117
124
|
request = MetasoRequest(
|
118
125
|
model=model,
|
119
126
|
mode=MODELS.get(request.model, "detail"),
|
127
|
+
engineType=engine_type,
|
120
128
|
question=request.last_content,
|
121
129
|
)
|
122
130
|
|
@@ -190,13 +198,23 @@ if __name__ == '__main__':
|
|
190
198
|
# arun(get_access_token(request))
|
191
199
|
"""
|
192
200
|
metasearch-
|
201
|
+
|
202
|
+
model-mode
|
193
203
|
"""
|
194
204
|
|
195
205
|
request = ChatCompletionRequest(
|
206
|
+
|
207
|
+
# model="meta-search",
|
208
|
+
# model="meta-deepsearch",
|
209
|
+
# model="meta-deepresearch",
|
210
|
+
|
211
|
+
model="meta-search:video",
|
212
|
+
|
213
|
+
# model="deepseek-r1-metasearch",
|
214
|
+
|
196
215
|
# model="deepseek-search",
|
197
216
|
# model="deepseek-r1-search",
|
198
217
|
# model="11meta-deepresearch",
|
199
|
-
model="meta-search",
|
200
218
|
|
201
219
|
# model="ai-search",
|
202
220
|
# model="ai-search:scholar",
|
@@ -206,7 +224,7 @@ if __name__ == '__main__':
|
|
206
224
|
|
207
225
|
# messages=[{'role': 'user', 'content': '今天南京天气怎么样'}]
|
208
226
|
# messages=[{'role': 'user', 'content': '1+1'}]
|
209
|
-
messages=[{'role': 'user', 'content': '
|
227
|
+
messages=[{'role': 'user', 'content': '周杰伦是谁'}]
|
210
228
|
|
211
229
|
)
|
212
230
|
|
@@ -46,7 +46,7 @@ async def create_task(request: VideoRequest, token: Optional[str] = None):
|
|
46
46
|
request.model = "Wan-AI/Wan2.1-T2V-14B-720P-Turbo"
|
47
47
|
|
48
48
|
if request.image:
|
49
|
-
request.image = await to_base64(request.image)
|
49
|
+
# request.image = await to_base64(request.image)
|
50
50
|
request.model = request.model.replace("-T2V-", "-I2V-")
|
51
51
|
|
52
52
|
payload = request.model_dump(exclude_none=True)
|
@@ -90,14 +90,15 @@ async def generate(request: ImageRequest, token: Optional[str] = None):
|
|
90
90
|
|
91
91
|
if __name__ == '__main__':
|
92
92
|
token = f"""{os.getenv("VOLC_ACCESSKEY")}|{os.getenv("VOLC_SECRETKEY")}"""
|
93
|
+
token = "AKLTOWM5ZTc5ZDFhZWNlNDIzODkwYmZiNjEyNzYwNzE0MTI|T0RCbFpHRTJaRFEyWmpjeE5ERXpNR0ptWlRCaU16WmhPRE0wWVdKa01tTQ=="
|
93
94
|
prompt = """
|
94
95
|
3D魔童哪吒 c4d 搬砖 很开心, 很快乐, 精神抖擞, 背景是数不清的敖丙虚化 视觉冲击力强 大师构图 色彩鲜艳丰富 吸引人 背景用黄金色艺术字写着“搬砖挣钱” 冷暖色对比
|
95
96
|
"""
|
96
97
|
|
97
|
-
prompt = """
|
98
|
-
https://oss.ffire.cc/files/kling_watermark.png
|
99
|
-
让这个女人带上眼镜 衣服换个颜色
|
100
|
-
"""
|
98
|
+
# prompt = """
|
99
|
+
# https://oss.ffire.cc/files/kling_watermark.png
|
100
|
+
# 让这个女人带上眼镜 衣服换个颜色
|
101
|
+
# """
|
101
102
|
|
102
103
|
request = ImageRequest(
|
103
104
|
model="high_aes_general_v30l_zt2i",
|
@@ -15,13 +15,28 @@ https://www.volcengine.com/docs/6791/1384311
|
|
15
15
|
import os
|
16
16
|
|
17
17
|
from meutils.pipe import *
|
18
|
-
from meutils.
|
18
|
+
from meutils.caches import rcache
|
19
|
+
|
20
|
+
from meutils.decorators.retry import retrying
|
21
|
+
from meutils.db.redis_db import redis_aclient
|
22
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
19
23
|
from meutils.schemas.jimeng_types import VideoRequest, ImageRequest
|
20
24
|
|
21
25
|
from volcengine.visual.VisualService import VisualService
|
26
|
+
from fastapi import APIRouter, File, UploadFile, Query, Form, Depends, Request, HTTPException, status, BackgroundTasks
|
27
|
+
|
28
|
+
FEISHU = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=OiHxsE"
|
29
|
+
|
22
30
|
|
31
|
+
# and "Access Denied" not in str(r)
|
32
|
+
|
33
|
+
@retrying(max_retries=5, predicate=lambda r: "Concurrent Limit" in str(r)) # 限流
|
34
|
+
async def create_task(request: Union[ImageRequest, VideoRequest, dict], token: Optional[str] = None):
|
35
|
+
"""https://www.volcengine.com/docs/6791/1399614"""
|
36
|
+
token = token or await get_next_token_for_polling(FEISHU)
|
37
|
+
|
38
|
+
logger.debug(token)
|
23
39
|
|
24
|
-
def create_task(request: Union[ImageRequest, VideoRequest], token: Optional[str] = None):
|
25
40
|
visual_service = VisualService()
|
26
41
|
|
27
42
|
if token:
|
@@ -30,26 +45,77 @@ def create_task(request: Union[ImageRequest, VideoRequest], token: Optional[str]
|
|
30
45
|
visual_service.set_sk(sk)
|
31
46
|
|
32
47
|
# request
|
33
|
-
|
48
|
+
if not isinstance(request, dict):
|
49
|
+
request = request.model_dump(exclude_none=True)
|
50
|
+
|
51
|
+
response = visual_service.cv_sync2async_submit_task(request) # 同步转异步
|
52
|
+
|
53
|
+
"""
|
54
|
+
{'code': 10000,
|
55
|
+
'data': {'task_id': '15106285208671192523'},
|
56
|
+
'message': 'Success',
|
57
|
+
'request_id': '202505291707517FC0D2B135CEE77BC4A5',
|
58
|
+
'status': 10000,
|
59
|
+
'time_elapsed': '150.967328ms'}
|
60
|
+
"""
|
61
|
+
|
62
|
+
logger.debug(response)
|
63
|
+
if response.get('code') == 10000:
|
64
|
+
await redis_aclient.set(response['data']['task_id'], token, ex=7 * 24 * 3600)
|
65
|
+
else:
|
66
|
+
raise Exception(response)
|
67
|
+
|
68
|
+
return response
|
69
|
+
|
70
|
+
|
71
|
+
#
|
72
|
+
# @retrying(max_retries=5, predicate=lambda r: "Concurrent Limit" in str(r)) # 限流
|
73
|
+
# @rcache(ttl=5)
|
74
|
+
async def get_task(request: dict):
|
75
|
+
task_id = request.get("task_id", "")
|
76
|
+
token = await redis_aclient.get(task_id) # 绑定对应的 token
|
77
|
+
token = token and token.decode()
|
78
|
+
if not token:
|
79
|
+
raise HTTPException(status_code=404, detail="TaskID not found")
|
80
|
+
|
81
|
+
visual_service = VisualService()
|
82
|
+
|
83
|
+
if token:
|
84
|
+
ak, sk = token.split('|')
|
85
|
+
visual_service.set_ak(ak)
|
86
|
+
visual_service.set_sk(sk)
|
87
|
+
|
88
|
+
response = visual_service.cv_get_result(request) # 同步转异步
|
89
|
+
|
90
|
+
logger.debug(response)
|
34
91
|
|
35
|
-
response = visual_service.cv_submit_task(payload)
|
36
92
|
return response
|
37
93
|
|
38
94
|
|
39
95
|
if __name__ == '__main__':
|
40
96
|
token = f"""{os.getenv("VOLC_ACCESSKEY")}|{os.getenv("VOLC_SECRETKEY")}"""
|
97
|
+
token = "AKLTOWM5ZTc5ZDFhZWNlNDIzODkwYmZiNjEyNzYwNzE0MTI|T0RCbFpHRTJaRFEyWmpjeE5ERXpNR0ptWlRCaU16WmhPRE0wWVdKa01tTQ=="
|
41
98
|
prompt = """
|
42
99
|
3D魔童哪吒 c4d 搬砖 很开心, 很快乐, 精神抖擞, 背景是数不清的敖丙虚化 视觉冲击力强 大师构图 色彩鲜艳丰富 吸引人 背景用黄金色艺术字写着“搬砖挣钱” 冷暖色对比
|
43
100
|
"""
|
44
101
|
|
45
102
|
request = ImageRequest(
|
103
|
+
req_key="high_aes_general_v30l_zt2i",
|
46
104
|
prompt=prompt,
|
47
105
|
)
|
48
106
|
|
49
|
-
request = VideoRequest(
|
50
|
-
|
51
|
-
)
|
107
|
+
# request = VideoRequest(
|
108
|
+
# prompt=prompt
|
109
|
+
# )
|
52
110
|
|
111
|
+
# arun(create_task(request, token))
|
112
|
+
# arun(create_task(request))
|
53
113
|
|
114
|
+
# request = {
|
115
|
+
# "task_id": "141543714223689974",
|
116
|
+
# "req_key": "high_aes_general_v30l_zt2i"
|
117
|
+
# }
|
118
|
+
# #
|
119
|
+
# arun(get_task(request))
|
54
120
|
|
55
|
-
print(
|
121
|
+
print(bjson(request))
|
@@ -307,7 +307,7 @@ async def get_dataframe(iloc_tuple: Optional[tuple] = None, feishu_url: Optional
|
|
307
307
|
async def get_series(feishu_url: str, index: int = 0, duplicated: bool = False): # 系统配置
|
308
308
|
df = await aget_spreadsheet_values(feishu_url=feishu_url, to_dataframe=True)
|
309
309
|
series = df[index]
|
310
|
-
values = [i for i in series if i] # todo: 非标准字符串处理
|
310
|
+
values = [i for i in series if i and isinstance(i, str)] # todo: 非标准字符串处理
|
311
311
|
if duplicated: # 有序去重
|
312
312
|
values = values | xUnique
|
313
313
|
|
meutils/data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2025.05.
|
1
|
+
2025.05.29.18.12.08
|