MeUtils 2025.2.13.20.50.5__py3-none-any.whl → 2025.2.18.19.56.22__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.
@@ -72,6 +72,7 @@ examples/Time-Extractor/setup.py,sha256=ENYhj1_uJ7z_F3jrz8FR8w5u2SEXrZpl5GXEELUy
72
72
  examples/Time-Extractor/resource/__init__.py,sha256=0HHkZVghckIg5LkGMziooZ8TUqfSQFA6j62BN9KyFp0,91
73
73
  examples/_openaisdk/4v.py,sha256=UduqYzSfxzoiGQkX803DmNEzC7THOjIO0F9L9F_OzF0,3489
74
74
  examples/_openaisdk/__init__.py,sha256=5TNibGR-ETncXVWoevqYJ0m2yo1GOxRx3hSu2qWAQNo,271
75
+ examples/_openaisdk/_openai_chatfire.py,sha256=i7nei_-1eq3W8eUxGK6_BsR_1flw3-wJuc-uHkFCwDo,907
75
76
  examples/_openaisdk/baichuan.py,sha256=xmNFc64T02r9wE0VSOG0B21wJJmlrecKVVCelhs2Dt4,890
76
77
  examples/_openaisdk/bpo.py,sha256=7Jw16TiKFEQvYbt4g-h7QimLBw7xY49w1MthT5OwcTM,5267
77
78
  examples/_openaisdk/chat_latex.py,sha256=FzVSvmG988GRItUg1Uga-L3dZseZW76LCvngHqRedD8,2939
@@ -103,10 +104,10 @@ examples/_openaisdk/openai_doubao.py,sha256=IKM929LKgYm2fXbCIvuX4ZPpUkm2igcdhJuj
103
104
  examples/_openaisdk/openai_embeddings.py,sha256=2hV3o9PbelIW5mCDh_PYvntaeI-hyuaFRgnzC6sWJo4,869
104
105
  examples/_openaisdk/openai_ep.py,sha256=cAaeyC8Lstk1MB36c4h7X9n7EnEnY7rr2Tugo_diT3M,726
105
106
  examples/_openaisdk/openai_files.py,sha256=gfUbKGZg5P7c3kSMfwalIThi_SEs8O-JTqx49bYFtyM,1505
106
- examples/_openaisdk/openai_gitee.py,sha256=8paPl2nz4ER_2lWlqAbAcvtcV-Vuu88p5ALckyvSFec,1140
107
+ examples/_openaisdk/openai_gitee.py,sha256=UQEJMQMQDhgqYzo_aYetYXnBmVtqRwIweJDDK3NlSMw,1205
107
108
  examples/_openaisdk/openai_god.py,sha256=O8fbhyxiIlVR7pTvBTXgQ2QTwfcZ2MkEIyDe_jp797A,1056
108
109
  examples/_openaisdk/openai_groq.py,sha256=_5Ue1yEx0Gp6theFioB_D8kepR0UlqMU96PVGH-LkVY,7363
109
- examples/_openaisdk/openai_images.py,sha256=mJQGbue_ka9kjsNx1TRfIRab9HgC0h5i0O_6U7kxb_c,5676
110
+ examples/_openaisdk/openai_images.py,sha256=ZaLCL0Kdc2O7wnoWM_7fhLNFYSzVuc2gD6JkBuGl_oY,5728
110
111
  examples/_openaisdk/openai_json.py,sha256=M4tq_IkzYbmtgbFilGQHmRdJhH0OltiwGk7cK7uc-sQ,1850
111
112
  examples/_openaisdk/openai_kindo.py,sha256=dRQd8BOUDlWo4xp2l1s3BeP7qv19i7CUjx14NRv1fxM,741
112
113
  examples/_openaisdk/openai_lingyi.py,sha256=l2GcNxhwfLv7MfMF-cdRWGGvX-dRaZyb8IRlXLPACMw,1834
@@ -358,7 +359,7 @@ meutils/apis/hailuoai/demo.py,sha256=WTnDFL2HgVpAjcn5BljLrbf2y2aATkvvNy75zoEIQkc
358
359
  meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-xYIO8,9101
359
360
  meutils/apis/hailuoai/music.py,sha256=S_oi-ZDbocTfbRgREdXtGx50xzUc1PCZGuxmr917E7M,265
360
361
  meutils/apis/hailuoai/upload.py,sha256=22S6W6hGQhUquVKqh7QCkXb6KHDl3iMKKi6Z0AJdFEI,6501
361
- meutils/apis/hailuoai/videos.py,sha256=SAdEfSl-1a4IXor1FnZ8gf-t11kE5UGRK8FK0kdXPcg,20874
362
+ meutils/apis/hailuoai/videos.py,sha256=hoVSbEjHfp2PIFxKL2n5Yy56DIhNkCrE3iKay8Yk3_E,20915
362
363
  meutils/apis/hailuoai/yy.py,sha256=gJvr7VDa0YPEUkZuETdmCFWWheylDPoMUg8gbS_SVw8,8937
363
364
  meutils/apis/hf/__init__.py,sha256=ZZoRl8yNYekoMhE__67XXBKNSYJaLgjtaa0netjJKUU,271
364
365
  meutils/apis/hf/got_ocr.py,sha256=pZURFpryDh_Ak6PNiARztOzYgkjVrfScJ5-0XzMBrzI,1776
@@ -374,9 +375,9 @@ meutils/apis/hunyuan/image_tools.py,sha256=jJ652uKakJaFjqBN8oy---GEI_u5ttAob55rm
374
375
  meutils/apis/images/__init__.py,sha256=hs7HUJZvw_3DAtoapPnbZsEb4ng1p0a6fJGFFWwUcUk,272
375
376
  meutils/apis/images/deepinfra.py,sha256=lMqfU0LIXEzHiAS31dCcoTnPIE6tpoDJhq61H0TVJPg,3219
376
377
  meutils/apis/images/demo.py,sha256=Cjk-EKMKbp44czykW_44qR0TzElX8nNCALqXBBw5sJA,4405
377
- meutils/apis/images/edits.py,sha256=sZ_Foem2gubgdJdLe1uSMhl6sYnNICXLGL70aYMX_Mo,9773
378
+ meutils/apis/images/edits.py,sha256=dY5kjUxMzRLeUTLdwxBLtGDTn_cdgeJo3UFahE7536Q,9798
378
379
  meutils/apis/images/eidt.py,sha256=42dCdGPSLvr0zh8OZtwQxi-5B6Ln_o_FsL1gt2Ura_k,750
379
- meutils/apis/images/recraft.py,sha256=ZdlDPFTmQBma9ToeBN44mNPISOP0-hXsmSgM6DyP1Ko,59625
380
+ meutils/apis/images/recraft.py,sha256=Fly-yh3XIhjpc-s327YZNoSXk8pCMmbNXOW707_AB1A,59637
380
381
  meutils/apis/images/flux/__init__.py,sha256=W_PZabQm6EmtJYmzEiEpL_WCXTAW0AiJ-t_n5UTrE8c,271
381
382
  meutils/apis/images/flux/fluxpro.py,sha256=NFl9t9C3R3jsNJpez4o9tOz3r-fjRXj-vKMxCSTRDTU,4022
382
383
  meutils/apis/images/flux/mystic.py,sha256=cUkqaMAbd3dSBCvFEoNBBoEoWCGzvBJWPEkEq1Q8xzw,3616
@@ -390,14 +391,14 @@ meutils/apis/jiema/24mail.py,sha256=GUszRtoDe3T9q-X4embwT5YhcjgQ3XnkTJMKX93sCF4,
390
391
  meutils/apis/jiema/__init__.py,sha256=YBybggoDRYCNYcwJOypxR7MzfTjIhqO7BkGlTt7NDo4,271
391
392
  meutils/apis/jiema/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
392
393
  meutils/apis/jimeng/__init__.py,sha256=a8CE_cOl9jqal0hycwaLm4Mnga8jmZlz9nCze_9bBqA,272
393
- meutils/apis/jimeng/common.py,sha256=o6qMyic9jbgD_tmOcGDPn9tcOctMyLP9Y3XW5rIwsZs,6093
394
+ meutils/apis/jimeng/common.py,sha256=NbYosfuwkB4ejkeYbPHfHlEOsR0DcwgVSCs-wn2MB-Y,6418
394
395
  meutils/apis/jimeng/doubao.py,sha256=5OdnBpmZQOCLIb6lnN8YrL7J7E0XF47q0UF-z6asSuI,4295
395
396
  meutils/apis/jimeng/doubao_utils.py,sha256=XCHnvwfCOtJmPQuzDOCfKDMP_Pcqh-Y4w2h5f7Y2gzM,5999
396
397
  meutils/apis/jimeng/files.py,sha256=afwWvN6gSRjBGVMjV3CMpMwnuJ1cAVYBiFc6wamc570,9547
397
398
  meutils/apis/jimeng/images.py,sha256=dAEL-lanpm9Q38KBkfwGDCP04AJ50sf13TxGWpUZSIA,11528
398
399
  meutils/apis/jimeng/videos.py,sha256=x-PDOYNBN-yTmNvMbyDbwm_E2LXZ6A4hcVzEahV_Hvc,10813
399
400
  meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vio,271
400
- meutils/apis/kling/api.py,sha256=AuVQ9URmrbTlz7dEv_kIyhA9fMTZPL9rF3Td6KxTIMA,2183
401
+ meutils/apis/kling/api.py,sha256=FXdBH2eyzMED2hvgd5uVy7s1ZIfTF5gMEoc0Sf62C0o,2328
401
402
  meutils/apis/kling/images.py,sha256=FcCkvA4x1Po3SuugfQa8klT0Lrj7fq4N8kbzx6luUxI,5095
402
403
  meutils/apis/kling/kolors_virtual_try_on.py,sha256=iF_eyiofOQthUedl_u8H_u5mQ1CcisDqWSe2x9aiNQ4,3935
403
404
  meutils/apis/kling/kolors_virtual_try_on_web.py,sha256=UNjr-T9waujh2Gg8SSmnlfP3wXsZeYsDdWMabRQaP1E,3951
@@ -443,7 +444,7 @@ meutils/apis/search/searxng.py,sha256=RBPeq-AYj5D42gROrZNg0SxIWwWEW0oqrbQ3wEDH9k
443
444
  meutils/apis/siliconflow/__init__.py,sha256=DQ-A6wAWGna49pmyGhcIWgc2zx6TN9DfQmSUdAW7qjk,241
444
445
  meutils/apis/siliconflow/audio.py,sha256=pk1OROATtAURPQ6VkswmR5gJFOFYJJPnjp-boDAf8X0,2017
445
446
  meutils/apis/siliconflow/image_to_image.py,sha256=EnoT8p2IS35XGZ0ivFKTBII3b_iIG9NR_Ae2nOA-orc,89442
446
- meutils/apis/siliconflow/images.py,sha256=zdiXL6drHWQjZoGs8q79h-gkjj4o2jTyUgaV8tq35ow,6548
447
+ meutils/apis/siliconflow/images.py,sha256=Ni6JsXIGrnslF5ft5UBnhngT9bQFiix00W5J-IUNmbQ,6609
447
448
  meutils/apis/siliconflow/rerankers.py,sha256=GuKT33MmAiVULqNaAO9IIy1Zp570-kYJ6xP03eLCp5Y,1259
448
449
  meutils/apis/siliconflow/text_to_image.py,sha256=ZSyvCF_CfH6pV4BXM4TJjmQiu2x4nF197GliDddWI8Q,4458
449
450
  meutils/apis/siliconflow/utils.py,sha256=uPpJVgqVmTzTN0LuHWliTWaf1rzneNyA-mELwwrUbdQ,2092
@@ -524,7 +525,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
524
525
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
525
526
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
526
527
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
527
- meutils/data/VERSION,sha256=ng6_lnhX9OPaQA_XSk3lHJgfA1y9bG6uiyHKU_7GfDU,19
528
+ meutils/data/VERSION,sha256=1QBE2ptdabfbjd85YgohPm6OWfzu2bERqYA8IPf7b7Q,19
528
529
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
529
530
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
530
531
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -567,7 +568,7 @@ meutils/init/__init__.py,sha256=J_ApVNdTQAHsIfSLrMRZhwJ8rdgiOfeyiXGSymvZSng,242
567
568
  meutils/init/evn.py,sha256=GPw9Un8YbgYJmjwd-uYWQ8JeVr6pRxwyYbDv3W8fb1s,1588
568
569
  meutils/init/oo.py,sha256=jXWaCWWFYVPGgTIas47Z3J7sIq-CD7DyK6fKDBsq8GA,12884
569
570
  meutils/io/__init__.py,sha256=uW43ZfdWu7adRvwvcTzUGtn4CseRmbzEJdlZV-oqHEA,2107
570
- meutils/io/files_utils.py,sha256=C6Fzz4oP9tVSue4OKReMkjxXKbGyivvTmQypmmRw7bM,7452
571
+ meutils/io/files_utils.py,sha256=o_kO2ntkZlFZRvv65oNiZ49FH8ZrStkxr8E-mTQuTFI,7438
571
572
  meutils/io/image.py,sha256=BJmYzx7o66X7C32gOfVmfr5tBRXOi0IYQY7BpGLsGrg,6926
572
573
  meutils/io/minio_utils.py,sha256=i1YuxwDJzLse0smMXuPqnD1wirBBb8psmB_kd1oPoVU,1274
573
574
  meutils/io/tf_io.py,sha256=vEZZS4pCf4Dt3A-FtIVMfhC3FJUUpQCK2OoEvXrBWos,8605
@@ -576,7 +577,7 @@ meutils/jwt_utils/__init__.py,sha256=hU1CYBK90Q9QKVrf1s6VFKZwWjHioHa6bO2AuDn7_eo
576
577
  meutils/jwt_utils/common.py,sha256=MlWDLtxiF-WeRl3oyK94KIa6BKFIXVeJtaQUnpa9ayo,814
577
578
  meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
578
579
  meutils/llm/check_api.py,sha256=sgxfMWM0fe3nNpv_lLR7kFgsWaowcm1cQlsbp7qZSKM,3567
579
- meutils/llm/check_utils.py,sha256=o5SAsjIuTK_p8ARZgjeyJiapVz3Ox_A6UdNbVACmpGw,3355
580
+ meutils/llm/check_utils.py,sha256=xDIJb6EHNmppuanvCZWdFU7dlPR68vXFWtA57xApE2U,3438
580
581
  meutils/llm/clients.py,sha256=WLm49NNgp80q-zEO0ZTzRmbQvZZfgU2hk6mskFFxsqg,1582
581
582
  meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
582
583
  meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
@@ -586,6 +587,7 @@ meutils/llm/completions/__init__.py,sha256=Z9b0uVj0DuprlPVvLqb-jYf5hk7C1rD-c3fMI
586
587
  meutils/llm/completions/cp.py,sha256=tGf3umHKXDH0KuTfN7BLr8yAvN6MYWLYR5UVaJkJs0c,4172
587
588
  meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgdSOyLtQY,5131
588
589
  meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
590
+ meutils/llm/completions/gemini.py,sha256=mpxQZy4x1RxLOwA0CKZacQDDW_zyQVypfPz5TDxrBOs,1704
589
591
  meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
590
592
  meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
591
593
  meutils/llm/completions/oi.py,sha256=DmvzxJfdLA_I3MWcULhFtiUdo90j7V2dLvYvmZ-Tm9U,293
@@ -599,7 +601,7 @@ meutils/llm/completions/xx.py,sha256=pPfVRczvXZFUvAUOAFr0MMHMb5kVPNfKVhOLKugq52M
599
601
  meutils/llm/completions/yuanbao.py,sha256=UA85J0bXwNFtEx76ccKLVqwBgB4qDRdgeT-e2Is9S40,5625
600
602
  meutils/llm/completions/agents/__init__.py,sha256=Wklnf7FTHm43hyVwfT8FXX44nqdOTykPb_HORIqDuuw,270
601
603
  meutils/llm/completions/agents/file.py,sha256=4SGCkHSBEdAB6NbxPaViXYUJq5giGtEF9FEgq2WxyBY,4934
602
- meutils/llm/completions/agents/search.py,sha256=GbNRI94Pnj65jXtzmeGCDtEqEnUDu0a417tyRgUp6QE,5012
604
+ meutils/llm/completions/agents/search.py,sha256=GKsk0NRy6jsbSu8E9mdBWObJzroGE-L7Iuo5W2MK_u0,5057
603
605
  meutils/llm/completions/rag/__init__.py,sha256=VH4g9H0pqMM1Rkjc1xefQb4Uh8f9vlTt6tjdD6G6Wc0,272
604
606
  meutils/llm/completions/rag/fire.py,sha256=0a_POkY9mEy1YwZHXOGnqf9EVyjiJwx3fWhmv_bQ54U,5743
605
607
  meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cpxu6TBg,265
@@ -712,10 +714,10 @@ meutils/schemas/dify_types.py,sha256=bHHWRuwoabINIx_MYukdgN0h7_h_73qA0ayDYAj85E0
712
714
  meutils/schemas/embedding.py,sha256=rJ-XQ6X8VmACOi53BOJtkjROrNcf1ZUhzxKkClM9J0M,867
713
715
  meutils/schemas/fal_types.py,sha256=a6glb5xlo0MEuKZrWtT7B8kLjwnLEhIVPbpnDWpBsJc,360
714
716
  meutils/schemas/fish_types.py,sha256=yC0ZFr3Ebh8F0OhtMsXYaIfNNvzOM2LT9YtKTaRoHGU,270
715
- meutils/schemas/hailuo_types.py,sha256=a9PLCHuiYbbCPKgiwwTeaQ6u1E1kwmqd0Ib6znCM5fY,7388
717
+ meutils/schemas/hailuo_types.py,sha256=lZ3Q07QNgxJvrX8JJvalxUsro4gGLOMQDusSEwV4EO0,7429
716
718
  meutils/schemas/haimian_types.py,sha256=jGu484UviAeBgy5OIUyRY4uYCxXfv16zDPqiJQr9wNQ,1364
717
719
  meutils/schemas/idphoto_types.py,sha256=nuHbpppejRSkJCiQ7YKx0Gnke0ShKZhOvdg0e7tk9-0,1074
718
- meutils/schemas/image_types.py,sha256=ZbgciZpkJjD8czXTahlhqsJGW4ScKMEdxc5pBBG2XWQ,13004
720
+ meutils/schemas/image_types.py,sha256=k_sSYgVlxmDp95q5uwuzFUVy3CDhLG6IKCFo2uNFxjs,13014
719
721
  meutils/schemas/jimeng_types.py,sha256=qsjtyURGsGnAGAhfZ9k4k-mtbRgjbWId75UMV1d6AiE,851
720
722
  meutils/schemas/jina_types.py,sha256=SLRRBCap2B1uXnHF7Sgnlz1Work8HvdIltjj4oVlGTk,8826
721
723
  meutils/schemas/kimi_types.py,sha256=PjCgHwCDNzKasn4X6rUzvOENqKYT3xj07cgp71IdsDA,3607
@@ -750,7 +752,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
750
752
  meutils/schemas/db/oneapi_types.py,sha256=YanT0q9pU7dva2ZBPWjCpwGNUuifnJh0zUJJCQ9070c,3848
751
753
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
752
754
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
753
- meutils/schemas/oneapi/common.py,sha256=_EBf27Bp1m5vB8MZ6OuK87oJRrXF3pkCLuEmKP0IQAQ,29922
755
+ meutils/schemas/oneapi/common.py,sha256=XpEGijfgCymQ6eEu1odfVSAz16c_lpmKCPC9cKdNotw,29981
754
756
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
755
757
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
756
758
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -878,9 +880,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
878
880
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
879
881
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
880
882
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
881
- MeUtils-2025.2.13.20.50.5.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
882
- MeUtils-2025.2.13.20.50.5.dist-info/METADATA,sha256=lSR0jO8ji1bVjQWAyQGoOflnqFwzByw3n29i4QzsNMc,6142
883
- MeUtils-2025.2.13.20.50.5.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
884
- MeUtils-2025.2.13.20.50.5.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
885
- MeUtils-2025.2.13.20.50.5.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
886
- MeUtils-2025.2.13.20.50.5.dist-info/RECORD,,
883
+ MeUtils-2025.2.18.19.56.22.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
884
+ MeUtils-2025.2.18.19.56.22.dist-info/METADATA,sha256=7Q7TXBQ8lUUImiUoKOCSnYwDVT7j9wA-69SBn0wRyC8,32834
885
+ MeUtils-2025.2.18.19.56.22.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
886
+ MeUtils-2025.2.18.19.56.22.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
887
+ MeUtils-2025.2.18.19.56.22.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
888
+ MeUtils-2025.2.18.19.56.22.dist-info/RECORD,,
@@ -0,0 +1,42 @@
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
+ import os
11
+
12
+ from meutils.pipe import *
13
+ from openai import OpenAI
14
+ from openai import OpenAI, APIStatusError
15
+
16
+
17
+ client = OpenAI(
18
+ api_key="你的 https://api.chatfire.cn/token",
19
+ base_url="https://api.chatfire.cn/v1"
20
+ )
21
+
22
+
23
+ completion = client.chat.completions.create(
24
+ model="glm-4-flash",
25
+ # model="xxxxxxxxxxxxx",
26
+ messages=[
27
+ {"role": "system", "content": '你是个内容审核助手'},
28
+
29
+ {"role": "user", "content": message}
30
+ ],
31
+ # top_p=0.7,
32
+ top_p=None,
33
+ temperature=None,
34
+ stream=True,
35
+ max_tokens=1000
36
+ )
37
+
38
+
39
+ for chunk in completion:
40
+ # print(bjson(chunk))
41
+ print(chunk.choices[0].delta.content, end="")
42
+
@@ -14,11 +14,12 @@ from meutils.io.files_utils import to_file
14
14
 
15
15
  client = OpenAI(
16
16
  base_url="https://ai.gitee.com/v1",
17
- api_key="WPCSA3ZYD8KBQQ2ZKTAPVUA059J2Q47TLWGB2ZMQ",
17
+ # api_key="WPCSA3ZYD8KBQQ2ZKTAPVUA059J2Q47TLWGB2ZMQ",
18
+ api_key="TICKEDYPY8XTF9ZIMKOFRTQ8IT7UDCE7EC7JRV10"
18
19
  # default_headers={"X-Failover-Enabled": "true", "X-Package": "1910"},
19
20
  )
20
21
 
21
- print(client.models.list())
22
+ # print(client.models.list())
22
23
  #
23
24
  # response = client.images.generate(
24
25
  # model="Kolors",
@@ -32,7 +33,7 @@ print(client.models.list())
32
33
  #
33
34
  # to_file(response.data[0].b64_json, 'x.png')
34
35
 
35
-
36
+ #
36
37
  r = client.chat.completions.create(
37
38
  # model="DeepSeek-R1-Distill-Qwen-32B",
38
39
  model="DeepSeek-V3",
@@ -44,4 +45,6 @@ r = client.chat.completions.create(
44
45
  temperature=0.1,
45
46
  )
46
47
 
47
- print(r)
48
+ # print(r)
49
+
50
+
@@ -130,7 +130,7 @@ with timer('image'):
130
130
  # model = "flux-dev"
131
131
 
132
132
  client = OpenAI(
133
- # api_key=os.getenv("OPENAI_API_KEY"),
133
+ api_key=os.getenv("OPENAI_API_KEY"),
134
134
  # api_key='13OafcA8KSNO4XLrBR4DpvgVV9d59KCvPAmEdrtsvOIcU4T50B0EGstjLEqPnBI2N',
135
135
 
136
136
  # api_key=os.getenv("SILICONFLOW_API_KEY"),
@@ -172,6 +172,9 @@ with timer('image'):
172
172
  model = "deepseek-ai/janus-pro-7b"
173
173
  model = "deepseek-ai/Janus-Pro-7B"
174
174
 
175
+ # model = "flux.1.1-pro"
176
+ model = "recraftv3"
177
+
175
178
  # response = client.images.generate(
176
179
  # model=model,
177
180
  # prompt=prompt,
@@ -38,7 +38,9 @@ send_message = partial(
38
38
  MODEL_MAPPING = {
39
39
  # video-01 video-01 video-01-live2d S2V-01
40
40
 
41
- "t2v-01": "23000",
41
+ "t2v-01": "23000", # 23010
42
+ "t2v-01-director": "23010",
43
+
42
44
  "i2v-01": "23001",
43
45
  "i2v-01-live": "23011",
44
46
  "video-01-live2d": "23011",
@@ -80,6 +80,8 @@ async def make_request_for_gitee(payload, token: Optional[str] = None, response_
80
80
  feishu_url = "https://xchatllm.feishu.cn/sheets/MekfsfVuohfUf1tsWV0cCvTmn3c?sheet=PDnO6X"
81
81
  token = token or await get_next_token_for_polling(feishu_url)
82
82
 
83
+ logger.debug(token)
84
+
83
85
  headers = {
84
86
  "Authorization": f"Bearer {token}",
85
87
  "X-Failover-Enabled": "true",
@@ -200,10 +202,10 @@ if __name__ == '__main__':
200
202
  request = ImageProcess(
201
203
  # model="hunyuan-remove-watermark",
202
204
 
203
- model="remove-watermark",
205
+ # model="remove-watermark",
204
206
  # model="clarity",
205
207
  # model="expand",
206
- # model="rmbg-2.0",
208
+ model="rmbg-2.0",
207
209
 
208
210
  image=url,
209
211
  # mask=url,
@@ -33,7 +33,7 @@ send_message = partial(
33
33
  @cache(ttl=10 * 60)
34
34
  @retrying()
35
35
  async def get_access_token(token: Optional[str] = None):
36
- token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, check_token=check_token)
36
+ token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, check_token=check_token, from_redis=True)
37
37
  headers = {"cookie": token}
38
38
 
39
39
  async with httpx.AsyncClient(base_url="https://www.recraft.ai", headers=headers, timeout=60) as client:
@@ -153,5 +153,5 @@ if __name__ == '__main__':
153
153
  # tokens = [token]
154
154
 
155
155
  # tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
156
- #
156
+
157
157
  # r = arun(check_token(tokens))
@@ -13,7 +13,7 @@ from meutils.pipe import *
13
13
  from meutils.hash_utils import md5
14
14
  from meutils.schemas.openai_types import TTSRequest
15
15
 
16
- from meutils.schemas.jimeng_types import BASE_URL, MODELS_MAP
16
+ from meutils.schemas.jimeng_types import BASE_URL, MODELS_MAP, FEISHU_URL
17
17
  from meutils.caches.redis_cache import cache
18
18
 
19
19
  from fake_useragent import UserAgent
@@ -168,16 +168,23 @@ def create_photo_lip_sync(request: TTSRequest):
168
168
 
169
169
 
170
170
  if __name__ == '__main__':
171
+ from meutils.config_utils.lark_utils import aget_spreadsheet_values, get_series
171
172
  token = "693701c43e477b7c405cc7e2fef0ddbd"
172
173
  token = "eb4d120829cfd3ee957943f63d6152ed"
173
174
  token = "dcf7bbc31faed9740b0bf748cd4d2c74"
174
175
  token = "38d7d300b5e0a803431ef88d8d2acfef"
175
176
  token = "916fed81175f5186a2c05375699ea40d"
176
177
  token = "7c5e148d9fa858e3180c42f843c20454"
178
+
179
+ # print(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0].tolist())
180
+ tokens = arun(get_series(FEISHU_URL))
177
181
  # arun(get_credit(token))
178
- arun(check_token(token))
182
+ # arun(check_token(token))
183
+ for token in tokens:
184
+ if not arun(check_token(token)):
185
+ print(token)
179
186
 
180
- # arun(get_upload_token(token))
187
+ # arun(get_upload_token(token))
181
188
  #
182
189
  # request = ImageRequest(prompt='https://oss.ffire.cc/files/kling_watermark.png笑起来')
183
190
  # arun(create_draft_content(request, token))
meutils/apis/kling/api.py CHANGED
@@ -32,9 +32,9 @@ def encode_jwt_token(ak, sk):
32
32
  return token
33
33
 
34
34
 
35
- async def create_task(request: VideoRequest, token: Optional[str] = None):
36
- token = token or await get_next_token_for_polling(API_FEISHU_URL)
37
- token = "ee6503baf0e447d59a3812fb2a344570|da8322347a7b4d5a9c04a088427883f7"
35
+ async def create_task(request: BaseModel, token: Optional[str] = None):
36
+ # token = token or await get_next_token_for_polling(API_FEISHU_URL)
37
+ token = "f042ce272aa7423d93dda0599bc5f332|e272cf7fe95145ec90ca947b8e29ef4c"
38
38
  ak, sk = token.split("|")
39
39
 
40
40
  headers = {
@@ -43,7 +43,8 @@ async def create_task(request: VideoRequest, token: Optional[str] = None):
43
43
  }
44
44
  payload = request.model_dump(exclude_none=True)
45
45
  async with httpx.AsyncClient(base_url=API_BASE_URL, headers=headers, timeout=60) as client:
46
- response = await client.post("/v1/videos/text2video", json=payload)
46
+ # response = await client.post("/v1/videos/text2video", json=payload)
47
+ response = await client.post("/v1/images/generations", json=payload)
47
48
  response.raise_for_status()
48
49
  return response.json()
49
50
  #
@@ -57,4 +58,5 @@ async def create_task(request: VideoRequest, token: Optional[str] = None):
57
58
  if __name__ == '__main__':
58
59
  # api_token = encode_jwt_token(ak, sk)
59
60
  # print(api_token) # 打印生成的API_TOKEN
60
- arun(create_task(VideoRequest(prompt="可爱的小姐姐")))
61
+ # arun(create_task(VideoRequest(prompt="可爱的小姐姐")))
62
+ arun(create_task(ImageRequest(prompt="可爱的小姐姐")))
@@ -112,6 +112,7 @@ async def generate(request: ImageRequest, api_key: Optional[str] = None):
112
112
 
113
113
  client = AsyncOpenAI(base_url=BASE_URL, api_key=api_key)
114
114
  response = await client.images.generate(**data)
115
+ logger.debug(response)
115
116
  response.model = ""
116
117
 
117
118
  return response
@@ -131,21 +132,21 @@ if __name__ == '__main__':
131
132
  "seed": None
132
133
  }
133
134
 
134
- data = {'model': 'flux1.1-pro',
135
- 'prompt': 'Surrealism, Chinese art, fairy, close-up of the upper body, hazy, glowing, dreamy, light pink and light blue gradient long hair, beautiful and charming, dressed in cashmere-like clothing, streamlined design, elegant, fair-skinned and beautiful, delicate features, comfortable, lying on an ice blue bed, background of a crescent moon and starry sky, with a touch of romantic gifts, virtual engine rendering, 3D model, OC rendering, perfect composition, ultra-detailed details, 3D rendering close-up shot. (flux1.1-pro)',
136
- 'negative_prompt': '', 'n': 1, 'response_format': 'url', 'size': '1152x2048', 'num_inference_steps': 20,
137
- 'seed': None}
138
-
139
- data = {
140
- "model": "flux-dev",
141
- "prompt": "(Chinese dragon soaring through the clouds).(majestic, colorful, mythical, powerful, ancient).(DSLR camera).(wide-angle lens).(dawn)(fantasy photography).(Kodak Ektar 100)",
142
- "negative_prompt": "",
143
- "n": 1,
144
- "response_format": "url",
145
- "size":"1366x768",
146
- "num_inference_steps": 20,
147
- "seed": None
148
- }
135
+ # data = {'model': 'flux1.1-pro',
136
+ # 'prompt': 'Surrealism, Chinese art, fairy, close-up of the upper body, hazy, glowing, dreamy, light pink and light blue gradient long hair, beautiful and charming, dressed in cashmere-like clothing, streamlined design, elegant, fair-skinned and beautiful, delicate features, comfortable, lying on an ice blue bed, background of a crescent moon and starry sky, with a touch of romantic gifts, virtual engine rendering, 3D model, OC rendering, perfect composition, ultra-detailed details, 3D rendering close-up shot. (flux1.1-pro)',
137
+ # 'negative_prompt': '', 'n': 1, 'response_format': 'url', 'size': '1152x2048', 'num_inference_steps': 20,
138
+ # 'seed': None}
139
+ #
140
+ # data = {
141
+ # "model": "flux-dev",
142
+ # "prompt": "(Chinese dragon soaring through the clouds).(majestic, colorful, mythical, powerful, ancient).(DSLR camera).(wide-angle lens).(dawn)(fantasy photography).(Kodak Ektar 100)",
143
+ # "negative_prompt": "",
144
+ # "n": 1,
145
+ # "response_format": "url",
146
+ # "size":"1366x768",
147
+ # "num_inference_steps": 20,
148
+ # "seed": None
149
+ # }
149
150
 
150
151
  # request = FluxImageRequest(model="flux", prompt="a dog", size="1024x1024", num_inference_steps=1)
151
152
  # request = FluxImageRequest(model="flux-pro", prompt="a dog", size="10x10", num_inference_steps=1)
@@ -163,3 +164,4 @@ if __name__ == '__main__':
163
164
  # )
164
165
 
165
166
  arun(generate(request))
167
+
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2025.02.13.20.50.05
1
+ 2025.02.18.19.56.22
meutils/io/files_utils.py CHANGED
@@ -45,6 +45,7 @@ def base64_to_bytes(base64_image_string):
45
45
  return base64.b64decode(base64_image_string.split(",", 1)[-1])
46
46
 
47
47
 
48
+ @retrying()
48
49
  async def to_bytes(
49
50
  file: Union[UploadFile, str, bytes],
50
51
  headers: Optional[dict] = None
@@ -104,7 +105,6 @@ async def to_tempfile(file: Union[UploadFile, str]):
104
105
  yield temp.name
105
106
 
106
107
 
107
- @cache(ttl=7 * 24 * 3600)
108
108
  async def to_url_fal(
109
109
  file: Union[str, bytes, List],
110
110
  filename: Optional[str] = None,
@@ -94,8 +94,10 @@ async def check_token_for_jina(api_key, threshold=1000):
94
94
  if __name__ == '__main__':
95
95
  from meutils.config_utils.lark_utils import get_next_token_for_polling
96
96
 
97
+ check_valid_token = partial(check_token_for_siliconflow, threshold=-1)
98
+
97
99
  pass
98
- arun(check_token_for_siliconflow("sk-xcdcquzwbsycxgadtwijeetzukhroyeorzqqzfvrtwrlmqrs"))
100
+ arun(check_valid_token("sk-sjfqlwkuqkkrrgfguxckuagmuhzmvxuxocgvxjgygxwsqawr", threshold=0.1))
99
101
 
100
102
  FEISHU_URL = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=KVClcs"
101
103
 
@@ -103,4 +105,4 @@ if __name__ == '__main__':
103
105
 
104
106
  # arun(get_next_token_for_polling(check_token=check_token_for_openai, feishu_url=FEISHU_URL))
105
107
 
106
- arun(check_token_for_jina(["jina_c8da77fed9704d558c8def39837960edplTLkNYrsPTJHBF1HcYg_RkRVh0X"]*10))
108
+ # arun(check_token_for_jina(["jina_c8da77fed9704d558c8def39837960edplTLkNYrsPTJHBF1HcYg_RkRVh0X"]*10))
@@ -7,6 +7,7 @@
7
7
  # @WeChat : meutils
8
8
  # @Software : PyCharm
9
9
  # @Description : todo: 格式匹配
10
+ # https://github.com/deepseek-ai/DeepSeek-R1
10
11
 
11
12
  from meutils.pipe import *
12
13
  from meutils.llm.clients import AsyncOpenAI, chatfire_client, zhipuai_client, moonshot_client
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : gemini
5
+ # @Time : 2025/2/14 17:36
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+
12
+ from meutils.pipe import *
13
+ from meutils.llm.openai_utils import to_openai_params
14
+ from meutils.llm.clients import chatfire_client
15
+
16
+ from meutils.schemas.openai_types import chat_completion, chat_completion_chunk, ChatCompletionRequest, CompletionUsage
17
+
18
+ """
19
+ image => file
20
+
21
+ "type": "image_url",
22
+ "image_url": {
23
+
24
+
25
+ """
26
+
27
+
28
+ async def create(request: ChatCompletionRequest):
29
+ data = to_openai_params(request)
30
+
31
+ if request.stream:
32
+ _chunk = ""
33
+ async for chunk in await chatfire_client.chat.completions.create(**data):
34
+ chunk = chunk.choices[0].delta.content or ""
35
+ yield chunk.removeprefix(_chunk)
36
+ _chunk = chunk
37
+
38
+ else:
39
+ response = await client.chat.completions.create(**data)
40
+ # logger.info(response)
41
+ yield response.choices[0].message.content
42
+
43
+
44
+ if __name__ == '__main__':
45
+ # [
46
+ # "qwen-plus-latest",
47
+ # "qvq-72b-preview",
48
+ # "qwq-32b-preview",
49
+ # "qwen2.5-coder-32b-instruct",
50
+ # "qwen-vl-max-latest",
51
+ # "qwen-turbo-latest",
52
+ # "qwen2.5-72b-instruct",
53
+ # "qwen2.5-32b-instruct"
54
+ # ]
55
+ request = ChatCompletionRequest(
56
+ # model="qwen-turbo-2024-11-01",
57
+ model="qwen-max-latest",
58
+ # model="qwen-plus-latest",
59
+
60
+ messages=[
61
+ {
62
+ 'role': 'user',
63
+ 'content': 'hi'
64
+ },
65
+
66
+ ],
67
+ stream=False,
68
+ )
69
+ arun(create(request))
@@ -111,6 +111,7 @@ class Video(BaseModel):
111
111
  status: Optional[int] = None
112
112
  """生成中是1 成功是2 失败是5 内容审核7 排队中11"""
113
113
  videoURL: Optional[str] = None
114
+ downloadURL: Optional[str] = None
114
115
  width: Optional[int] = None
115
116
  height: Optional[int] = None
116
117
 
@@ -155,7 +156,7 @@ class VideoResponse(BaseModel):
155
156
  def __init__(self, /, **data: Any):
156
157
  super().__init__(**data)
157
158
  if self.file_id is None and self.videos:
158
- self.file_id = self.videos[0].videoURL
159
+ self.file_id = self.videos[0].downloadURL
159
160
 
160
161
  if self.videos:
161
162
  self.status = status_mapper.get(self.videos[0].status, "Failed")
@@ -86,7 +86,7 @@ class ImageRequest(BaseModel): # openai
86
86
  guidance: Optional[int] = None
87
87
  steps: Optional[int] = None
88
88
 
89
- controls: dict = {} # 额外参数
89
+ controls: Optional[dict] = {} # 额外参数
90
90
 
91
91
  safety_tolerance: Optional[int] = None
92
92
 
@@ -101,11 +101,8 @@ MODEL_PRICE = {
101
101
  "api-tripo3d": 0.1,
102
102
 
103
103
  # 图片 音频 视频
104
- "recraftv3": 0.03,
105
- "recraftv3-halloween": 0.03,
106
- "chat-recraftv3": 0.03,
107
- "chat-recraftv3-halloween": 0.03,
108
- "jimeng-v2.1": 0.04,
104
+ "recraftv3": 0.04,
105
+ "chat-recraftv3": 0.04,
109
106
 
110
107
  "api-asr": 0.01,
111
108
  "api-stt": 0.01,
@@ -221,7 +218,7 @@ MODEL_PRICE = {
221
218
  "api-translator": 0.0001,
222
219
  "api-voice-clone": 0.01,
223
220
 
224
- "suno_music": 0.25,
221
+ "suno_music": 0.3,
225
222
  "suno_lyrics": 0.01,
226
223
  "suno_uploads": 0.01,
227
224
  "suno_upload": 0.01,
@@ -487,14 +484,28 @@ MODEL_RATIO = {
487
484
 
488
485
  # deepseek
489
486
  "deepseek-v3": 1,
487
+ "deepseek-v3-8k": 0.5,
490
488
  "deepseek-v3-128k": 5,
491
489
  "deepseek-chat": 1,
490
+ "deepseek-chat-8k": 0.5,
492
491
  "deepseek-chat-64k": 5,
493
492
  "deepseek-chat-164k": 5,
494
493
  "deepseek-chat:function": 4,
495
494
  "deepseek-vl2": 0.5,
496
495
  "deepseek-ai/deepseek-vl2": 0.5,
497
496
 
497
+ 'deepseek-r1': 2,
498
+ 'deepseek-r1-8k': 1,
499
+ 'deepseek-reasoner': 2,
500
+ 'deepseek-reasoner-8k': 1,
501
+
502
+ "deepseek-search": 1,
503
+ 'deepseek-r1-search': 2,
504
+ 'deepseek-reasoner-search': 2,
505
+
506
+ 'deepseek-r1-think': 1.5,
507
+ 'deepseek-reasoner-think': 1.5,
508
+
498
509
  # deepseek-r1:1.5b,deepseek-r1-distill-qwen-1.5b,deepseek-r1:7b,deepseek-r1-distill-qwen-7b,deepseek-r1:8b,deepseek-r1-distill-llama-8b,deepseek-r1:14b,deepseek-r1-distill-qwen-14b,deepseek-r1:32b,deepseek-r1-distill-qwen-32b,deepseek-r1:70b,deepseek-r1-distill-llama-70b
499
510
  "deepseek-r1:1.5b": 0.1,
500
511
  'deepseek-r1-lite': 0.1, # think
@@ -513,16 +524,6 @@ MODEL_RATIO = {
513
524
  "deepseek-r1:70b": 1.5,
514
525
  "deepseek-r1-distill-llama-70b": 1.5,
515
526
 
516
- 'deepseek-r1': 2,
517
- 'deepseek-reasoner': 2,
518
-
519
- 'deepseek-r1-think': 1.5,
520
- 'deepseek-reasoner-think': 1.5,
521
-
522
- "deepseek-search": 1,
523
- 'deepseek-r1-search': 2,
524
- 'deepseek-reasoner-search': 2,
525
-
526
527
  # 豆包
527
528
  "doubao-lite-128k": 0.4,
528
529
  "doubao-lite-32k": 0.15,
@@ -605,6 +606,7 @@ MODEL_RATIO = {
605
606
 
606
607
  "dall-e-3": 16,
607
608
 
609
+ "gemini-all": 1.5,
608
610
  "gemini-1.0-pro-001": 1,
609
611
  "gemini-1.0-pro-latest": 1,
610
612
  "gemini-1.0-pro-vision-001": 1,
@@ -795,6 +797,7 @@ COMPLETION_RATIO = {
795
797
  "ERNIE-4.0-Turbo-8K": 3,
796
798
  "ERNIE-4.0-8K": 3,
797
799
 
800
+ "gemini-all": 5,
798
801
  "gemini-1.5-pro-001": 4,
799
802
  "gemini-1.5-pro-002": 4,
800
803
  "gemini-1.5-flash": 4,