MeUtils 2025.6.3.9.35.1__py3-none-any.whl → 2025.6.4.17.6.12__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.
@@ -131,7 +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
+ examples/_openaisdk/openai_sophnet.py,sha256=Z0ZmW9jWmwYWWp0sr6uacVwLb8pa8UPG25mw1Zu8_1c,1653
135
135
  examples/_openaisdk/openai_step.py,sha256=rwXrGRs5CHhWpNl9oeIHltErp1Or_B3PVKNAoMGY-0c,1054
136
136
  examples/_openaisdk/openai_test.py,sha256=gjPveJYkI_MqCePoVZ6kNlEEChRgedE2hzMkN7gZuqI,1909
137
137
  examples/_openaisdk/openai_together.py,sha256=o9FQKDdLwx8L0zMxrceIakymT2GqFfZ2v4UjVaLyB8M,1591
@@ -367,11 +367,13 @@ meutils/apis/dreamfaceapp/audios.py,sha256=msI3a9WfZFcfZu2O1RNJ2DsTf0Ow_XxG1eJL0
367
367
  meutils/apis/dreamfaceapp/images.py,sha256=Igzn2BgdPJ0_78vsdZGxLqk-FWRrr_kfOtv0et0Nz5g,3364
368
368
  meutils/apis/dreamfaceapp/videos.py,sha256=xtz4GYRTdVE-D7xxFpSaH5Kl5ewXDx9Ogvtkf9LKXUc,4049
369
369
  meutils/apis/fal/__init__.py,sha256=A7w3ZAS7Tv20N4X4Em6NshDxKSCPAzaPxHJTbM3BbyM,272
370
+ meutils/apis/fal/chat.py,sha256=ppDPIS7tlYVrcAeE1uwRRs7-_a9aJJiA83dnpwrzJl4,2426
370
371
  meutils/apis/fal/files.py,sha256=Gppdo96uw8-TCDr8P691jV7dK9Si-E-kJXFJR5BVt-Q,1373
371
- meutils/apis/fal/images.py,sha256=uOeEKQxFE7s9kG8l8kl5FOJy4Usjeh4PLROZPAnWokc,11528
372
+ meutils/apis/fal/images.py,sha256=lm7oRrqG7zVrUkUrQjH19vHjwJw00hqIEp1Q5In_PWI,11757
372
373
  meutils/apis/fal/images_.py,sha256=C-C1TTQtMJ6RRcd-4FeYPn0R5IpPRPUFmBbrTVs_ypA,1446
373
374
  meutils/apis/fal/kling_videos.py,sha256=kL4SRpZafRSCRODtiNqeXauxfamHNdcBTE65BrG1rVA,2554
374
375
  meutils/apis/fal/pd.py,sha256=oPrMK_FJqohl2Kf0U0it8SqgvIlSEYFcSX8sfVkD8bU,311
376
+ meutils/apis/fal/tasks.py,sha256=_SDfMFeC1FAjzuTERm3Y75Dda_6h84dslnbsPoZA94Q,3536
375
377
  meutils/apis/fal/videos.py,sha256=SSJlJRptNGe2k4amlQOAbsYuwoAogLGr35C6KkcgBQM,3593
376
378
  meutils/apis/gitee/__init__.py,sha256=rmAktsUvEtk7_F28P5C65wuu00nmrbu5bOw6PiCRTS0,271
377
379
  meutils/apis/gitee/色情图片识别.py,sha256=liCftD7sL6Fw4Aq6r1PY-qxsxm5XkgVdDvlDR39lrEU,757
@@ -433,7 +435,7 @@ meutils/apis/jimeng/doubao_images.py,sha256=Aeq1hve2PiO3baP50Augsu0u2YFlC7r_X5jg
433
435
  meutils/apis/jimeng/doubao_utils.py,sha256=d9KDNkqKN4oxaJRAeGNMouRvzHEhIRXzN3T_HjtTXdM,6025
434
436
  meutils/apis/jimeng/files.py,sha256=AlsAlQGufGm84TldUBLFZpZQGD6INN5xIwHql9ocPj4,11310
435
437
  meutils/apis/jimeng/images.py,sha256=c8kUrFTA3i_Pua3M76gAMZcMNNfi1LeqgKF1h_6o-qs,23013
436
- meutils/apis/jimeng/videos.py,sha256=Sbu_2eVHHedjO6H5Jd85eELuOTIBpZt3B98Z72rE8q8,5534
438
+ meutils/apis/jimeng/videos.py,sha256=MRDXz96BYEuS4vVCHeXaoNE6nfpq0B6UCf1_dafCE-8,6127
437
439
  meutils/apis/jimeng/videos_videos.py,sha256=A6oWLKcrb6YMIumqUMQS3KVP9bhOEKLUOIlAUlbREmE,12259
438
440
  meutils/apis/jina/__init__.py,sha256=WnZ4LOv-bzC1brd5FZHOHmgq4c0UaFbnksEj2_LzXxQ,292
439
441
  meutils/apis/jina/common.py,sha256=dwSJboUcZtvBTKRcvAUcgMD933VfYCUBDdtxbw1ioiE,1099
@@ -577,7 +579,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
577
579
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
578
580
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
579
581
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
580
- meutils/data/VERSION,sha256=jE5zqQVLqLyQGBohzYB4naBeviIcpDWKXFxrdauSjC8,19
582
+ meutils/data/VERSION,sha256=0YY67RQBhag50alMG-8-CRsi-Ae3vLWSUkqViv4xuWI,19
581
583
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
582
584
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
583
585
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -659,12 +661,12 @@ meutils/jwt_utils/__init__.py,sha256=zs4pIDk4sQ82o7meMwt64_tv2WBMRTaXX9doe0ilvvs
659
661
  meutils/jwt_utils/common.py,sha256=u2PPQJ9S-83y8f3Sb5L2OCRP7o-xV56EAmlzMZ8Je0Q,2352
660
662
  meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
661
663
  meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
662
- meutils/llm/check_utils.py,sha256=3OkmmGkodvVlhb2qqXTPo5ZBQ2eWGxgGADCqoI71E44,7991
664
+ meutils/llm/check_utils.py,sha256=_VskvZPMaklni2WJXULrtiMaixhHfnWBrqA8gNn_9K0,8094
663
665
  meutils/llm/clients.py,sha256=qZa9WC85Ah4tdEd-EI_P_038mnJLq_z-smaJdwJp-EM,2956
664
666
  meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
665
667
  meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
666
668
  meutils/llm/models.py,sha256=dDdU_WzcQGdgaFOYtMJpDYmt5uKFKEz2pc0guqNVkSk,3175
667
- meutils/llm/utils.py,sha256=4u3b8VO3wX3xKny1AdV4579qXux1YA4k5gI-CYPtx0o,4279
669
+ meutils/llm/utils.py,sha256=GuM5uu08-iIeE7g6GeJdIz62_5CiLShmA10dIKFGLPI,4823
668
670
  meutils/llm/x.py,sha256=ETvKKDTmDNrik0K2-_a_SEQxyV4X4-fy0JPrAOLNPv4,1732
669
671
  meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf-ZTqks,244
670
672
  meutils/llm/completions/chat_gemini.py,sha256=0x9HQxuDAHoWJ79JoaEKKWVNy4PRyd-Et-j8V93NqkY,4395
@@ -680,12 +682,13 @@ meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh
680
682
  meutils/llm/completions/qwenllm.py,sha256=AJ9CJVDcvm3hRStb_wYG08VviM5Nlku4bM9-yPhI1Xo,13188
681
683
  meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
682
684
  meutils/llm/completions/reasoner.py,sha256=rPIxW1iuvLuGhcOa6PkfcJmrTKtJV-8wRKfA09X09tg,6169
685
+ meutils/llm/completions/sophnet.py,sha256=qCQrgxhmxoN50DzpFp-UDw4DQfliOhSWCnqra94qj5I,1925
683
686
  meutils/llm/completions/todo.py,sha256=asK_W9Ep3Z_CMaYGZWT8rVpR-T5QeyNHU2Ym1uKTqn8,387
684
687
  meutils/llm/completions/tryblend.py,sha256=NfVRktn1QiE2k60PzEI-LmKuxZCc7mtL_KlsrVcZg4k,8957
685
688
  meutils/llm/completions/tune.py,sha256=FypfUgsB34t-E9xI6WydJYEk_-phscrLOX1iUCeKb_E,10138
686
689
  meutils/llm/completions/x.py,sha256=XE8aCyuhkpYq0nho1mq9lAdRU1yOPc8BpvCpNYYMYqM,630
687
690
  meutils/llm/completions/xx.py,sha256=gizeioftvpIIZdSup72F8v9NM_1dDeULJa4ynqeoVvk,328
688
- meutils/llm/completions/yuanbao.py,sha256=8jU0_KRLqaUb3xXabIclSo3-z0f0qSJ1Gx3_LoMIoh8,7577
691
+ meutils/llm/completions/yuanbao.py,sha256=MzF4gYAkIPbIEF8uu94pxaWJX10QtejI1GCOhkYAGbg,7577
689
692
  meutils/llm/completions/agents/__init__.py,sha256=Wklnf7FTHm43hyVwfT8FXX44nqdOTykPb_HORIqDuuw,270
690
693
  meutils/llm/completions/agents/search.py,sha256=GKsk0NRy6jsbSu8E9mdBWObJzroGE-L7Iuo5W2MK_u0,5057
691
694
  meutils/llm/completions/assistants/__init__.py,sha256=1QWMIG5dA2wH7550ZdNpW00NPU9q8C-eXybjTsm1aSU,271
@@ -697,11 +700,11 @@ meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cp
697
700
  meutils/llm/completions/rag/rag.py,sha256=mnC4bZUMuNYuPFXMBqXMofj_ms8uP5MMw1leJ5jXA_k,1209
698
701
  meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuRjSGQ,271
699
702
  meutils/llm/openai_polling/__init__.py,sha256=qmAMITPtrTD-y57RiJXewuOic7iLKBhx8mz5uvcxsy8,270
700
- meutils/llm/openai_polling/chat.py,sha256=w-CmmihV4BRS5CjnwCLCx-XvlxeVcjGR1JoLY3tT47w,8194
703
+ meutils/llm/openai_polling/chat.py,sha256=WSQnKEJlZkJjS8CVq6RWouu7FCGgjw5Z5Aj2n1XkYsY,8049
701
704
  meutils/llm/openai_polling/images.py,sha256=qKMk3vCvamS_48ceC-_y2LPpP5XsD476FHG9MUu8kks,1042
702
705
  meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
703
- meutils/llm/openai_utils/adapters.py,sha256=9BSfA2GMTpu547gZqDLP14EkBU3J5VCiYBB2ppYcfEg,1785
704
- meutils/llm/openai_utils/common.py,sha256=nche6MngaxbXpKcmZbUQuAe_NgSCg9Nk7P0BLAJQ4ZI,10024
706
+ meutils/llm/openai_utils/adapters.py,sha256=1oVAZ6Qw8VbnlBTHELpq8HxMu_kYsYUGkWkZWazxB4c,1863
707
+ meutils/llm/openai_utils/common.py,sha256=UMZPB4__Xs1iCyccMFrEwTYn1lJJuNIGL-TfblUBM1g,10451
705
708
  meutils/llm/openai_utils/tool_outputs.py,sha256=6mNkm4btgy0uzF98gdmcah1bYmoflXdLz2Sqm0KC_LQ,1224
706
709
  meutils/llm/output_parsers/__init__.py,sha256=EGKvgUD47ReyV5Z9RXDCrdDLgfKMHdoayzsXVmBuQxw,3474
707
710
  meutils/llm/prompts/__init__.py,sha256=VlEEViFoUSRS0EF1rHJXHh9Ik9FpvAiR1luKjHOsUc4,8580
@@ -807,7 +810,7 @@ meutils/schemas/fish_types.py,sha256=yC0ZFr3Ebh8F0OhtMsXYaIfNNvzOM2LT9YtKTaRoHGU
807
810
  meutils/schemas/hailuo_types.py,sha256=ubG6qIU506tq51UsURuwlPhtPNa49xHSoBzBtW7jg_0,7431
808
811
  meutils/schemas/haimian_types.py,sha256=jGu484UviAeBgy5OIUyRY4uYCxXfv16zDPqiJQr9wNQ,1364
809
812
  meutils/schemas/idphoto_types.py,sha256=nuHbpppejRSkJCiQ7YKx0Gnke0ShKZhOvdg0e7tk9-0,1074
810
- meutils/schemas/image_types.py,sha256=zJnR-XrKJI7WK1ovLfKkKEaM_SdZnWmaPlJgI5SDVjM,14682
813
+ meutils/schemas/image_types.py,sha256=4R2zZDdvT29Mmalvf2AGXXCi2OSN-V5hPyLyvk0bHb8,14695
811
814
  meutils/schemas/jimeng_types.py,sha256=Uiqbtd4scpDHDTuXQaS8_6em8PrSnuQb_JkCQuBYkOM,1944
812
815
  meutils/schemas/jina_types.py,sha256=SLRRBCap2B1uXnHF7Sgnlz1Work8HvdIltjj4oVlGTk,8826
813
816
  meutils/schemas/kimi_types.py,sha256=PjCgHwCDNzKasn4X6rUzvOENqKYT3xj07cgp71IdsDA,3607
@@ -843,7 +846,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
843
846
  meutils/schemas/db/oneapi_types.py,sha256=3t2m0H80saEXmYUZfVFrtEaY117GjZTsSa1GKgkJzqQ,3896
844
847
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
845
848
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
846
- meutils/schemas/oneapi/common.py,sha256=BeJzJE5g74OPYpf_jq5EM_jb4HC0uGXkeRzMuMqULB8,40200
849
+ meutils/schemas/oneapi/common.py,sha256=NI81bohLNmPmHnhzP73KMyH2r1P8dabPhY41lxya8q8,40424
847
850
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
848
851
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
849
852
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -898,7 +901,7 @@ meutils/settings/demo.py,sha256=Ht3t6LREQsKa5W2owNrOZNAoZfS-zItIFNwGhhPj-4k,484
898
901
  meutils/str_utils/Translator.py,sha256=tfvNQIeVCqmX9yW6jobeibDHG6X-XecSSAx9kJIFFyw,1258
899
902
  meutils/str_utils/__init__.py,sha256=RvuIBw2SioCBD1q69k3AiHLEqBOkUd4ojIGX5uCdYtM,8147
900
903
  meutils/str_utils/json_utils.py,sha256=OXilMxLDtoFq5DAo3mHrIGx3GTOqHARgkcq8-gVYELM,1913
901
- meutils/str_utils/regular_expression.py,sha256=MJAnHvV9QQrhgYnwdlbB10HB14uKIiXCRbaaF1Fr21M,5467
904
+ meutils/str_utils/regular_expression.py,sha256=ZtwhcHUu5gqaVy-iw2Ahx9DaSdmcZNr-6idHTLo2AH0,6127
902
905
  meutils/str_utils/__translater/__init__.py,sha256=mtDbKL_Qdkeq5VPVO1M4ejf9H8PzKM5h7iepqkBG8N0,277
903
906
  meutils/str_utils/__translater/tencent.py,sha256=1E_56l6-A49Yuz2ZrMKxt-QJfcf0xDYN2X0dg58Dytk,1408
904
907
  meutils/str_utils/__translater/translater.py,sha256=A_9NLVvkjzPd9omIcJGhux21D-gcCxemyrZ7o6uGx_Q,1238
@@ -972,9 +975,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
972
975
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
973
976
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
974
977
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
975
- MeUtils-2025.6.3.9.35.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
976
- MeUtils-2025.6.3.9.35.1.dist-info/METADATA,sha256=nK-mQFmGehfOHdf_lbn7qRKIpihZXJn69PvJi9_0rKE,32831
977
- MeUtils-2025.6.3.9.35.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
978
- MeUtils-2025.6.3.9.35.1.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
979
- MeUtils-2025.6.3.9.35.1.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
980
- MeUtils-2025.6.3.9.35.1.dist-info/RECORD,,
978
+ MeUtils-2025.6.4.17.6.12.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
979
+ MeUtils-2025.6.4.17.6.12.dist-info/METADATA,sha256=L5zDQeY4ZnDrRI9gtDvOl_XkhMdDv3WYE2NlUDEqky0,32832
980
+ MeUtils-2025.6.4.17.6.12.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
981
+ MeUtils-2025.6.4.17.6.12.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
982
+ MeUtils-2025.6.4.17.6.12.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
983
+ MeUtils-2025.6.4.17.6.12.dist-info/RECORD,,
@@ -18,20 +18,39 @@ client = OpenAI(
18
18
  base_url=os.getenv("SOPHNET_BASE_URL"),
19
19
  # api_key=os.getenv("SOPHNET_API_KEY"),
20
20
 
21
- api_key="EZvbHTgRIFKQaRpT92kFVCnVZBJXuWCsqw89nAfZZQC5T4A_57QXba21ZKpVCIcBpFb-WBemZ7BNZdJjCHyn1A"
21
+ api_key="7XUcXdO6sf2GEnfbHou9J8-J4NBcZ0eo2kL4ziK43qznHlUS5d5amQtS1uApdOsUbS6UMHoMQbjSBJOscVraSg"
22
22
 
23
23
  )
24
24
 
25
25
  # EZvbHTgRIFKQaRpT92kFVCnVZBJXuWCsqw89nAfZZQC5T4A_57QXba21ZKpVCIcBpFb-WBemZ7BNZdJjCHyn1A
26
26
 
27
27
  model = "DeepSeek-Prover-V2"
28
- model = "DeepSeek-R1"
29
- model = "DeepSeek-v3"
28
+ # model = "DeepSeek-R1"
29
+ # model = "DeepSeek-v3"
30
30
 
31
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.
32
+ Complete the following Lean 4 code:
33
+
34
+ ```lean4
35
+ import Mathlib
36
+
37
+
38
+ theorem putnam_2015_a4
39
+ (S : ℝ → Set ℤ)
40
+ (f : ℝ → ℝ)
41
+ (p : ℝ → Prop)
42
+ (hS : S = fun (x : ℝ) ↦ {n : ℤ | n > 0 ∧ Even ⌊n * x⌋})
43
+ (hf : f = fun (x : ℝ) ↦ ∑' n : S x, 1 / 2 ^ (n : ℤ))
44
+ (hp : ∀ l, p l ↔ ∀ x ∈ Set.Ico 0 1, f x ≥ l)
45
+ : IsGreatest p ((4 / 7) : ℝ ) := by
46
+ ```
47
+
48
+ Before producing the Lean 4 code to formally prove the given theorem, provide a detailed proof plan outlining the main proof steps and strategies.
49
+ The plan should highlight key ideas, intermediate lemmas, and proof structures that will guide the construction of the final formal proof.
33
50
  """
34
51
 
52
+ prompt = "1+1"
53
+
35
54
  messages = [
36
55
  {'role': 'user', 'content': prompt}
37
56
  ]
@@ -40,8 +59,8 @@ response = client.chat.completions.create(
40
59
 
41
60
  messages=messages,
42
61
  stream=True,
43
- max_tokens=10,
62
+ # max_tokens=10,
44
63
  )
45
64
  print(response)
46
- # for chunk in response:
47
- # print(chunk)
65
+ for chunk in response:
66
+ print(chunk)
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : llm
5
+ # @Time : 2025/6/4 13:33
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
12
+ from meutils.schemas.openai_types import CompletionRequest
13
+ from meutils.llm.utils import oneturn2multiturn
14
+
15
+ from fal_client.client import AsyncClient, SyncClient, Status, FalClientError
16
+
17
+ models = "anthropic/claude-3.7-sonnet,anthropic/claude-3.5-sonnet, anthropic/claude-3-5-haiku, anthropic/claude-3-haiku, google/gemini-pro-1.5, google/gemini-flash-1.5, google/gemini-flash-1.5-8b, meta-llama/llama-3.2-1b-instruct, meta-llama/llama-3.2-3b-instruct, meta-llama/llama-3.1-8b-instruct, meta-llama/llama-3.1-70b-instruct, openai/gpt-4o-mini, openai/gpt-4o, deepseek/deepseek-r1"
18
+
19
+
20
+ async def create(
21
+ request: CompletionRequest,
22
+ api_key: Optional[str] = None,
23
+ ):
24
+ api_key = api_key and api_key.removeprefix("fal-")
25
+
26
+ prompt = oneturn2multiturn(request.messages)
27
+
28
+ arguments = {
29
+ "model": request.model,
30
+ "system_prompt": request.system_instruction,
31
+ "prompt": prompt,
32
+ "temperature": request.temperature,
33
+ "reasoning": request.reasoning_effort is not None,
34
+ "max_tokens": 1,
35
+ }
36
+ client = AsyncClient(key=api_key)
37
+ if request.stream:
38
+ async def create_stream():
39
+
40
+ stream = client.stream("fal-ai/any-llm", arguments=arguments)
41
+
42
+ prefix = ""
43
+ async for chunk in stream:
44
+ _ = chunk.get("output")
45
+ yield _.removeprefix(prefix)
46
+ prefix = _
47
+
48
+ # async for i in create_stream():
49
+ # print(i)
50
+ return create_stream()
51
+ else:
52
+ response = await client.run("fal-ai/any-llm", arguments=arguments, )
53
+ # {'error': None, 'output': '1 + 1 = 2', 'partial': False, 'reasoning': None}
54
+ if response.get("error"):
55
+ logger.error(response)
56
+ return response.get("output")
57
+
58
+
59
+ if __name__ == '__main__':
60
+ request = CompletionRequest(
61
+ model="anthropic/claude-3.7-sonnet",
62
+ messages=[
63
+ # {"role": "user", "content": "1+1"},
64
+ {"role": "user",
65
+ "content": [{
66
+ "type": "text",
67
+ "text": "1+1"
68
+ }]
69
+ },
70
+
71
+ ],
72
+ # stream=True,
73
+ )
74
+ arun(create(request))
@@ -10,6 +10,7 @@
10
10
 
11
11
  from meutils.pipe import *
12
12
  from meutils.str_utils.regular_expression import parse_url
13
+ from meutils.io.files_utils import to_url, to_url_fal
13
14
 
14
15
  from meutils.schemas.image_types import ImageRequest, FluxImageRequest, SDImageRequest, ImagesResponse
15
16
  from meutils.schemas.fal_types import FEISHU_URL
@@ -27,7 +28,7 @@ ideogram_styles = "auto, general, realistic, design, render_3D, anime"
27
28
  llms = "anthropic/claude-3.5-sonnet, anthropic/claude-3-5-haiku, anthropic/claude-3-haiku, google/gemini-pro-1.5, google/gemini-flash-1.5, google/gemini-flash-1.5-8b, meta-llama/llama-3.2-1b-instruct, meta-llama/llama-3.2-3b-instruct, meta-llama/llama-3.1-8b-instruct, meta-llama/llama-3.1-70b-instruct, openai/gpt-4o-mini, openai/gpt-4o, deepseek/deepseek-r1"
28
29
 
29
30
 
30
- @alru_cache(ttl=600)
31
+ @alru_cache(ttl=300)
31
32
  async def check(token, threshold: float = 0):
32
33
  try:
33
34
  # data = await AsyncClient(key=token).upload(b'', '', '')
@@ -96,6 +97,10 @@ async def generate(request: ImageRequest, token: Optional[str] = None):
96
97
  elif "kontext" in request.model: # https://fal.ai/models/fal-ai/flux-pro/kontext/max
97
98
 
98
99
  if image_urls := parse_url(request.prompt):
100
+ # 转存
101
+ if request.user:
102
+ image_urls = await to_url_fal(image_urls)
103
+
99
104
  for image_url in image_urls:
100
105
  request.prompt = request.prompt.replace(image_url, "")
101
106
 
@@ -127,6 +132,7 @@ async def generate(request: ImageRequest, token: Optional[str] = None):
127
132
  "image_url": "https://v3.fal.media/files/rabbit/rmgBxhwGYb2d3pl3x9sKf_output.png"
128
133
  }
129
134
  """
135
+
130
136
  arguments = {
131
137
  **arguments,
132
138
 
@@ -248,11 +254,11 @@ if __name__ == '__main__':
248
254
  # arun(AsyncClient(key=token).key)
249
255
 
250
256
  tokens = arun(get_series(FEISHU_URL))
251
- # tokens = [token]
257
+ tokens = ["246b7383-1500-4a4c-acfb-f91f63b3edd6:d9ec258301cd03b80c6f08aa306c7342"]
252
258
 
253
259
  r = []
254
260
  for t in tokens:
255
261
  if arun(check(t)):
256
262
  r.append(t)
257
263
 
258
- print('\n'.join(r))
264
+ print('\n'.join(r))
@@ -0,0 +1,98 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : videos
5
+ # @Time : 2025/1/15 15:45
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description : fal-ai/xx 动态路由
10
+
11
+ from meutils.pipe import *
12
+ from meutils.db.redis_db import redis_aclient
13
+
14
+ from meutils.apis.fal.images import check
15
+
16
+ from meutils.schemas.task_types import TaskResponse
17
+ from meutils.schemas.video_types import VideoRequest
18
+
19
+ from meutils.schemas.fal_types import FEISHU_URL
20
+ from meutils.config_utils.lark_utils import get_next_token_for_polling
21
+
22
+ from fal_client import AsyncClient
23
+ from fastapi import APIRouter, File, UploadFile, Query, Form, Depends, Request, HTTPException, status, BackgroundTasks
24
+
25
+ # 平台/模型/版本
26
+ models_mapping = {
27
+ "kling-video/v2/master/image-to-video": "latentsync",
28
+ "kling-video/v2/master/text-to-video": "latentsync",
29
+ "kling-video/lipsync/audio-to-video": "latentsync", # todo
30
+ "kling-video/lipsync/text-to-video": "latentsync",
31
+ }
32
+
33
+
34
+ async def create_task(model:str, request: dict, token: Optional[str] = None):
35
+ """https://fal.ai/models/fal-ai/latentsync/api#queue-submit
36
+
37
+ """
38
+ token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True, check_token=check)
39
+ logger.debug(request)
40
+
41
+ application = f"fal-ai/{model.removeprefix('fal-ai/')}" # fal-ai/flux-pro/kontext
42
+
43
+ client = AsyncClient(key=token)
44
+ response = await client.submit(
45
+ application=application,
46
+ arguments=request
47
+ )
48
+ request_id = response.request_id
49
+ await redis_aclient.set(request_id, token, ex=7 * 24 * 3600)
50
+ """
51
+ {'cancel_url': 'https://queue.fal.run/fal-ai/flux-1/requests/db9b7555-efa8-495b-9be2-e6243e6406e6/cancel',
52
+ 'client': <httpx.AsyncClient object at 0x28d607fa0>,
53
+ 'request_id': 'db9b7555-efa8-495b-9be2-e6243e6406e6',
54
+ 'response_url': 'https://queue.fal.run/fal-ai/flux-1/requests/db9b7555-efa8-495b-9be2-e6243e6406e6',
55
+ 'status_url': 'https://queue.fal.run/fal-ai/flux-1/requests/db9b7555-efa8-495b-9be2-e6243e6406e6/status'}
56
+
57
+ # AsyncRequestHandle(request_id='548a8736-eb56-492f-a788-c67432821919')
58
+
59
+ """
60
+
61
+ return {"request_id": request_id}
62
+
63
+
64
+ @alru_cache(ttl=5)
65
+ async def get_task(model:str, request_id: str):
66
+ token = await redis_aclient.get(request_id) # 绑定对应的 token
67
+ token = token and token.decode()
68
+ if not token:
69
+ raise HTTPException(status_code=404, detail="TaskID not found")
70
+
71
+
72
+ application = f"fal-ai/{model.removeprefix('fal-ai/')}"
73
+
74
+ client = AsyncClient(key=token)
75
+ response = await client.status(application, request_id, with_logs=True)
76
+
77
+ logger.debug(response.__class__.__name__) # Queued, InProgress, COMPLETED
78
+
79
+ if metrics := response.__dict__.get("metrics"): # {'inference_time': 17.29231595993042}
80
+ response = await client.result(application, request_id)
81
+
82
+
83
+ return response
84
+
85
+
86
+ if __name__ == '__main__':
87
+ token = "cda184dc-4c6a-4776-be39-79bfd7771328:8c3f25093040ebd10afb93df6921e537"
88
+
89
+ model = "fal-ai/flux-1/schnell"
90
+ request = {
91
+ "prompt": "Extreme close-up of a single tiger eye, direct frontal view. Detailed iris and pupil. Sharp focus on eye texture and color. Natural lighting to capture authentic eye shine and depth. The word \"FLUX\" is painted over it in big, white brush strokes with visible texture."
92
+ }
93
+
94
+ # r = arun(create_task(model, request, token))
95
+
96
+ request_id = "548a8736-eb56-492f-a788-c67432821919"
97
+
98
+ r = arun(get_task(model, request_id))
@@ -18,7 +18,7 @@ import asyncio
18
18
  from meutils.pipe import *
19
19
  from meutils.str_utils.json_utils import json_path
20
20
 
21
- from meutils.schemas.jimeng_types import BASE_URL, MODELS_MAP, FEISHU_URL
21
+ from meutils.schemas.jimeng_types import BASE_URL
22
22
  from meutils.schemas.video_types import VideoRequest
23
23
  from meutils.schemas.task_types import TaskResponse
24
24
  from meutils.apis.jimeng.common import get_headers, check_token
@@ -30,6 +30,8 @@ from fake_useragent import UserAgent
30
30
 
31
31
  ua = UserAgent()
32
32
 
33
+ FEISHU_URL = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=gAUw8s" # 视频
34
+
33
35
 
34
36
  async def get_task(task_id: str, token: str = "916fed81175f5186a2c05375699ea40d"):
35
37
  """
@@ -59,8 +61,12 @@ async def get_task(task_id: str, token: str = "916fed81175f5186a2c05375699ea40d"
59
61
 
60
62
  else:
61
63
  response = TaskResponse(task_id=task_id, metadata=data)
62
- if (message := json_path(data, "$..fail_msg")) and "success" not in str(message).lower():
63
- response.message = str(message)
64
+ if (
65
+ (fail_codes := json_path(data, "$..fail_code"))
66
+ and fail_codes[-1] != "0"
67
+ and (messages := json_path(data, "$..fail_msg"))
68
+ ):
69
+ response.message = f"{str(messages).lower().replace('success', '')}:{fail_codes}"
64
70
  response.status = "fail"
65
71
  return response
66
72
 
@@ -71,11 +77,12 @@ async def get_task(task_id: str, token: str = "916fed81175f5186a2c05375699ea40d"
71
77
  response.data = [{"video": _} for _ in video_urls]
72
78
  response.status = "success"
73
79
 
80
+ response.fail_code = fail_codes and fail_codes[-1]
74
81
  return response
75
82
 
76
83
 
77
84
  async def create_task(request: VideoRequest, token: Optional[str] = None):
78
- token = "d2d142fc877e696484cc2fc521127b36" ################### 线上注释掉
85
+ # token = "d2d142fc877e696484cc2fc521127b36" ################### 线上注释掉
79
86
 
80
87
  token = token or await get_next_token_for_polling(FEISHU_URL, check_token)
81
88
 
@@ -145,6 +152,19 @@ async def create_task(request: VideoRequest, token: Optional[str] = None):
145
152
  task_id = task_ids[0]
146
153
  return TaskResponse(task_id=task_id, system_fingerprint=token)
147
154
 
155
+ else:
156
+ """
157
+ {
158
+ "ret": "1018",
159
+ "errmsg": "account punish limit ai generate",
160
+ "systime": "1749027488",
161
+ "logid": "202506041658081AB86654C66682A7DE2E",
162
+ "data": null
163
+ }
164
+ """
165
+
166
+ raise Exception(data)
167
+
148
168
 
149
169
  if __name__ == '__main__':
150
170
  token = None
@@ -156,12 +176,12 @@ if __name__ == '__main__':
156
176
  image_url="https://oss.ffire.cc/files/kling_watermark.png", # 图生有问题
157
177
  )
158
178
 
159
- # with timer():
160
- # r = arun(create_task(request, token))
161
- # print(r)
179
+ with timer():
180
+ r = arun(create_task(request, token))
181
+ print(r)
162
182
 
163
183
  # arun(get_task(r.task_id))
164
184
  # arun(get_task(r.task_id, "d2d142fc877e696484cc2fc521127b36"))
165
- task_id = "4620067333122"
166
-
167
- arun(get_task(task_id, token))
185
+ # task_id = "4620067333122"
186
+ #
187
+ # arun(get_task(task_id, token))
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2025.06.03.09.35.01
1
+ 2025.06.04.17.06.12
@@ -168,6 +168,7 @@ async def check_token_for_ppinfra(api_key, threshold: float = 1):
168
168
 
169
169
 
170
170
  @retrying()
171
+ @rcache(ttl=300)
171
172
  async def check_token_for_sophnet(api_key, threshold: float = 1):
172
173
  if not isinstance(api_key, str):
173
174
  return await check_tokens(api_key, check_token_for_sophnet)
@@ -217,6 +218,8 @@ if __name__ == '__main__':
217
218
 
218
219
  check_valid_token = partial(check_token_for_siliconflow, threshold=-1)
219
220
 
221
+ arun(check_valid_token("sk-tythaoctwemlhkytdlmjcegtnufvhqgmwlncgmoxixdyqoxx"))
222
+
220
223
  pass
221
224
  # arun(check_valid_token("sk-LlB4W38z9kv5Wy1c3ceeu4PHeIWs6bbWsjr8Om31jYvsucRv", threshold=0.1))
222
225
 
@@ -245,4 +248,4 @@ if __name__ == '__main__':
245
248
 
246
249
  # arun(check_token_for_ppinfra("sk_F0kgPyCMTzmOH_-VCEJucOK8HIrbnLGYm_IWxBToHZQ"))
247
250
 
248
- arun(check_token_for_volc(os.getenv("VOLC_API_KEY")))
251
+ # arun(check_token_for_volc(os.getenv("VOLC_API_KEY")))
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : sophnet
5
+ # @Time : 2025/6/4 16:16
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
12
+ from meutils.llm.clients import AsyncOpenAI
13
+
14
+ from meutils.llm.check_utils import check_token_for_sophnet as check_token
15
+
16
+ from meutils.config_utils.lark_utils import get_next_token_for_polling
17
+ from meutils.schemas.openai_types import chat_completion, chat_completion_chunk, CompletionRequest, CompletionUsage, \
18
+ ChatCompletion
19
+
20
+ FEISHU_URL = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=lxJ27j"
21
+
22
+ base_url = "https://www.sophnet.com/api/open-apis/v1"
23
+
24
+
25
+ async def create(request: CompletionRequest, token: Optional[str] = None):
26
+ """最终是非流"""
27
+ token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True, check_token=check_token)
28
+
29
+ client = AsyncOpenAI(base_url=base_url, api_key=token)
30
+
31
+ if not request.stream:
32
+ logger.debug("伪非流")
33
+
34
+ data = request.model_dump(exclude_none=True)
35
+ data['stream'] = True
36
+
37
+ chunks = await client.chat.completions.create(**data)
38
+
39
+ chunk = None
40
+ async for chunk in chunks:
41
+ if chunk.choices:
42
+ _ = chunk.choices[0].delta.content or ""
43
+ chat_completion.choices[0].message.content += _
44
+ # logger.debug(_)
45
+ if hasattr(chunk, "usage"):
46
+ chat_completion.usage = chunk.usage
47
+
48
+ logger.debug(chat_completion)
49
+ return chat_completion
50
+ else:
51
+ return client.chat.completions.create(**request.model_dump(exclude_none=True))
52
+
53
+
54
+ if __name__ == '__main__':
55
+ request = CompletionRequest(
56
+ model="DeepSeek-v3",
57
+ messages=[{"role": "user", "content": "hi"}],
58
+ stream=True,
59
+ )
60
+
61
+ arun(create(request))
@@ -200,8 +200,8 @@ if __name__ == '__main__':
200
200
  # model = 'deep_seek-search'
201
201
  model = 'deep_seek'
202
202
  # model = 'hunyuan_t1'
203
- model = 'hunyuan_t1-search'
204
- # model = 'deep_seek-search'
203
+ # model = 'hunyuan_t1-search'
204
+ model = 'deep_seek-search'
205
205
 
206
206
  arun(Completions().create(
207
207
  CompletionRequest(
@@ -82,9 +82,6 @@ class Completions(object):
82
82
  data.pop("frequency_penalty", None)
83
83
  data.pop("extra_body", None)
84
84
 
85
- if '2.5' in request.model and not request.reasoning_effort: # 默认关闭思考
86
- data['reasoning_effort'] = "none"
87
-
88
85
  if "thinking" in request.model:
89
86
  data['model'] = data['model'].removesuffix("-thinking") # 开启思考
90
87
  data['reasoning_effort'] = 'low'
@@ -14,6 +14,10 @@ from meutils.schemas.openai_types import CompletionRequest
14
14
  from meutils.schemas.image_types import ImageRequest
15
15
  from meutils.llm.openai_utils import chat_completion, chat_completion_chunk, create_chat_completion_chunk
16
16
 
17
+ async def stream_to_nostream(
18
+ request: CompletionRequest,
19
+ ):
20
+ pass
17
21
 
18
22
  async def chat_for_image(
19
23
  generate: Callable,