MeUtils 2025.6.12.17.34.4__py3-none-any.whl → 2025.6.13.18.6.6__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.
@@ -127,7 +127,7 @@ examples/_openaisdk/openai_modelscope.py,sha256=Gt7GE53-dK7v9N8cxcpO3XK324CTx3Vh
127
127
  examples/_openaisdk/openai_moderations.py,sha256=WoIyXDEn4dfVPwqFc54HSz0-7wLPu7pd4ZisZcyLOWM,1369
128
128
  examples/_openaisdk/openai_moon.py,sha256=7-gILGwZArZ1VHVb-jtIXEqWJMv65SaMmBSKJ90fx_w,1889
129
129
  examples/_openaisdk/openai_oi.py,sha256=8KJ62QgpAZdGWAoYN6AC9M9TrD8JQf7ZO_NAgXZywTo,1414
130
- examples/_openaisdk/openai_ppinfra.py,sha256=aPIZagPyJn5Qhwpk_6MW5Gp0w9p-qeO3NhpNkatRz58,1597
130
+ examples/_openaisdk/openai_ppinfra.py,sha256=po8GkzjQzSTouMBJq1cCxbhCjJ-Ksdgx26bqsYQxfk0,1642
131
131
  examples/_openaisdk/openai_ppu.py,sha256=cpr__WVlOrm2w1WjRV7v0rux4oiJkaqBnUZImR6MaEs,1010
132
132
  examples/_openaisdk/openai_qwen.py,sha256=KurTjBr_bN0aFZcMnWeGtEu0bbagYvOfhdYe-popsKE,2268
133
133
  examples/_openaisdk/openai_search.py,sha256=HKRTU6y9j_nUfZgrJt2eZ84d7TVT39WN-dcA_BFkVb4,937
@@ -141,7 +141,7 @@ examples/_openaisdk/openai_tune.py,sha256=D8n3mnlvVpDB_P11sErlibSyYtoFT5aKPUDQht
141
141
  examples/_openaisdk/openai_v.py,sha256=bVfMM86VpRy85patn1eDF9Y-Ojxd2w4GAx3NIUPVzC0,999
142
142
  examples/_openaisdk/openai_wuwen.py,sha256=hbV0fY3CEdwKzn4jNqcTFpK4-auxN77G3Jvm1DIdg4s,1810
143
143
  examples/_openaisdk/openai_x.py,sha256=6CaOJKWPlNCG_O4o8IBO6Bd2glCWm-XvNNJwnoUYnno,1091
144
- examples/_openaisdk/openai_zhipu.py,sha256=Mo6nCJlvKXoQQW-q53ne98HxiO38AHkPCgir23LjhUY,2287
144
+ examples/_openaisdk/openai_zhipu.py,sha256=4wF0RVDPRhui_-fV-UbkW8nHjFPhLYxFal_22TzUWh8,2360
145
145
  examples/_openaisdk/ppu.py,sha256=jPBufoYt2ZrqNKjgbHr49YZI5vBM-32eBYbhbYduhnY,602
146
146
  examples/_openaisdk/rag.py,sha256=NwNHhfi5FZ2XKCmsScjmM5cxCSfJuqx2jV-69ZXh244,1372
147
147
  examples/_openaisdk/rag_.py,sha256=rNTCO83JK6zqQAiY0vlHZRN5DQNT9_nCYtjeh8lTijU,121217
@@ -358,7 +358,7 @@ meutils/apis/baidu/test.py,sha256=nb9ivelHIw84-d1V-MNGRpGoTpLFsNXPk-TTKpjwOfQ,20
358
358
  meutils/apis/chatglm/__init__.py,sha256=uFuc9qY-ZjGqbsfcdGZkcEkhjATojWpzk2WXTTujc70,271
359
359
  meutils/apis/chatglm/chat.py,sha256=VARWXh3A2PnoScBgvfgAJC2C8OfVy9vWs3Q-qKg6F8Q,4253
360
360
  meutils/apis/chatglm/glm_video.py,sha256=9LA9pyeIcDDHXGhJbZSJfjxrLeNC3SIuCKJwDIXRKR8,14015
361
- meutils/apis/chatglm/glm_video_api.py,sha256=fr4hizU-jEjCdXvd8VpYY0XthEJfLQCcyBYwyd9bQq0,3898
361
+ meutils/apis/chatglm/glm_video_api.py,sha256=Wa1uBHIOwPWoAz90RMDeo-nMOvQzdQast1ZMBDTKq4Y,3964
362
362
  meutils/apis/chatglm/images.py,sha256=k2EtOpksgAfJb2MD6kLOKKem713kamTIinRmgr8_3n0,1974
363
363
  meutils/apis/chatglm/temp.py,sha256=zYe6JGUHVfb77T_TdNsdmpTs2D9OyqDTUEkblDAIoYY,17811
364
364
  meutils/apis/chatglm/x.py,sha256=lI86Cd6SN4noCN5HM9gRugcVmjHDtxDTV4m-7Bj61N0,24312
@@ -371,7 +371,7 @@ meutils/apis/dreamfaceapp/videos.py,sha256=xtz4GYRTdVE-D7xxFpSaH5Kl5ewXDx9Ogvtkf
371
371
  meutils/apis/fal/__init__.py,sha256=A7w3ZAS7Tv20N4X4Em6NshDxKSCPAzaPxHJTbM3BbyM,272
372
372
  meutils/apis/fal/chat.py,sha256=yReABuCWfXOEt7tZax03XIX5KBlfBo2DlEOp2EpiGOM,2641
373
373
  meutils/apis/fal/files.py,sha256=Gppdo96uw8-TCDr8P691jV7dK9Si-E-kJXFJR5BVt-Q,1373
374
- meutils/apis/fal/images.py,sha256=TKMlgIHVsMbI6tLvM24JILkyFU5RWzWVIlAk2CiqYfo,12499
374
+ meutils/apis/fal/images.py,sha256=vn5PO3CGjKhJQJz_s-l8bbkkRTQNiYFv_RW8k1wOkss,12752
375
375
  meutils/apis/fal/images_.py,sha256=C-C1TTQtMJ6RRcd-4FeYPn0R5IpPRPUFmBbrTVs_ypA,1446
376
376
  meutils/apis/fal/kling_videos.py,sha256=kL4SRpZafRSCRODtiNqeXauxfamHNdcBTE65BrG1rVA,2554
377
377
  meutils/apis/fal/pd.py,sha256=oPrMK_FJqohl2Kf0U0it8SqgvIlSEYFcSX8sfVkD8bU,311
@@ -470,7 +470,7 @@ meutils/apis/monica/llm.py,sha256=gYyBPOTvmoNFaa1KmW3OlSsRKeN7C97EyPUa264nJ08,26
470
470
  meutils/apis/napkin/__init__.py,sha256=EWwpRJEbN46d6Dk9PHAZvsYmqD_EOK0jjKQL1kYtcKs,271
471
471
  meutils/apis/napkin/icons.py,sha256=_L8EaSeQ6ChT5w7q3jnj_AcRhKvNiBg3-qUKo9JQ12o,2217
472
472
  meutils/apis/oneapi/__init__.py,sha256=wg_kqNkFqOkP70vnOHvAeKREps57Rqliu5yKC0gsgLk,284
473
- meutils/apis/oneapi/channel.py,sha256=eA4H4HqgKvqk9A2UKnFxrTESydwQXJmCcHY_c2v5QWQ,12888
473
+ meutils/apis/oneapi/channel.py,sha256=jDYOK7fcSSb9ciCIGOwT6HoKa7kBJIYaBlTZDmi1R1Q,12229
474
474
  meutils/apis/oneapi/common.py,sha256=AIs8ro-1qui3FG42msBY6dL_zt9QJ0jS63qtp-XTlY4,3617
475
475
  meutils/apis/oneapi/demo.py,sha256=i9iBK2OftTvOZdPcCo2nxu8zs0fSKIZbzD8DRKQNla8,1851
476
476
  meutils/apis/oneapi/log.py,sha256=gNFFXXcG2Xp5ttO7Q7qR6n6GQUheuU8SOCjJPXZudLY,1447
@@ -493,7 +493,7 @@ meutils/apis/replicateai/raw.py,sha256=v_Hztoa8uplkkUSDrnxlhc4qizW3-4tyra685Qnwx
493
493
  meutils/apis/runwayml/__init__.py,sha256=90oL_3o8YkFPYm4R4PCxd3m9hgnHpOCLr0u-X4BDg-w,244
494
494
  meutils/apis/runwayml/gen.py,sha256=JrfegC4pI2r7DprDLGMi5px0K1C1pSgopnz0lcJU5RY,5194
495
495
  meutils/apis/search/__init__.py,sha256=1lg0ogEBgtwTi3XvkL5hMfSd14A6YNLO7M9itEJmaYI,244
496
- meutils/apis/search/_web_search.py,sha256=h_rj0jKDbP1ZPvMPPHMhAnfVnjmW6I4XqEddrjYeq5U,2842
496
+ meutils/apis/search/_web_search.py,sha256=Mr-0KIY9WYacHwgKfKT7b9estIqgOAWqi95Ws-FbX3g,2842
497
497
  meutils/apis/search/ark_web_search.py,sha256=i6lrw-AinuH22Gds89TTmrvfJKYMFzBAOc-_1uEAPZI,2013
498
498
  meutils/apis/search/baichuan.py,sha256=OUD0TH7KzqSxtuRJgjJPWO8XRQIoUwW5RX7lWMo7BXw,268
499
499
  meutils/apis/search/metaso.py,sha256=4Ui-8MEwk6iymXth2xKnzluGm71B7k8EFa6uEet69G8,8713
@@ -543,7 +543,7 @@ meutils/apis/voice_clone/fish_api.py,sha256=pDpE-B8HFiGIOV3NVd1HmFrCC2GQc3wH-81o
543
543
  meutils/apis/volcengine_apis/__init__.py,sha256=gtu5ZNCc3up8bzgrCi10uwhsC04HpuCEEPXR_iVCNJE,244
544
544
  meutils/apis/volcengine_apis/images.py,sha256=F9LXXptesnASB_Al7rkEshb2S5r3PixZd8w0mif5468,5463
545
545
  meutils/apis/volcengine_apis/tasks.py,sha256=da2wYs2bqjYte_P2aFbSdKkLBaghuAj6vVKIlgdMg5A,4495
546
- meutils/apis/volcengine_apis/videos.py,sha256=T4L4IdOEzMuktDgBESiTPBR1dBUVgWMVvsUdGXbQ5XA,4552
546
+ meutils/apis/volcengine_apis/videos.py,sha256=XrHK1nR_5iF1a_YOxQKCUPnlVZfwyKSPL6ad4HDTVtA,6148
547
547
  meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpMLo,367
548
548
  meutils/async_task/celery_config.py,sha256=BX1h3jY34aO6UmUFakdBUwOdsEiOxCGuUtYDUKFtafc,3461
549
549
  meutils/async_task/common.py,sha256=ZJ4e0CsEJf1ppPmGSwPCwhZBAkUL5xsi_t1ny-bJuko,845
@@ -592,7 +592,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
592
592
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
593
593
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
594
594
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
595
- meutils/data/VERSION,sha256=trtpAA_484ptK6W_nrD0KMw3dsbSBTaOSpa5pyFCCfQ,19
595
+ meutils/data/VERSION,sha256=wZVv98jSA1v9L1usGZSJEMzSqvHvBSPnE_oiPT7e-BI,19
596
596
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
597
597
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
598
598
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -685,7 +685,7 @@ meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf
685
685
  meutils/llm/completions/chat_gemini.py,sha256=0x9HQxuDAHoWJ79JoaEKKWVNy4PRyd-Et-j8V93NqkY,4395
686
686
  meutils/llm/completions/chat_plus.py,sha256=RPYQqx4vc57gevcz0gUS7QPvGm0M12ktAspMKJtoeuk,7727
687
687
  meutils/llm/completions/chat_spark.py,sha256=xsKe3xkOwF5Hs7pkuJSDmeUgwy7xPOJhjuvM_w4BpmI,11412
688
- meutils/llm/completions/chat_videos.py,sha256=P3Yz34dkNlxCxzOuKHJ9pHIA4UXK3Y5RXPzVnQjb9rc,2915
688
+ meutils/llm/completions/chat_videos.py,sha256=UR67oB6yrlDinT_Ij13VQDbdZLFsC4FeEuRCoTjiVQ0,2917
689
689
  meutils/llm/completions/cp.py,sha256=tGf3umHKXDH0KuTfN7BLr8yAvN6MYWLYR5UVaJkJs0c,4172
690
690
  meutils/llm/completions/deep2x.py,sha256=Fo5cC1jXOFFXOZeRGk9IpCZVCQc8vgOizuYFuPaWujA,3746
691
691
  meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgdSOyLtQY,5131
@@ -713,11 +713,11 @@ meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cp
713
713
  meutils/llm/completions/rag/rag.py,sha256=mnC4bZUMuNYuPFXMBqXMofj_ms8uP5MMw1leJ5jXA_k,1209
714
714
  meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuRjSGQ,271
715
715
  meutils/llm/openai_polling/__init__.py,sha256=qmAMITPtrTD-y57RiJXewuOic7iLKBhx8mz5uvcxsy8,270
716
- meutils/llm/openai_polling/chat.py,sha256=WSQnKEJlZkJjS8CVq6RWouu7FCGgjw5Z5Aj2n1XkYsY,8049
716
+ meutils/llm/openai_polling/chat.py,sha256=PT7Xb621RIa7SSwdlOCq5OMgk7nSyN7cBaBW4qQwpvg,8180
717
717
  meutils/llm/openai_polling/images.py,sha256=qKMk3vCvamS_48ceC-_y2LPpP5XsD476FHG9MUu8kks,1042
718
718
  meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
719
- meutils/llm/openai_utils/adapters.py,sha256=qZ0mzjHB9o6m6PwytCy1Ukr3GQZ7qqAjzbsAzryXp6k,2307
720
- meutils/llm/openai_utils/common.py,sha256=67HF4OHNRHfquerdgaHASdLFnHipwVpwUFnAhQQcaX0,10465
719
+ meutils/llm/openai_utils/adapters.py,sha256=-6e-gpSYVPUouP9o8leAdOOCNuk-dtndUhzMOyvQpUM,3425
720
+ meutils/llm/openai_utils/common.py,sha256=H24wag3LD2RqKV_sXD4OBa4VtmWh8JNUo5h5xvHVmAk,10557
721
721
  meutils/llm/openai_utils/tool_outputs.py,sha256=6mNkm4btgy0uzF98gdmcah1bYmoflXdLz2Sqm0KC_LQ,1224
722
722
  meutils/llm/output_parsers/__init__.py,sha256=EGKvgUD47ReyV5Z9RXDCrdDLgfKMHdoayzsXVmBuQxw,3474
723
723
  meutils/llm/prompts/__init__.py,sha256=VlEEViFoUSRS0EF1rHJXHh9Ik9FpvAiR1luKjHOsUc4,8580
@@ -729,7 +729,7 @@ meutils/logging/handlers.py,sha256=ngnVVN7wcFQZsSTnc-1nP5ZRCp-jbO1Qt7mjNfum_-8,7
729
729
  meutils/logging/log_utils.py,sha256=Sa5-Y4fWNTKQw2fIb1dbPgOypl6S6m7EOrbciSqEt5A,2937
730
730
  meutils/logging/logger.py,sha256=-J_tWYfAvPhSTshVWIiN-6zTZnjkFuwDfMtxUtuNkuY,6183
731
731
  meutils/math_utils/__init__.py,sha256=vg71MyiPyDCeFDwi42MLSfAFQl43a3uNLIgerY0eDRA,284
732
- meutils/math_utils/common.py,sha256=8MpWwgYLdvrpouTd9YJzcAwH-KNq58J4mY87dvd7e3Q,1086
732
+ meutils/math_utils/common.py,sha256=fiNTFB2MWFXq536T6AFYAD6Y67lXz4nDpoVd2qQdjBw,1128
733
733
  meutils/notice/__init__.py,sha256=BVbcBx4ks-BH_63gEcjMxL67oX1_aWdaM8r3TDo8Ogg,248
734
734
  meutils/notice/emails.py,sha256=TvC1xv3MpFC2HU0lTQW5SmNuj7UMlgjpsUImMp9jKOw,2403
735
735
  meutils/notice/feishu.py,sha256=ydQuZgzmL3j5u0ySkLKShRemM4UYYOKa-vIsnezKWEU,4626
@@ -825,7 +825,7 @@ meutils/schemas/fish_types.py,sha256=yC0ZFr3Ebh8F0OhtMsXYaIfNNvzOM2LT9YtKTaRoHGU
825
825
  meutils/schemas/hailuo_types.py,sha256=ubG6qIU506tq51UsURuwlPhtPNa49xHSoBzBtW7jg_0,7431
826
826
  meutils/schemas/haimian_types.py,sha256=jGu484UviAeBgy5OIUyRY4uYCxXfv16zDPqiJQr9wNQ,1364
827
827
  meutils/schemas/idphoto_types.py,sha256=nuHbpppejRSkJCiQ7YKx0Gnke0ShKZhOvdg0e7tk9-0,1074
828
- meutils/schemas/image_types.py,sha256=NgHdKpZLLE4RLoEeDZnCwpFuMUVDJqUr0Q9ZNHW3oj0,16224
828
+ meutils/schemas/image_types.py,sha256=pMm-CvHhT1p28pEXo-uIWHvZaeDzNG4bZmEyK_XTycQ,16266
829
829
  meutils/schemas/jimeng_types.py,sha256=z0mAICgNE0Yaq09_puzgMfHOP-QKWiZqqMlFbLVHtmY,1995
830
830
  meutils/schemas/jina_types.py,sha256=SLRRBCap2B1uXnHF7Sgnlz1Work8HvdIltjj4oVlGTk,8826
831
831
  meutils/schemas/kimi_types.py,sha256=PjCgHwCDNzKasn4X6rUzvOENqKYT3xj07cgp71IdsDA,3607
@@ -838,7 +838,7 @@ meutils/schemas/metaso_types.py,sha256=nbZ_5chFtAszZltilE_o-AZcwlqHvzF4ATKwD101W
838
838
  meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
839
839
  meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
840
840
  meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
841
- meutils/schemas/openai_types.py,sha256=kfN-uzTJtS4yGqLziQ4jaT6BIqggr7GSDBZ_pzlHxBo,22994
841
+ meutils/schemas/openai_types.py,sha256=uN8FDMGjPwYbi9p4iRr1pTGAjIdgB-2s3_4bsOfKYDA,23031
842
842
  meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX0Xmw,2347
843
843
  meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
844
844
  meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
@@ -860,8 +860,8 @@ meutils/schemas/yuanbao_types.py,sha256=bI_CF9ybaJ1ux8NgP5gEi33k_K_vHmlyD09fxzhY
860
860
  meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVIU,272
861
861
  meutils/schemas/db/oneapi_types.py,sha256=3t2m0H80saEXmYUZfVFrtEaY117GjZTsSa1GKgkJzqQ,3896
862
862
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
863
- meutils/schemas/oneapi/_types.py,sha256=IdXSLPQl73AKtCC5jFI2w5O7WFuQcQJlN_pr8xiMKz0,2648
864
- meutils/schemas/oneapi/common.py,sha256=0RFlX0yKc1uQ1pRa1vZwzLx2ywWXDYReKpo6waxN3kw,41461
863
+ meutils/schemas/oneapi/_types.py,sha256=O09I7fxAf-LoTeoBTcVu9PLEKarPu3q4xTKJh4ANAbU,2934
864
+ meutils/schemas/oneapi/common.py,sha256=r_SwaeyiHDwp4yvZrkiXSFKC6BcWDZmLvgGAhDvaM60,41658
865
865
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
866
866
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
867
867
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -915,7 +915,7 @@ meutils/settings/base.py,sha256=kb3QVS2eUFWyGgvegtSK4cqJFF76J1JctTSzCVqc1Mo,264
915
915
  meutils/settings/demo.py,sha256=Ht3t6LREQsKa5W2owNrOZNAoZfS-zItIFNwGhhPj-4k,484
916
916
  meutils/str_utils/Translator.py,sha256=tfvNQIeVCqmX9yW6jobeibDHG6X-XecSSAx9kJIFFyw,1258
917
917
  meutils/str_utils/__init__.py,sha256=7rVAWR0bbxVvuWFwyC0ZedpY1QVSmrrLwLIfPAfjWqM,10238
918
- meutils/str_utils/json_utils.py,sha256=H65v9vZtXVuYyRCQAfyQ4KZzAecwjvjBH6qTy0hCDE4,4033
918
+ meutils/str_utils/json_utils.py,sha256=10QhpmzAWI0hERdQb5JDeNqphI5QWFTjeZJhiYkuI4c,2827
919
919
  meutils/str_utils/regular_expression.py,sha256=HqEcPNyUHBBo7oJlwOFNpiFiO5NCXB8hD41nI1826fU,6161
920
920
  meutils/str_utils/__translater/__init__.py,sha256=mtDbKL_Qdkeq5VPVO1M4ejf9H8PzKM5h7iepqkBG8N0,277
921
921
  meutils/str_utils/__translater/tencent.py,sha256=1E_56l6-A49Yuz2ZrMKxt-QJfcf0xDYN2X0dg58Dytk,1408
@@ -990,9 +990,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
990
990
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
991
991
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
992
992
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
993
- MeUtils-2025.6.12.17.34.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
994
- MeUtils-2025.6.12.17.34.4.dist-info/METADATA,sha256=0owD_l02jJ_WKeYpjPm60ER0d3dFUFISBwwTpxcCoxI,32833
995
- MeUtils-2025.6.12.17.34.4.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
996
- MeUtils-2025.6.12.17.34.4.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
997
- MeUtils-2025.6.12.17.34.4.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
998
- MeUtils-2025.6.12.17.34.4.dist-info/RECORD,,
993
+ MeUtils-2025.6.13.18.6.6.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
994
+ MeUtils-2025.6.13.18.6.6.dist-info/METADATA,sha256=Eb65hAQIM5mrTam2HHGJIQGZ8ptPOufYzzwEP7NOt9g,32832
995
+ MeUtils-2025.6.13.18.6.6.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
996
+ MeUtils-2025.6.13.18.6.6.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
997
+ MeUtils-2025.6.13.18.6.6.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
998
+ MeUtils-2025.6.13.18.6.6.dist-info/RECORD,,
@@ -25,7 +25,8 @@ try:
25
25
  completion = client.chat.completions.create(
26
26
  # model="deepseek/deepseek-r1/community",
27
27
  # model="deepseek/deepseek-r1-turbo",
28
- model="deepseek/deepseek-v3-0324",
28
+ # model="deepseek/deepseek-v3-0324",
29
+ model="deepseek/deepseek-r1-0528",
29
30
  messages=[
30
31
  {"role": "system", "content": '你是个内容审核助手'},
31
32
 
@@ -40,7 +40,10 @@ try:
40
40
  top_p=None,
41
41
  temperature=None,
42
42
  stream=True,
43
- max_tokens=1000
43
+ max_tokens=10,
44
+ # stream_options={
45
+ # "include_usage": True,
46
+ # }
44
47
  )
45
48
  except APIStatusError as e:
46
49
  print(e.status_code)
@@ -50,7 +53,7 @@ except APIStatusError as e:
50
53
  print(e.code)
51
54
 
52
55
  for chunk in completion:
53
- # print(bjson(chunk))
56
+ print(bjson(chunk))
54
57
  print(chunk.choices[0].delta.content, flush=True)
55
58
 
56
59
  # r = client.images.generate(
@@ -102,15 +102,16 @@ async def generate(request: ImageRequest, n: int = 30): # 兼容dalle3
102
102
 
103
103
  # VideoResult
104
104
  if __name__ == '__main__':
105
- api_key = "e21bd630f681c4d90b390cd609720483.WSFVgA3Kk1wNCX0mN"
105
+ api_key = "88b82799f3234a5aad130b0f74c7eb85.tBMTRh0h1IqbvMaw"
106
106
  # api_key = "7d10426c06afa81e8d7401d97781249c.DbqlSsicRtaUdKXI" # 新号
107
+ # api_key = "e21bd630f681c4d90b390cd609720483.WSFVgA3Kk1wNCX0mN"
107
108
 
108
109
  request = VideoRequest(
109
110
  model='cogvideox-flash',
110
111
  # model='cogvideox'
111
112
 
112
113
  )
113
- # r = arun(create_task(request, api_key=api_key))
114
+ r = arun(create_task(request, api_key=api_key))
114
115
  pass
115
116
 
116
117
  request = ImageRequest(prompt="https://oss.ffire.cc/files/kling_watermark.png 让这个女人笑起来")
@@ -57,7 +57,7 @@ async def generate(request: ImageRequest, api_key: Optional[str] = None):
57
57
  token = api_key or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True, check_token=check)
58
58
 
59
59
  arguments = request.model_dump(exclude_none=True)
60
- width, height = request.size.split("x")
60
+ width, height = (request.size or "1024x1024").split("x")
61
61
  if request.model.startswith("fal-ai/recraft"): # https://fal.ai/models/fal-ai/recraft-v3/api#queue-submit
62
62
  arguments = {
63
63
  **arguments,
@@ -157,7 +157,7 @@ async def generate(request: ImageRequest, api_key: Optional[str] = None):
157
157
 
158
158
  aspect_ratios = {'21:9', '16:9', '4:3', '3:2', '1:1', '2:3', '3:4', '9:16', '9:21'}
159
159
 
160
- if aspect_ratio := request.prompt2aspect_ratio(aspect_ratios): # 提示词优先级最高
160
+ if aspect_ratio := request.prompt2aspect_ratio(aspect_ratios): # 提示词优先级最高
161
161
  arguments["aspect_ratio"] = aspect_ratio
162
162
 
163
163
  elif request.aspect_ratio in aspect_ratios:
@@ -250,6 +250,17 @@ if __name__ == '__main__':
250
250
  prompt = '把小鸭子放在女人的T恤上面。\nhttps://s3.ffire.cc/cdn/20250530/tEzZKkhp3tKbNzva6mgC2T\nhttps://s3.ffire.cc/cdn/20250530/AwHJpuJuNg5w3sVbH4PZdv'
251
251
  request = ImageRequest(prompt=prompt, model=model)
252
252
 
253
+ data = {
254
+ "model": "fal-ai/flux-pro/kontext",
255
+ "prompt": "https://s3.ffire.cc/files/3_4.webp 老虎换个姿势",
256
+ "size": None
257
+ }
258
+
259
+ request = ImageRequest(**data)
260
+
261
+ arun(generate(request))
262
+
263
+
253
264
  # request = ImageRequest(prompt='https://oss.ffire.cc/files/kling_watermark.png The woman smiled', model=model)
254
265
  #
255
266
  # request = ImageRequest(prompt="https://oss.ffire.cc/files/kling_watermark.png 让这个女人哭起来", model=model)
@@ -264,9 +275,9 @@ if __name__ == '__main__':
264
275
 
265
276
  # arun(AsyncClient(key=token).key)
266
277
 
267
- FEISHU_URL = "https://xchatllm.feishu.cn/sheets/QB6Psj8zrhB4JStEW0acI4iInNg?sheet=ef2e81"
268
-
269
- tokens = arun(get_series(FEISHU_URL))
278
+ # FEISHU_URL = "https://xchatllm.feishu.cn/sheets/QB6Psj8zrhB4JStEW0acI4iInNg?sheet=ef2e81"
279
+ #
280
+ # tokens = arun(get_series(FEISHU_URL))
270
281
  # tokens = ["578e143c-702d-46a1-8c02-d451bc3e155b:bb531a95f79c6026e7bc7ab676163c71"]
271
282
  # tokens = """
272
283
  # 30e9fe5c-75d0-4bdd-b11d-ff17dbe4bba5:3de8535e2fa4d9347e599a845cf3e7b8
@@ -6,11 +6,13 @@
6
6
  # @Author : betterme
7
7
  # @WeChat : meutils
8
8
  # @Software : PyCharm
9
- # @Description :
9
+ # @Description :
10
+ import datetime
10
11
 
11
12
  from meutils.pipe import *
12
13
  from meutils.hash_utils import murmurhash
13
14
  from meutils.schemas.oneapi import BASE_URL, GROUP_RATIO
15
+ from meutils.schemas.oneapi._types import ChannelInfo
14
16
 
15
17
  headers = {
16
18
  'authorization': f'Bearer {os.getenv("CHATFIRE_ONEAPI_TOKEN")}',
@@ -73,57 +75,29 @@ async def edit_channel(models, token: Optional[str] = None):
73
75
 
74
76
 
75
77
  async def create_or_update_channel(
76
- api_key,
77
- base_url: Optional[str] = "https://api.ffire.cc",
78
- models: str = "",
79
- channel_id: Optional[int] = None,
78
+ request: ChannelInfo,
79
+
80
+ base_url: Optional[str] = None,
81
+ api_key: Optional[str] = None,
80
82
  ):
81
- if isinstance(api_key, list):
82
- api_keys = api_key | xgroup(128) # [[],]
83
- else:
84
- api_keys = [[api_key]]
83
+ method = "put" if request.id else "post"
84
+ base_url = base_url or "https://api.ffire.cc"
85
85
 
86
- payload = {
87
- "id": channel_id,
88
- "type": 24, # gemini
89
- # "key": "AIzaSyCXWV19FRM4XX0KHmpR9lYUz9i1wxQTYUg",
90
- "openai_organization": "",
91
- "test_model": "",
92
- "status": 1,
93
- "name": "gemini",
86
+ # 新创建的优先级低,保证旧key刷的时间更长
87
+ request.priority = request.priority or int(1000 - (time.time() - time.time() // 1000 * 1000))
94
88
 
95
- "priority": murmurhash(api_key, bins=3),
96
- "weight": 0,
97
- # "created_time": 1745554162,
98
- # "test_time": 1745554168,
99
- # "response_time": 575,
100
- # "base_url": "https://g.chatfire.cn/v1beta/openai/chat/completions",
101
- # "other": "",
102
- # "balance": 0,
103
- # "balance_updated_time": 0,
104
- "models": models,
105
- # "used_quota": 0,
106
- "model_mapping": """{"gemini-2.5-pro-preview-03-25": "gemini-2.5-pro-exp-03-25"}""",
107
- # "status_code_mapping": "",
108
- # "auto_ban": 1,
109
- # "other_info": "",
110
- # "settings": "",
111
- "tag": "gemini",
112
- # "setting": None,
113
- # "param_override": "\n {\n \"seed\": null,\n \"frequency_penalty\": null,\n \"presence_penalty\": null,\n \"max_tokens\": null\n }\n ",
114
- "group": "default",
115
- "groups": [
116
- "default"
117
- ]
89
+ api_key = api_key or os.getenv("CHATFIRE_ONEAPI_TOKEN")
90
+ headers = {
91
+ 'authorization': f'Bearer {api_key}',
92
+ 'new-api-user': '1',
93
+ 'rix-api-user': '1',
118
94
  }
119
-
120
- for api_key in tqdm(api_keys):
121
- payload['key'] = '\n'.join(api_key)
122
- # logger.debug(payload)
123
- async with httpx.AsyncClient(base_url=base_url, headers=headers, timeout=100) as client:
124
- response = await client.post("/api/channel/", json=payload)
125
- response.raise_for_status()
126
- logger.debug(response.json())
95
+ payload = request.model_dump(exclude_none=True)
96
+ async with httpx.AsyncClient(base_url=base_url, headers=headers, timeout=60) as client:
97
+ response = await client.request(method, "/api/channel/", json=payload)
98
+ response.raise_for_status()
99
+ logger.debug(response.json())
100
+ return response.json()
127
101
 
128
102
 
129
103
  async def create_or_update_channel_for_gemini(api_key, base_url: Optional[str] = "https://api.ffire.cc"):
@@ -206,13 +180,18 @@ if __name__ == '__main__':
206
180
  # gemini
207
181
  FEISHU_URL = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=kfKGzt"
208
182
  #
209
- # base_url = "https://api.ffire.cc"
210
- base_url = "https://usa.chatfire.cn"
183
+ base_url = "https://api.ffire.cc"
184
+ # base_url = "https://usa.chatfire.cn"
211
185
  #
212
- tokens = arun(get_series(FEISHU_URL)) # [:5]
213
- arun(create_or_update_channel(tokens, base_url))
186
+ # tokens = arun(get_series(FEISHU_URL)) # [:5]
187
+ # arun(create_or_update_channel(tokens, base_url))
214
188
  # arun(create_or_update_channel(tokens))
215
189
  # # arun(delete_channel(range(10000, 20000)))
190
+ key= "KEY"
191
+ request = ChannelInfo(name='', key=key)
192
+ request = ChannelInfo(key=key)
193
+
194
+ arun(create_or_update_channel(request))
216
195
 
217
196
  """
218
197
  API_KEY=6c255307-7b4d-4be8-984b-5440a3e867eb
@@ -37,7 +37,7 @@ class Completions(object):
37
37
  # search_completion = await zhipuai_client.chat.completions.create(**data)
38
38
  # logger.debug(search_completion.model_dump_json(indent=4))
39
39
  #
40
- # if results := json_path(search_completion, '$..[keywords,query,search_result]'):
40
+ # if results := json_path(search_completion, '$..[keywords,query,search_result]'):
41
41
  # data = dict(zip(["keywords", "query", "search_result"], results))
42
42
  # if search_result2md:
43
43
  # global df
@@ -9,40 +9,71 @@
9
9
  # @Description :
10
10
 
11
11
  from meutils.pipe import *
12
+ from meutils.io.files_utils import to_url
12
13
  from meutils.decorators.retry import retrying
13
14
  from meutils.llm.clients import AsyncClient
14
15
  from meutils.schemas.openai_types import CompletionRequest
16
+ from meutils.notice.feishu import send_message_for_volc as send_message
15
17
 
16
18
  from meutils.db.redis_db import redis_aclient
17
- from meutils.llm.check_utils import check_token_for_volc
19
+ from meutils.llm.check_utils import check_token_for_volc as check
18
20
  from meutils.config_utils.lark_utils import get_next_token_for_polling, get_series
19
21
 
20
22
  from fastapi import APIRouter, File, UploadFile, Query, Form, Depends, Request, HTTPException, status, BackgroundTasks
21
23
 
22
24
  # Please activate
23
- FEISHU_URL = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=8W6kk8"
25
+ FEISHU_URL = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=8W6kk8" # 超刷
26
+
27
+
28
+ async def get_valid_token():
29
+ tokens = await get_series(FEISHU_URL)
30
+ for token in tokens:
31
+ if await check(token):
32
+ logger.debug(f"有效 {token}")
33
+
34
+ return token
35
+ else:
36
+ logger.debug(f"无效 {token}")
37
+ _ = f"{FEISHU_URL}\n\n所有token无效"
38
+ logger.error(_)
39
+ send_message(_, n=3)
24
40
 
25
41
 
26
42
  @retrying(max_retries=5)
27
43
  async def create_task(request: CompletionRequest, api_key: Optional[str] = None):
44
+ # api_key = "e32b1693-147e-40db-a83a-82f85cfa6360" # 欠费
28
45
  api_key = api_key or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True, check_token=check)
29
46
 
30
47
  payload = {
31
- "model": "doubao-seedance-1-0-pro-250528",
32
- "content": [
48
+ "model": request.model,
49
+ }
50
+
51
+ if hasattr(request, 'content'):
52
+ payload["content"] = request.content
53
+
54
+ elif image_urls := request.last_urls.get("image_url"):
55
+ payload["content"] = [
33
56
  {
34
57
  "type": "text",
35
- "text": "无人机以极快速度穿越复杂障碍或自然奇观,带来沉浸式飞行体验 --resolution 1080p --duration 5 --camerafixed false"
58
+ "text": request.last_user_content
36
59
  },
37
60
  {
38
61
  "type": "image_url",
39
62
  "image_url": {
40
- "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seepro_i2v.png"
63
+ "url": image_urls[-1]
64
+ # "url": await to_url(image_urls[-1], filename=".png")
65
+
41
66
  }
42
- }
43
- ]
44
- }
45
- payload = request.model_dump(exclude_none=True)
67
+ }]
68
+ else:
69
+ payload["content"] = [
70
+ {
71
+ "type": "text",
72
+ "text": request.last_user_content
73
+ }]
74
+
75
+ logger.debug(payload)
76
+
46
77
  client = AsyncClient(base_url="https://ark.cn-beijing.volces.com/api/v3", api_key=api_key)
47
78
 
48
79
  response = await client.post(
@@ -59,7 +90,7 @@ async def create_task(request: CompletionRequest, api_key: Optional[str] = None)
59
90
 
60
91
  async def get_task(task_id: str):
61
92
  token = await redis_aclient.get(task_id) # 绑定对应的 token
62
- token = token and token.decode()
93
+ api_key = token and token.decode()
63
94
  if not token:
64
95
  raise HTTPException(status_code=404, detail="TaskID not found")
65
96
 
@@ -77,40 +108,39 @@ async def get_task(task_id: str):
77
108
  if __name__ == "__main__":
78
109
  # api_key = "07139a08-e360-44e2-ba31-07f379bf99ed" # {'id': 'cgt-20250611164343-w2bzq'} todo 过期调用get
79
110
 
80
- api_key = "68948c3a-94cd-48b2-aebb-1dcd26cee5d8" # 欠费
111
+ api_key = "c2449725-f758-42af-8f2c-e05b68dd06ad" # 欠费
81
112
 
82
113
  request = CompletionRequest(
83
114
  model="doubao-seedance-1-0-pro-250528",
84
- content=[
85
- {
86
- "type": "text",
87
- "text": "无人机以极快速度穿越复杂障碍或自然奇观,带来沉浸式飞行体验 --resolution 1080p --duration 5 --camerafixed false"
88
- },
89
-
90
- {
91
- "type": "image_url",
92
- "image_url": {
93
- "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seepro_i2v.png"
94
- }
95
- }
115
+ messages=[
116
+ {"role": "user",
117
+ "content": "无人机以极快速度穿越复杂障碍或自然奇观,带来沉浸式飞行体验 --resolution 1080p --duration 5 --camerafixed false"}
96
118
  ]
97
119
  )
98
- # r = arun(create_task(request, api_key))
99
- r = {'id': 'cgt-20250612172542-6nbt2'}
120
+ r = arun(create_task(request, api_key))
121
+ # r = {'id': 'cgt-20250612172542-6nbt2'}
100
122
 
101
- arun(get_task(r.get('id')))
123
+ # arun(get_task(r.get('id')))
102
124
 
103
125
  # arun(get_task("cgt-20250611164343-w2bzq"))
104
126
 
105
127
  # arun(get_task("cgt-20250611193213-tcqth"))
106
128
 
129
+ # arun(get_valid_token())
130
+
107
131
  """
132
+ {'id': 'cgt-20250613160030-2dvd7',
133
+ 'model': 'doubao-seedance-1-0-pro-250528',
134
+ 'status': 'running',
135
+ 'created_at': 1749801631,
136
+ 'updated_at': 1749801631}
137
+
108
138
  openai.NotFoundError: Error code: 404 - {'error': {'code': 'ModelNotOpen', 'message': 'Your account 2107813928 has not activated the model doubao-seedance-1-0-pro. Please activate the model service in the Ark Console. Request id: 021749718307793fc1441381f8ed755824bb9d58a45ee6cb04068', 'param': '', 'type': 'NotFound'}}
109
139
 
110
140
 
111
141
  curl -X POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks \
112
142
  -H "Content-Type: application/json" \
113
- -H "Authorization: Bearer 29ce2c44-981d-4b7b-b0f5-f8a39586fd06" \
143
+ -H "Authorization: Bearer e32b1693-147e-40db-a83a-82f85cfa6360" \
114
144
  -d '{
115
145
  "model": "doubao-seaweed-241128",
116
146
  "content": [
@@ -121,9 +151,28 @@ curl -X POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks
121
151
  {
122
152
  "type": "image_url",
123
153
  "image_url": {
124
- "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/i2v_foxrgirl.png"
154
+ "url": "https://s3.ffire.cc/cdn/20250613/vS2jaDCmA8crncXMR4fB7z_.png"
125
155
  }
126
156
  }
127
157
  ]
128
158
  }'
159
+
160
+ curl -X POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks \
161
+ -H "Content-Type: application/json" \
162
+ -H "Authorization: Bearer e32b1693-147e-40db-a83a-82f85cfa6360" \
163
+ -d '{
164
+ "model": "doubao-seaweed-241128",
165
+ "content": "a dog"
166
+ }'
167
+
168
+
169
+ {'id': 'cgt-20250613160030-2dvd7',
170
+ 'model': 'doubao-seedance-1-0-pro-250528',
171
+ 'status': 'succeeded',
172
+ 'content': {'video_url': 'https://ark-content-generation-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-1-0-pro/02174980163157800000000000000000000ffffac182c17b26890.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTYjg3ZjNlOGM0YzQyNGE1MmI2MDFiOTM3Y2IwMTY3OTE%2F20250613%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20250613T080120Z&X-Tos-Expires=86400&X-Tos-Signature=5e0928f738f49b93f54923549de4c65940c5007d5e86cb5ebadc756cca3aa03e&X-Tos-SignedHeaders=host'},
173
+ 'usage': {'completion_tokens': 246840, 'total_tokens': 246840},
174
+ 'created_at': 1749801631,
175
+ 'updated_at': 1749801680}
176
+
177
+
129
178
  """
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2025.06.12.17.34.04
1
+ 2025.06.13.18.06.06
@@ -52,6 +52,8 @@ class Completions(object):
52
52
  await asyncio.sleep(3)
53
53
  response = await glm_video_api.get_task(taskid, system_fingerprint)
54
54
 
55
+
56
+
55
57
  logger.debug(response)
56
58
  if response.task_status == "SUCCESS" or response.video_result:
57
59
  yield ")🎉🎉🎉\n\n"
@@ -73,6 +73,7 @@ class Completions(object):
73
73
 
74
74
  elif "deepseek-r" in request.model:
75
75
  request.separate_reasoning = True # pp
76
+ """Error code: 403 - {'code': 403, 'reason': 'NOT_ENOUGH_BALANCE', 'message': 'not enough balance', 'metadata': {}}"""
76
77
  ###########################################################################
77
78
 
78
79
  data = to_openai_params(request)