MeUtils 2025.5.30.20.48.16__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=hEW4_tcQXzK8qWqFc4NJ4CAi9VTW_UIhSF9bcNm2Nmc,11504
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
@@ -410,7 +412,7 @@ meutils/apis/images/deepinfra.py,sha256=lMqfU0LIXEzHiAS31dCcoTnPIE6tpoDJhq61H0TV
410
412
  meutils/apis/images/demo.py,sha256=Cjk-EKMKbp44czykW_44qR0TzElX8nNCALqXBBw5sJA,4405
411
413
  meutils/apis/images/edits.py,sha256=tdtFKVaMti4zOAh9WQ_VWrKyuJyomZ3-Fwh1DK7EJAM,10189
412
414
  meutils/apis/images/eidt.py,sha256=s8IBbCjwwoogIUf-d2O7nkawUmly9n19nvLYPaLEeg4,1217
413
- meutils/apis/images/openai_edits.py,sha256=5VbRs5MvAw6b1foePXiXGABVv70E_JVM5kjXkts5VAc,2158
415
+ meutils/apis/images/openai_edits.py,sha256=a03L8vY8NXnl8uT9o0SMszMxE7dv6tTCZQyMyI5dS_g,2160
414
416
  meutils/apis/images/recraft.py,sha256=31rlSeeH9UUwCSNzSWizHNRF2JnuBMLRWdB5DylPNnc,72545
415
417
  meutils/apis/images/flux/__init__.py,sha256=W_PZabQm6EmtJYmzEiEpL_WCXTAW0AiJ-t_n5UTrE8c,271
416
418
  meutils/apis/images/flux/fluxpro.py,sha256=NFl9t9C3R3jsNJpez4o9tOz3r-fjRXj-vKMxCSTRDTU,4022
@@ -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=vGbtneOoGkSNOYLBz8tNiIgxaLWQgtQ6RpVUxe0-ivc,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=T_O8LmCkemNGTNp0pfAuXLOX0Vz4EJ8ef1F9vvv4fyI,1522
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
@@ -714,7 +717,7 @@ meutils/logging/log_utils.py,sha256=Sa5-Y4fWNTKQw2fIb1dbPgOypl6S6m7EOrbciSqEt5A,
714
717
  meutils/logging/logger.py,sha256=-J_tWYfAvPhSTshVWIiN-6zTZnjkFuwDfMtxUtuNkuY,6183
715
718
  meutils/notice/__init__.py,sha256=BVbcBx4ks-BH_63gEcjMxL67oX1_aWdaM8r3TDo8Ogg,248
716
719
  meutils/notice/emails.py,sha256=TvC1xv3MpFC2HU0lTQW5SmNuj7UMlgjpsUImMp9jKOw,2403
717
- meutils/notice/feishu.py,sha256=N3IbftcjV7yHPMtrAbOb6c_X-05mzMhwdFEZjFZZwLY,4478
720
+ meutils/notice/feishu.py,sha256=i2YkuzFGRtaIeu7CRtkf2hHXzLr1-SJX-qRk-b_mO2E,4482
718
721
  meutils/notice/file_post.py,sha256=KQ8iQUM30vF7T6ZZPahdLps4dLXK2s3nzdFYbty6M5E,953
719
722
  meutils/notice/load_emailfile - 副本.py,sha256=f-Kq3UKZut_P0bmumV1y4PXuPtatjl-5SLUH5LShBUY,7331
720
723
  meutils/notice/wechat.py,sha256=-HU5oSvpZrVnjjU76ky7_j0yg5ivn5mIlJ7JJVtlrnY,4082
@@ -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=gzMKSFQYF83bQfWiKF6HxIflCNGLuRCv1uWo5TCIiCs,14622
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
@@ -820,7 +823,7 @@ meutils/schemas/metaso_types.py,sha256=nbZ_5chFtAszZltilE_o-AZcwlqHvzF4ATKwD101W
820
823
  meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
821
824
  meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
822
825
  meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
823
- meutils/schemas/openai_types.py,sha256=KA7OuA0KZGCfB7pFcD-Fvp9cktfQfYScZpRz_Xr0DVk,22977
826
+ meutils/schemas/openai_types.py,sha256=kfN-uzTJtS4yGqLziQ4jaT6BIqggr7GSDBZ_pzlHxBo,22994
824
827
  meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX0Xmw,2347
825
828
  meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
826
829
  meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
@@ -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=ry7KYatXHYRarpLonTDzetdse0uXeZZqtLMnIDkDNz4,40124
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
@@ -868,7 +871,7 @@ meutils/serving/fastapi/utils.py,sha256=H5lQSU7-IfJ2w9FWbaJ34LCbQSaNTFSU7z1pG5wZ
868
871
  meutils/serving/fastapi/__demo/__init__.py,sha256=TxXjqy2ZxAkadPxqN92Xq3ixCUYkQ-4X6UxsReRpHhc,271
869
872
  meutils/serving/fastapi/__demo/异步任务.py,sha256=60_ruA4ljlTLIP5zxcejmm9WJ0SDuqpsO49SZK9vA_s,1444
870
873
  meutils/serving/fastapi/dependencies/__init__.py,sha256=TQcxvWqZdA2jZZX84NtAij-bhS7ihcMLx1-xsbSpV4g,384
871
- meutils/serving/fastapi/dependencies/auth.py,sha256=3dgfBLbu6VdzB1-7vaEtfXy6oOawIcGiaQZU2fBNXZM,2166
874
+ meutils/serving/fastapi/dependencies/auth.py,sha256=7U5PE53g6qJonImlWY170t3iLoYLiCudHCVv7MItVyQ,2224
872
875
  meutils/serving/fastapi/dependencies/headers.py,sha256=ddifDCJyELqfPwuUX12x-lH0KNylu2iidc7Mupcvl6k,922
873
876
  meutils/serving/fastapi/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
874
877
  meutils/serving/fastapi/exceptions/http_error.py,sha256=-cBBWNJH3qp1GMSaa9AlojJ18lBLFEk0KHoGUnmV3u4,2601
@@ -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.5.30.20.48.16.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
976
- MeUtils-2025.5.30.20.48.16.dist-info/METADATA,sha256=Bq0piv9QyMpnAAYfzzRLAt4OSn7977q3QXjPtW-4Vxg,32834
977
- MeUtils-2025.5.30.20.48.16.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
978
- MeUtils-2025.5.30.20.48.16.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
979
- MeUtils-2025.5.30.20.48.16.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
980
- MeUtils-2025.5.30.20.48.16.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'', '', '')
@@ -79,7 +80,7 @@ async def generate(request: ImageRequest, token: Optional[str] = None):
79
80
  "width": width,
80
81
  "height": height
81
82
  },
82
- "num_images": request.n,
83
+ "num_images": request.n or 1,
83
84
 
84
85
  "enable_safety_checker": False,
85
86
  "safety_tolerance": "6",
@@ -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,10 +132,11 @@ 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
 
133
- "num_images": request.n,
139
+ "num_images": request.n or 1,
134
140
 
135
141
  "enable_safety_checker": False,
136
142
  "safety_tolerance": "5",
@@ -152,7 +158,7 @@ async def generate(request: ImageRequest, token: Optional[str] = None):
152
158
 
153
159
  arguments = {
154
160
  **arguments,
155
- "num_images": request.n,
161
+ "num_images": request.n or 1,
156
162
 
157
163
  "enable_safety_checker": False,
158
164
  "safety_tolerance": "6",
@@ -243,14 +249,16 @@ if __name__ == '__main__':
243
249
  # token = "77fcfad2-aadc-4158-8e11-b30a5668dfad:ea5f38d864bde6707561d348436d2cea"
244
250
  # token = "5116af3f-1aa5-4c1b-b505-fd49f701dccc:7f4278d69d069cec4794fe658a09bd9d"
245
251
 
246
- arun(generate(request))
252
+ # arun(generate(request))
247
253
 
248
254
  # arun(AsyncClient(key=token).key)
249
255
 
250
- # tokens = arun(get_series(FEISHU_URL))
251
- # # tokens = [token]
252
- #
253
- # r = []
254
- # for t in tokens:
255
- # if arun(check(t)):
256
- # r.append(t)
256
+ tokens = arun(get_series(FEISHU_URL))
257
+ tokens = ["246b7383-1500-4a4c-acfb-f91f63b3edd6:d9ec258301cd03b80c6f08aa306c7342"]
258
+
259
+ r = []
260
+ for t in tokens:
261
+ if arun(check(t)):
262
+ r.append(t)
263
+
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))
@@ -31,7 +31,7 @@ openai = OpenAI(
31
31
 
32
32
  images = [open("image1.webp", "rb"), open("image2.webp", "rb")]
33
33
 
34
- images = open("image1.webp", "rb")
34
+ # images = open("image1.webp", "rb")
35
35
 
36
36
  r = openai.images.edit(
37
37
  model="fal-ai/flux-pro/kontext",
@@ -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.05.30.20.48.16
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")))