MeUtils 2025.6.20.18.7.13__py3-none-any.whl → 2025.6.24.11.13.32__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.
@@ -109,6 +109,7 @@ examples/_openaisdk/openai_dashscope.py,sha256=m9SjQpaNgYwr4Qd3XusWbJBGp5ZTtpuB4
109
109
  examples/_openaisdk/openai_deepinfra.py,sha256=innI4BT15dZEqheqDHG4lHDczY1QC7t2Whcavi1pcz0,1195
110
110
  examples/_openaisdk/openai_deepseek.py,sha256=0IbHh2F6eVDs-i8gP8x8wj6s9R6CzOGN7QrCp1EuB5k,2086
111
111
  examples/_openaisdk/openai_doubao.py,sha256=5L7NaDyedxEhvUTWsScX8edL3_WErNxxUIAW_FuLDHs,1754
112
+ examples/_openaisdk/openai_edits.py,sha256=EkWSFmqZ6D7JRmMpvaTu7xg-d6ai5fX84g0ji6fDnuw,1209
112
113
  examples/_openaisdk/openai_embeddings.py,sha256=IRMAWSQxgnWiOON5YXb9AFraZgI-5tsplOXQrw6Lgx4,1232
113
114
  examples/_openaisdk/openai_ep.py,sha256=cAaeyC8Lstk1MB36c4h7X9n7EnEnY7rr2Tugo_diT3M,726
114
115
  examples/_openaisdk/openai_ffire.py,sha256=R9fEznBvsz3KtPiwKXC3qol7lZ46T_7jzn7wGkXM2to,720
@@ -117,11 +118,11 @@ examples/_openaisdk/openai_gitee.py,sha256=UQEJMQMQDhgqYzo_aYetYXnBmVtqRwIweJDDK
117
118
  examples/_openaisdk/openai_god.py,sha256=O8fbhyxiIlVR7pTvBTXgQ2QTwfcZ2MkEIyDe_jp797A,1056
118
119
  examples/_openaisdk/openai_google.py,sha256=8BMuIqv3SLPssBlEj2nhhcExwnQp0Aia2Ci3c-S008I,6050
119
120
  examples/_openaisdk/openai_groq.py,sha256=_5Ue1yEx0Gp6theFioB_D8kepR0UlqMU96PVGH-LkVY,7363
120
- examples/_openaisdk/openai_images.py,sha256=nWVyoTDVDV0X7caW2IiGAPEVj_o2Vql4QvZQq1o3QKM,6102
121
+ examples/_openaisdk/openai_images.py,sha256=MDs3OUoP9AbjTpdh8R015idkq7l-0UOGgC3iff0j13E,6192
121
122
  examples/_openaisdk/openai_jina.py,sha256=QeGRXMQmkJyg8Cz4Vfx4pP39a5TcO7pQQfPAPbBA8bs,1628
122
123
  examples/_openaisdk/openai_json.py,sha256=M4tq_IkzYbmtgbFilGQHmRdJhH0OltiwGk7cK7uc-sQ,1850
123
124
  examples/_openaisdk/openai_kimi.py,sha256=Y0ohLt2GVBrUzR286mDTJL7kPdLWVKjw36XSBEELUQc,1155
124
- examples/_openaisdk/openai_lingyi.py,sha256=l2GcNxhwfLv7MfMF-cdRWGGvX-dRaZyb8IRlXLPACMw,1834
125
+ examples/_openaisdk/openai_lingyi.py,sha256=wmwdKaHqKB9lwoHS47hsG-zYrUy2Y3c_0Zu7ANy5IXI,3046
125
126
  examples/_openaisdk/openai_local.py,sha256=w-MedYgmRiO5eoMfbTQsB5J8ILFPfla0m6vP7qbQAxY,1889
126
127
  examples/_openaisdk/openai_luchentech.py,sha256=Jy0JxpL1u3pXcmslViPvrbwSysVBV-Dz8wSKqv6QtxY,1960
127
128
  examples/_openaisdk/openai_modelscope.py,sha256=PCuhZi3G1_-7Dyad9a0BZQU-NKe-8EecveQ3EVJA-GE,3424
@@ -133,7 +134,7 @@ examples/_openaisdk/openai_ppu.py,sha256=cpr__WVlOrm2w1WjRV7v0rux4oiJkaqBnUZImR6
133
134
  examples/_openaisdk/openai_qwen.py,sha256=KurTjBr_bN0aFZcMnWeGtEu0bbagYvOfhdYe-popsKE,2268
134
135
  examples/_openaisdk/openai_search.py,sha256=HKRTU6y9j_nUfZgrJt2eZ84d7TVT39WN-dcA_BFkVb4,937
135
136
  examples/_openaisdk/openai_sensenova.py,sha256=TnJpHcD1tG5w_x5DsgFgBRWrU8XUkww0uCebgNFfZDM,3216
136
- examples/_openaisdk/openai_siliconflow.py,sha256=PSfR9WK1GcBPNtoO-vsCiVjc0NO9rDayBeTq6fO1c30,1513
137
+ examples/_openaisdk/openai_siliconflow.py,sha256=_nxFSbrTgPTYs38GPP9TsKDYJn_SebrtCm8iy41ND08,1579
137
138
  examples/_openaisdk/openai_sophnet.py,sha256=Z0ZmW9jWmwYWWp0sr6uacVwLb8pa8UPG25mw1Zu8_1c,1653
138
139
  examples/_openaisdk/openai_step.py,sha256=rwXrGRs5CHhWpNl9oeIHltErp1Or_B3PVKNAoMGY-0c,1054
139
140
  examples/_openaisdk/openai_test.py,sha256=gjPveJYkI_MqCePoVZ6kNlEEChRgedE2hzMkN7gZuqI,1909
@@ -342,7 +343,7 @@ meutils/apis/niutrans.py,sha256=tWUyGH5SReLBQyVuB7kZvoFB35dsN6gXN-anbiHc_B4,2298
342
343
  meutils/apis/search_music.py,sha256=HBLtdterztrccnLAPZrWBlrYSx4WCRflCqz-V30fOA8,972
343
344
  meutils/apis/textin.py,sha256=3L23RqYiR7bl6rymQ2YugDO-K1ItPX2sd0wyCrLST90,4897
344
345
  meutils/apis/ts.py,sha256=Q13EOS9Q-Y2-KwOG_cFMVmGj9RUmDtxk5A3E27dxbN0,1511
345
- meutils/apis/utils.py,sha256=YOGDE4GnU4RNVaS-KuCzw7HnSKM_zzZkyuZhvi3BVx0,2064
346
+ meutils/apis/utils.py,sha256=SHJAWdEV6_YNrZSCU-IgvnhDtBRJElgQ3oxcyd0mYYw,2041
346
347
  meutils/apis/web_search.py,sha256=6gS3leIB2iyeLtqhB0IbpL_mKzDgArRTqnR7odTWT3E,1035
347
348
  meutils/apis/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
348
349
  meutils/apis/aitools/__init__.py,sha256=USdDfW2JZyUVY8ko54Dwpl801O766bvO_3F1lM4b8Gc,271
@@ -393,10 +394,10 @@ meutils/apis/google/upload.py,sha256=8stvopyIs03ywY6fyGHAtow1TarpMKjsb1V9x9GMgSI
393
394
  meutils/apis/hailuoai/__init__.py,sha256=PxMZ7p71VVbSmop0BDF6s0EOauzJ7gxuxAheL4iqIXc,245
394
395
  meutils/apis/hailuoai/demo.py,sha256=WTnDFL2HgVpAjcn5BljLrbf2y2aATkvvNy75zoEIQkc,1483
395
396
  meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-xYIO8,9101
396
- meutils/apis/hailuoai/images.py,sha256=2SLRKnzz2jdHHVwDzLdJetXZpvn9Mkzjrr_1gJPTIFI,19848
397
+ meutils/apis/hailuoai/images.py,sha256=tOXYP5mktOTl8tHqMHy37AOoIE56iGrl1ZUTdQ6ZWqo,19848
397
398
  meutils/apis/hailuoai/music.py,sha256=S_oi-ZDbocTfbRgREdXtGx50xzUc1PCZGuxmr917E7M,265
398
399
  meutils/apis/hailuoai/upload.py,sha256=22S6W6hGQhUquVKqh7QCkXb6KHDl3iMKKi6Z0AJdFEI,6501
399
- meutils/apis/hailuoai/videos.py,sha256=-uovg12L-3yVebNblzyjlRDTelekBUmxL-CUx4LKUWs,23987
400
+ meutils/apis/hailuoai/videos.py,sha256=YcEGY2-YI_Ah0SjA64d-pq6zQO90dS1k6d3rYtPNV-0,24270
400
401
  meutils/apis/hailuoai/yy.py,sha256=uBwtpMhCE4lQyDqEsua4eupGAU0A2N0UJN20pE1tOUo,8962
401
402
  meutils/apis/hf/__init__.py,sha256=ZZoRl8yNYekoMhE__67XXBKNSYJaLgjtaa0netjJKUU,271
402
403
  meutils/apis/hf/got_ocr.py,sha256=pZURFpryDh_Ak6PNiARztOzYgkjVrfScJ5-0XzMBrzI,1776
@@ -477,12 +478,12 @@ meutils/apis/oneapi/log.py,sha256=gNFFXXcG2Xp5ttO7Q7qR6n6GQUheuU8SOCjJPXZudLY,14
477
478
  meutils/apis/oneapi/system.py,sha256=WmsGEEAig1rbOPkNxu3yxY67fnoRAiHWYnFWQmvAqtU,911
478
479
  meutils/apis/oneapi/token.py,sha256=LaKwkHXNvF46wXEVtbSNwfi0ujuQo7oRyln39MOPKX0,1638
479
480
  meutils/apis/oneapi/token_.py,sha256=3NPU1jbjiRbcXIkw8bANcnby3rXq4U2LjU_8W3PaE_4,2560
480
- meutils/apis/oneapi/user.py,sha256=YD-NZnDmlkDwwIz96NtLUD-ixAaXcbk184OVq8sd1lA,4030
481
+ meutils/apis/oneapi/user.py,sha256=hLebQrEuvBpyDnDkPXQsEPVGkhQrqqY1qzbhXitW8Zg,4034
481
482
  meutils/apis/oneapi/utils.py,sha256=kuXwRQee3lSgJH7ffGP3Is4BhaUVylKJviG8FVN0F-I,1660
482
483
  meutils/apis/pixverse/__init__.py,sha256=WiboEUfJ_3Hs2WI3OymEspx8_ZSTgMglxTJd97Qk7qo,271
483
484
  meutils/apis/pixverse/pixverse.py,sha256=dvnyYVUXCEY_cLnmX9lvq9TesvplCMCuJmmP7ShchQk,5534
484
485
  meutils/apis/ppio/__init__.py,sha256=ZCz9kagqxmWkpvDqDS8pkjGYVPpuBonPLfkTF9GuBgI,271
485
- meutils/apis/ppio/videos.py,sha256=liteWv6dZm_-JcOfBT84zTFg17XEpOaie-hRLIMlF-M,4574
486
+ meutils/apis/ppio/videos.py,sha256=YiOxNzT6Dxjo-xD4aJpiSz7eX-jkUnc6-5KlKPPsHp0,4574
486
487
  meutils/apis/proxy/__init__.py,sha256=by7_6GT3xeDjAWLLqbw8uvGaZ3RdprEW-zJ2DFLOdwA,271
487
488
  meutils/apis/proxy/demo.py,sha256=-huvtmltbKXa6cS77k61ts-Kjd5ccSAgXzNrotIvIKA,1642
488
489
  meutils/apis/proxy/ips.py,sha256=3McLniROteSBqAtcMH8xKbUBfhVc4ZyGuRwMvgEryKg,5023
@@ -597,7 +598,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
597
598
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
598
599
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
599
600
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
600
- meutils/data/VERSION,sha256=EFj2RFf64nUw3Ya3XD-ZQiAy6Vj7O2LfbwDL80wwZOY,19
601
+ meutils/data/VERSION,sha256=qyvtc6cWPKuVdGGFJntWOeOjwgqWZIZOloPJTUOXHlw,19
601
602
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
602
603
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
603
604
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -679,13 +680,13 @@ meutils/jwt_utils/__init__.py,sha256=zs4pIDk4sQ82o7meMwt64_tv2WBMRTaXX9doe0ilvvs
679
680
  meutils/jwt_utils/common.py,sha256=u2PPQJ9S-83y8f3Sb5L2OCRP7o-xV56EAmlzMZ8Je0Q,2352
680
681
  meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
681
682
  meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
682
- meutils/llm/check_utils.py,sha256=9ioKzj2NIZFMJiIS0zkUb_0eGNfKZf6ZXpyPt_6VTIo,8680
683
+ meutils/llm/check_utils.py,sha256=43FwOVpabHDGZ0y7bjboVPc4ysdAiRKhWMnS_8zfTps,9157
683
684
  meutils/llm/clients.py,sha256=qZa9WC85Ah4tdEd-EI_P_038mnJLq_z-smaJdwJp-EM,2956
684
685
  meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
685
686
  meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
686
687
  meutils/llm/models.py,sha256=dDdU_WzcQGdgaFOYtMJpDYmt5uKFKEz2pc0guqNVkSk,3175
687
688
  meutils/llm/models_mapping.py,sha256=fWbIs7_R65nCicfgvwA1zw7d7BjnEDBZhoNA1TIxeIU,5523
688
- meutils/llm/utils.py,sha256=GuM5uu08-iIeE7g6GeJdIz62_5CiLShmA10dIKFGLPI,4823
689
+ meutils/llm/utils.py,sha256=5FrGV3yjwSMZ_junqInBHsk1nBR4WQVgxMPo9SqpU18,3495
689
690
  meutils/llm/x.py,sha256=ETvKKDTmDNrik0K2-_a_SEQxyV4X4-fy0JPrAOLNPv4,1732
690
691
  meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf-ZTqks,244
691
692
  meutils/llm/completions/chat_gemini.py,sha256=0x9HQxuDAHoWJ79JoaEKKWVNy4PRyd-Et-j8V93NqkY,4395
@@ -698,7 +699,7 @@ meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgd
698
699
  meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
699
700
  meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
700
701
  meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
701
- meutils/llm/completions/qwenllm.py,sha256=AJ9CJVDcvm3hRStb_wYG08VviM5Nlku4bM9-yPhI1Xo,13188
702
+ meutils/llm/completions/qwenllm.py,sha256=-pjHPdj27_Xai4vCTZO7pVbxfQXFTj4cyOCuHsAKw54,13233
702
703
  meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
703
704
  meutils/llm/completions/reasoner.py,sha256=rPIxW1iuvLuGhcOa6PkfcJmrTKtJV-8wRKfA09X09tg,6169
704
705
  meutils/llm/completions/sophnet.py,sha256=qCQrgxhmxoN50DzpFp-UDw4DQfliOhSWCnqra94qj5I,1925
@@ -725,6 +726,7 @@ meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k
725
726
  meutils/llm/openai_utils/adapters.py,sha256=-6e-gpSYVPUouP9o8leAdOOCNuk-dtndUhzMOyvQpUM,3425
726
727
  meutils/llm/openai_utils/common.py,sha256=H24wag3LD2RqKV_sXD4OBa4VtmWh8JNUo5h5xvHVmAk,10557
727
728
  meutils/llm/openai_utils/tool_outputs.py,sha256=6mNkm4btgy0uzF98gdmcah1bYmoflXdLz2Sqm0KC_LQ,1224
729
+ meutils/llm/openai_utils/usage_utils.py,sha256=KIOuyQh8RZiLN8v3bE67HelMEJXjlA0Ji6s6Zhgpm9M,378
728
730
  meutils/llm/output_parsers/__init__.py,sha256=EGKvgUD47ReyV5Z9RXDCrdDLgfKMHdoayzsXVmBuQxw,3474
729
731
  meutils/llm/prompts/__init__.py,sha256=VlEEViFoUSRS0EF1rHJXHh9Ik9FpvAiR1luKjHOsUc4,8580
730
732
  meutils/llm/prompts/demo.py,sha256=vQ6MeR-3ds2js3TzDbZid-YKbo_pH0ehn58B7kjJaMg,3665
@@ -831,7 +833,7 @@ meutils/schemas/fish_types.py,sha256=yC0ZFr3Ebh8F0OhtMsXYaIfNNvzOM2LT9YtKTaRoHGU
831
833
  meutils/schemas/hailuo_types.py,sha256=3nx2jgDmi2dpwEfJ6xRiZQ-9nhOOXQgTz1yyLz5d-ik,7722
832
834
  meutils/schemas/haimian_types.py,sha256=jGu484UviAeBgy5OIUyRY4uYCxXfv16zDPqiJQr9wNQ,1364
833
835
  meutils/schemas/idphoto_types.py,sha256=nuHbpppejRSkJCiQ7YKx0Gnke0ShKZhOvdg0e7tk9-0,1074
834
- meutils/schemas/image_types.py,sha256=9EIpJCSzGKGQG3r5J3JBxgduwmTuuw5VAsVJ-Ab1sdo,16433
836
+ meutils/schemas/image_types.py,sha256=FtBrXWjeGcMkA7HR_fzfGNChaDURjL_ZqEkf4bMXHvg,16434
835
837
  meutils/schemas/jimeng_types.py,sha256=z0mAICgNE0Yaq09_puzgMfHOP-QKWiZqqMlFbLVHtmY,1995
836
838
  meutils/schemas/jina_types.py,sha256=SLRRBCap2B1uXnHF7Sgnlz1Work8HvdIltjj4oVlGTk,8826
837
839
  meutils/schemas/kimi_types.py,sha256=PjCgHwCDNzKasn4X6rUzvOENqKYT3xj07cgp71IdsDA,3607
@@ -867,7 +869,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
867
869
  meutils/schemas/db/oneapi_types.py,sha256=3t2m0H80saEXmYUZfVFrtEaY117GjZTsSa1GKgkJzqQ,3896
868
870
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
869
871
  meutils/schemas/oneapi/_types.py,sha256=tht6Gn4TOrMwZs211_r_iWUUhTghJy76A4LHHgBR7c8,3400
870
- meutils/schemas/oneapi/common.py,sha256=wwAYA9FqMtJu7SlgPZx1mvE1HZuvbb7Wc9U0vuyVlOM,42541
872
+ meutils/schemas/oneapi/common.py,sha256=QzSP0M3mnC1XNaqSL0eHIwkh5uOOpG9F5r2_k-eLKlE,42573
871
873
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
872
874
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
873
875
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -893,7 +895,7 @@ meutils/serving/fastapi/__demo/__init__.py,sha256=TxXjqy2ZxAkadPxqN92Xq3ixCUYkQ-
893
895
  meutils/serving/fastapi/__demo/异步任务.py,sha256=60_ruA4ljlTLIP5zxcejmm9WJ0SDuqpsO49SZK9vA_s,1444
894
896
  meutils/serving/fastapi/dependencies/__init__.py,sha256=TQcxvWqZdA2jZZX84NtAij-bhS7ihcMLx1-xsbSpV4g,384
895
897
  meutils/serving/fastapi/dependencies/auth.py,sha256=o6U-PB5laYhPGHWm_-AUVER2hV-K783K5DVfbfFWPm4,2538
896
- meutils/serving/fastapi/dependencies/headers.py,sha256=ddifDCJyELqfPwuUX12x-lH0KNylu2iidc7Mupcvl6k,922
898
+ meutils/serving/fastapi/dependencies/headers.py,sha256=fBJxhNaRNVMJFoSBFcHJyiayR-MJR9gol21ndH3IW40,815
897
899
  meutils/serving/fastapi/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
898
900
  meutils/serving/fastapi/exceptions/http_error.py,sha256=-cBBWNJH3qp1GMSaa9AlojJ18lBLFEk0KHoGUnmV3u4,2601
899
901
  meutils/serving/fastapi/exceptions/validation_error.py,sha256=Q71wYfzGsVjLA-SQ3R5a8iT0kDG01mwriVUXHhvsTv0,1234
@@ -996,9 +998,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
996
998
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
997
999
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
998
1000
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
999
- MeUtils-2025.6.20.18.7.13.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1000
- MeUtils-2025.6.20.18.7.13.dist-info/METADATA,sha256=7hDv13KWicpRtmzooXWjN_03s2qVNkqnGxyK8v5we3M,32833
1001
- MeUtils-2025.6.20.18.7.13.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
1002
- MeUtils-2025.6.20.18.7.13.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
1003
- MeUtils-2025.6.20.18.7.13.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
1004
- MeUtils-2025.6.20.18.7.13.dist-info/RECORD,,
1001
+ MeUtils-2025.6.24.11.13.32.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1002
+ MeUtils-2025.6.24.11.13.32.dist-info/METADATA,sha256=dc72pPpDJILF8MJvBUMoITbcZitTDSlNHprRtZjY4cM,32834
1003
+ MeUtils-2025.6.24.11.13.32.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
1004
+ MeUtils-2025.6.24.11.13.32.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
1005
+ MeUtils-2025.6.24.11.13.32.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
1006
+ MeUtils-2025.6.24.11.13.32.dist-info/RECORD,,
@@ -0,0 +1,48 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : openai_edits
5
+ # @Time : 2025/6/23 16:51
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
12
+
13
+ from openai import OpenAI
14
+
15
+ client = OpenAI()
16
+
17
+ r = client.images.edit(
18
+ model="4x-UltraSharp",
19
+ prompt="",
20
+ image=open("/Users/betterme/PycharmProjects/AI/MeUtils/examples/img.png", "rb"),
21
+ response_format="url"
22
+ )
23
+
24
+
25
+ # import requests
26
+ #
27
+ # API_URL = "https://ai.gitee.com/v1/images/upscaling"
28
+ # API_TOKEN = "5PJFN89RSDN8CCR7CRGMKAOWTPTZO6PN4XVZV2FQ"
29
+ # headers = {
30
+ # "Content-Type": "application/json",
31
+ # "Authorization": f"Bearer {API_TOKEN}"
32
+ # }
33
+ #
34
+ # def query(payload):
35
+ # response = requests.post(API_URL, headers=headers, data=payload)
36
+ # return response.content
37
+ #
38
+ # output = query({
39
+ # "prompt": "变成一幅油画",
40
+ # "model": "AnimeSharp",
41
+ # "model_name": "4x-UltraSharp",
42
+ # "outscale": 4,
43
+ # "image_url": "https://juzhen-1318772386.cos.ap-guangzhou.myqcloud.com/mj/2025/05/07/25fc47e6-ed58-482b-bb14-a3df00d9b92c.png",
44
+ # "output_format": "png"
45
+ # })
46
+ #
47
+ # with open("output.png", "wb") as file:
48
+ # file.write(output)
@@ -50,6 +50,7 @@ data = {
50
50
  # 'model': 'step-1x-medium',
51
51
  'model': 'seededit',
52
52
 
53
+
53
54
  # 'n': 2, 'quality': 'hd', 'response_format': 'url', 'size': '1024x1024', 'style': 'vivid',
54
55
  # 'extra_body': {'guidance_scale': 4.5, 'num_inference_steps': 25, 'seed': None, 'negative_prompt': None}
55
56
  }
@@ -129,10 +130,11 @@ with timer('image'):
129
130
  # model = "black-forest-labs/FLUX.1-dev"
130
131
  # model = "flux-dev"
131
132
 
133
+
132
134
  client = OpenAI(
133
135
  # api_key=os.getenv("OPENAI_API_KEY") +,
134
136
  # api_key=os.getenv("OPENAI_API_KEY") + "-359", # 3083
135
- api_key=os.getenv("OPENAI_API_KEY_OPENAI") + "-3083",
137
+ # api_key=os.getenv("OPENAI_API_KEY_OPENAI") + "-3083",
136
138
 
137
139
  # api_key=os.getenv("SILICONFLOW_API_KEY"),
138
140
  # base_url=os.getenv("SILICONFLOW_BASE_URL"),
@@ -196,6 +198,8 @@ with timer('image'):
196
198
  prompt = '一只可爱的边牧在坐公交车,卡通贴纸。动漫3D风格,超写实油画,超高分辨率,最好的质量,8k'
197
199
  # prompt = "一个小女孩举着横幅,上面写着“新年快乐”"
198
200
 
201
+ model = "doubao-seedream-3-0-t2i-250415"
202
+
199
203
  response = client.images.generate(
200
204
  model=model,
201
205
  prompt=prompt,
@@ -210,7 +214,11 @@ with timer('image'):
210
214
  # "prompt_enhancement": True,
211
215
  # },
212
216
 
213
- # size="1700x1275"
217
+ # size="1700x1275",
218
+
219
+ extra_body={
220
+ "watermark": False
221
+ }
214
222
  )
215
223
 
216
224
  logger.debug(response)
@@ -220,4 +228,3 @@ with timer('image'):
220
228
  # openai.AuthenticationError: Error code: 401 - {'error': {'message': 'Incorrect API key provided', 'type': 'invalid_api_key'}}
221
229
  # openai.APIStatusError: Error code: 402 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details', 'type': 'quota_exceeded'}}
222
230
 
223
- client.images.edit()
@@ -19,25 +19,57 @@ f = lambda m: 'yi-vision-v2' if 'v' in m else 'yi-lightning'
19
19
 
20
20
  client = OpenAI(
21
21
  # base_url="https://free.chatfire.cn/v1",
22
- api_key=os.getenv("LINGYIWANWU_API_KEY"),
23
- base_url=os.getenv("LINGYIWANWU_BASE_URL")
22
+ # api_key=os.getenv("LINGYIWANWU_API_KEY"),
23
+ # base_url=os.getenv("LINGYIWANWU_BASE_URL")
24
24
  # api_key="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3YmFmYWQzYTRmZDU0OTk3YjNmYmNmYjExMjY5NThmZiIsImV4cCI6MTczODAyNDg4MiwibmJmIjoxNzIyNDcyODgyLCJpYXQiOjE3MjI0NzI4ODIsImp0aSI6IjY5Y2ZiNzgzNjRjODQxYjA5Mjg1OTgxYmY4ODMzZDllIiwidWlkIjoiNjVmMDc1Y2E4NWM3NDFiOGU2ZmRjYjEyIiwidHlwZSI6InJlZnJlc2gifQ.u9pIfuQZ7Y00DB6x3rbWYomwQGEyYDSE-814k67SH74",
25
25
  # base_url="https://any2chat.chatfire.cn/glm/v1"
26
+
27
+ api_key="sk-RuXd6u3zHYc2MQaOXVU1G3ayACX2uskr30hB6rZxomSDlkcB"
26
28
  )
27
29
 
28
- print(client.models.list().to_json())
30
+
31
+ # print(client.models.list().to_json())
32
+
33
+
34
+ data = {
35
+ "messages": [
36
+ {
37
+ "content": [
38
+ {
39
+ "type": "text",
40
+ "text": "你现在是“专业图案设计分析师”以及“MidJourney设计提示词生成专家”,通过我给你的两张图片,以第一张图为主,找到每张图的主体元素以及文字,融合他们的主体元素以及文字,要完美结合两张图的主体,融合两张图的风格,生成的图案必须为平面印花图,请直接给我完整的midjourney提示词,越详细越好,仅回复提示词,不携带midjourney参数"
41
+ },
42
+ # {
43
+ # "type": "image_url",
44
+ # "image_url": {
45
+ # "url": "https://juzhen-1318772386.cos.ap-guangzhou.myqcloud.com/image/2025/04/14/4e9ea3a5-1ecd-493b-973b-3eb7282ed5b9.png"
46
+ # }
47
+ # },
48
+ {
49
+ "type": "image_url",
50
+ "image_url": {
51
+ "url": "https://juzhen-1318772386.cos.ap-guangzhou.myqcloud.com/2025/6/21/1936247794822172674.webp"
52
+ }
53
+ }
54
+ ],
55
+ "role": "user"
56
+ }
57
+ ],
58
+ "model": "claude-3-5-sonnet-20241022"
59
+ }
29
60
  try:
30
61
  completion = client.chat.completions.create(
31
- model="yi-spark",
32
- # model="xxxxxxxxxxxxx",
33
- messages=[
34
- {"role": "user", "content": "hi"}
35
- ],
62
+ **data,
63
+ # model="yi-spark",
64
+ # # model="xxxxxxxxxxxxx",
65
+ # messages=[
66
+ # {"role": "user", "content": "hi"}
67
+ # ],
36
68
  # top_p=0.7,
37
69
  top_p=None,
38
70
  temperature=None,
39
- stream=True,
40
- max_tokens=11
71
+ # stream=True,
72
+ max_tokens=100
41
73
  )
42
74
  except APIStatusError as e:
43
75
  print(e.status_code)
@@ -46,6 +78,8 @@ except APIStatusError as e:
46
78
  print(e.message)
47
79
  print(e.code)
48
80
 
81
+
82
+ print(completion)
49
83
  for chunk in completion:
50
84
  print(bjson(chunk))
51
85
  print(chunk.choices[0].delta.content)
@@ -14,14 +14,15 @@ from meutils.llm.clients import OpenAI
14
14
 
15
15
 
16
16
  client = OpenAI(
17
- api_key=os.getenv("SILICONFLOW_API_KEY"),
17
+ # api_key=os.getenv("SILICONFLOW_API_KEY"),
18
+ api_key="sk-ggskfnxtlufyriixuquivrrczguartklbykfavmroddasxoi",
18
19
  base_url="https://api.siliconflow.cn/v1",
19
20
  # http_client=httpx.Client(
20
21
  # proxy="http://110.42.51.201:38443",
21
22
  # timeout=30)
22
23
  )
23
24
 
24
- # print(client.models.list())
25
+ print(client.models.list())
25
26
 
26
27
 
27
28
  model = "01-ai/Yi-1.5-6B-Chat"
@@ -38,7 +39,6 @@ model = "01-ai/Yi-1.5-6B-Chat"
38
39
  model = "deepseek-ai/DeepSeek-R1"
39
40
  model = "Qwen/Qwen3-8B"
40
41
 
41
-
42
42
  # api black-forest-labs/FLUX.1-schnell
43
43
  messages = [
44
44
  {'role': 'user', 'content': '详细说明 9.8 9.11那个大'}
@@ -426,7 +426,7 @@ if __name__ == '__main__': # 304752356930580482
426
426
 
427
427
  # arun(get_access_token(token))
428
428
 
429
- arun(generate(request))
429
+ # arun(generate(request))
430
430
  #
431
431
  #
432
432
  # data = {
@@ -445,4 +445,4 @@ if __name__ == '__main__': # 304752356930580482
445
445
  # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzUwMTc3ODAsInVzZXIiOnsiaWQiOiIzMTEyOTUzMTkzMjc1NzYwNjQiLCJuYW1lIjoiVUdIUiBKVkJYIiwiYXZhdGFyIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jS3RuR2NjdGZsWV9fR2tiQ1MzdnhzSXdWSEFUX0ZmMFdyb3RvMnN4bFdWZW1KMm53PXM5Ni1jIiwiZGV2aWNlSUQiOiIzMTMzMTU5NTMxMDA0MTA4ODciLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.cyZifq4FQl46P5_acTNT04qu2GVDDeSBbwjw3J1vWPo"
446
446
  # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzUwMzQ1MjcsInVzZXIiOnsiaWQiOiIzMTMzODk5MjA0NjA5MzkyNjgiLCJuYW1lIjoiY2l4ZiB4YmNnIiwiYXZhdGFyIjoiIiwiZGV2aWNlSUQiOiIzMTM0MDgyMjg0NTEwOTg2MjYiLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.eOtAUe3MmarOGNk64j0bfaLNBZ4yxkqwIi1tUhOFD5c"
447
447
  # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTAxMjg4NTIsInVzZXIiOnsiaWQiOiIzNzQwMTM3NzUyNzg4ODY5MTciLCJuYW1lIjoiTmFodWVsIE1vbGluYSIsImF2YXRhciI6IiIsImRldmljZUlEIjoiMzEzMzc0MTIyMjEyMjc4MjczIiwiaXNBbm9ueW1vdXMiOmZhbHNlfX0.uxTtDTcPT07piVA-x3N2ms2VrRN3JwcU99g_HJLwqLE"
448
- # arun(check_token(token))
448
+ arun(check_token(token))
@@ -469,7 +469,7 @@ if __name__ == '__main__': # 304752356930580482
469
469
  # arun(get_task(task_id="307177115102699528", token=token))
470
470
 
471
471
  token = None
472
- token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTM2ODcxNjksInVzZXIiOnsiaWQiOiIzOTEzNTgxNTc5OTY5MjA4MzUiLCJuYW1lIjoienBiZSB4bnp3IiwiYXZhdGFyIjoiIiwiZGV2aWNlSUQiOiIzMDI4MzM3NTk1MTI3NjQ0MTciLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.v6IcCd74UiMLepoqq_fpSTbABUAxXnb9seyCk9SAOec"
472
+ # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTM2ODcxNjksInVzZXIiOnsiaWQiOiIzOTEzNTgxNTc5OTY5MjA4MzUiLCJuYW1lIjoienBiZSB4bnp3IiwiYXZhdGFyIjoiIiwiZGV2aWNlSUQiOiIzMDI4MzM3NTk1MTI3NjQ0MTciLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.v6IcCd74UiMLepoqq_fpSTbABUAxXnb9seyCk9SAOec"
473
473
  # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDQ3MDMwNzIsInVzZXIiOnsiaWQiOiIzMDI4MzM4Njc3NzE5NDkwNTgiLCJuYW1lIjoibWUgYmV0dGVyIiwiYXZhdGFyIjoiIiwiZGV2aWNlSUQiOiIzMDI4MzM3NTk1MTI3NjQ0MTciLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.Mjb64ZjkKyV9pj-_bXyLczU6kU729VLaKbYj9NmrK-4"
474
474
  # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDg3Mzg4MTQsInVzZXIiOnsiaWQiOiIyMjkwODQ3NTA2MDEzODgwMzciLCJuYW1lIjoi5bCP6J665bi9ODAzNyIsImF2YXRhciI6Imh0dHBzOi8vY2RuLmhhaWx1b2FpLmNvbS9wcm9kL3VzZXJfYXZhdGFyLzE3MDYyNjc3MTEyODI3NzA4NzItMTczMTk0NTcwNjY4OTY1ODk2b3ZlcnNpemUucG5nIiwiZGV2aWNlSUQiOiIyNDM3MTMyNTI1NDU5ODY1NjIiLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.o0SoZMSTWkXNHxJjt3Ggby5MJWSfd-rnK_I95T_WMP8"
475
475
  # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTAxMjg4NTIsInVzZXIiOnsiaWQiOiIzNzQwMTM3NzUyNzg4ODY5MTciLCJuYW1lIjoiTmFodWVsIE1vbGluYSIsImF2YXRhciI6IiIsImRldmljZUlEIjoiMzEzMzc0MTIyMjEyMjc4MjczIiwiaXNBbm9ueW1vdXMiOmZhbHNlfX0.uxTtDTcPT07piVA-x3N2ms2VrRN3JwcU99g_HJLwqLE"
@@ -479,10 +479,11 @@ if __name__ == '__main__': # 304752356930580482
479
479
 
480
480
  # prompt="smile", # 307145017365086216
481
481
  prompt="动起来", # 307145017365086216
482
- first_frame_image="https://oss.ffire.cc/files/kling_watermark.png" # 307173162217783304
482
+ # first_frame_image="https://oss.ffire.cc/files/kling_watermark.png" # 307173162217783304
483
483
  )
484
484
 
485
485
  r = arun(create_task(request, token=token))
486
+
486
487
  # arun(get_task(task_id=r.task_id, token=r.system_fingerprint))
487
488
 
488
489
  # arun(get_task(task_id="hailuoai-378260932722450439", token=token))
@@ -508,4 +509,5 @@ if __name__ == '__main__': # 304752356930580482
508
509
  # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTAxMjg4NTIsInVzZXIiOnsiaWQiOiIzNzQwMTM3NzUyNzg4ODY5MTciLCJuYW1lIjoiTmFodWVsIE1vbGluYSIsImF2YXRhciI6IiIsImRldmljZUlEIjoiMzEzMzc0MTIyMjEyMjc4MjczIiwiaXNBbm9ueW1vdXMiOmZhbHNlfX0.uxTtDTcPT07piVA-x3N2ms2VrRN3JwcU99g_HJLwqLE"
509
510
  # token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTAxMjg4NTIsInVzZXIiOnsiaWQiOiIzNzQwMTM3NzUyNzg4ODY5MTciLCJuYW1lIjoiTmFodWVsIE1vbGluYSIsImF2YXRhciI6IiIsImRldmljZUlEIjoiMzEzMzc0MTIyMjEyMjc4MjczIiwiaXNBbm9ueW1vdXMiOmZhbHNlfX0.uxTtDTcPT07piVA-x3N2ms2VrRN3JwcU99g_HJLwqLE"
510
511
  # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTMxNzMyMjgsInVzZXIiOnsiaWQiOiIzODkxMjkzNTAyMjk0MTM4OTIiLCJuYW1lIjoibG53ciBqb2R1IiwiYXZhdGFyIjoiIiwiZGV2aWNlSUQiOiIzMTMzNzQxMjIyMTIyNzgyNzMiLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.XIScaKmCg2OfBGoB-QD-J9Q1SEJuL41l5SqOFpHVWbc"
512
+ # token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTMxNzMyMjgsInVzZXIiOnsiaWQiOiIzODkxMjkzNTAyMjk0MTM4OTIiLCJuYW1lIjoibG53ciBqb2R1IiwiYXZhdGFyIjoiIiwiZGV2aWNlSUQiOiIzMTMzNzQxMjIyMTIyNzgyNzMiLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.XIScaKmCg2OfBGoB-QD-J9Q1SEJuL41l5SqOFpHVWbc"
511
513
  # arun(check_token(token))
@@ -107,10 +107,10 @@ async def get_user_from_api_key(api_key):
107
107
  if __name__ == '__main__':
108
108
  # api-key => get_one_log => get_user => put_user
109
109
  # arun(get_user(814))
110
- # payload = arun(get_user(924))
110
+ payload = arun(get_user(1))
111
111
  # print(payload)
112
- # arun(put_user(payload, -1))
112
+ arun(put_user(payload['data'], -1))
113
113
 
114
114
  # arun(get_api_key_log('sk-gpoH1z3G6nHovD8MY40i6xx5tsC1vbh7B3Aao2jmejYNoKhv'))
115
115
  # arun(get_user_money("sk-LlB4W38z9kv5Wy1c3ceeu4PHeIWs6bbWsjr8Om31jYvsucRv"))
116
- arun(get_user_from_api_key('sk-blrcheysazcdqkyghaumetjhzscjedyppghmlujmzhuuyfeu'))
116
+ # arun(get_user_from_api_key('sk-blrcheysazcdqkyghaumetjhzscjedyppghmlujmzhuuyfeu'))
@@ -139,4 +139,4 @@ if __name__ == '__main__':
139
139
 
140
140
  # print(request.model_dump_json(exclude_none=True))
141
141
 
142
- arun(get_task("44d7dabc-68ef-49af-afce-f00c39edd2d9"))
142
+ arun(get_task("05f31694-fed2-4069-b6be-6c85b70fef2b"))
meutils/apis/utils.py CHANGED
@@ -6,34 +6,35 @@
6
6
  # @Author : betterme
7
7
  # @WeChat : meutils
8
8
  # @Software : PyCharm
9
- # @Description : textinparsex
9
+ # @Description :
10
10
 
11
11
  from meutils.pipe import *
12
12
  from openai import AsyncClient
13
13
 
14
14
 
15
- # upstream_base_url: Optional[str] = Header(None),
16
- # upstream_api_key: Optional[str] = Header(None),
17
-
18
15
  async def make_request(
19
16
  base_url: str,
20
17
  api_key: Optional[str] = None,
21
18
  headers: Optional[dict] = None,
22
19
 
23
- path: str = "/",
20
+ path: Optional[str] = None,
24
21
 
25
22
  params: Optional[dict] = None,
26
23
  payload: Optional[dict] = None,
27
24
  files: Optional[dict] = None,
28
25
 
29
26
  method: str = "POST",
27
+
28
+ timeout: Optional[int] = None,
30
29
  ):
31
- client = AsyncClient(base_url=base_url, api_key=api_key, default_headers=headers)
30
+ client = AsyncClient(base_url=base_url, api_key=api_key, default_headers=headers, timeout=timeout)
32
31
 
33
32
  options = {}
34
33
  if params:
35
34
  options["params"] = params
36
35
 
36
+ path = path or "/"
37
+
37
38
  if method.upper() == 'GET':
38
39
  response = await client.get(path, options=options, cast_to=object)
39
40
  return response
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2025.06.20.18.07.13
1
+ 2025.06.24.11.13.32
@@ -26,7 +26,7 @@ async def check_tokens(tokens, check_token: Callable):
26
26
 
27
27
 
28
28
  @retrying()
29
- @rcache(ttl=1 * 3600)
29
+ # @rcache(ttl=1 * 3600)
30
30
  async def check_token_for_siliconflow(api_key, threshold: float = 0):
31
31
  if not isinstance(api_key, str):
32
32
  return await check_tokens(api_key, check_token_for_siliconflow)
@@ -36,17 +36,29 @@ async def check_token_for_siliconflow(api_key, threshold: float = 0):
36
36
  "Accept": "application/json"
37
37
  }
38
38
  try:
39
- async with httpx.AsyncClient(headers=headers, timeout=60) as client:
40
- response: httpx.Response = await client.get("https://api.siliconflow.cn/v1/user/info")
41
- response.raise_for_status()
42
-
43
- logger.debug(response.text)
44
- logger.debug(response.status_code)
45
39
 
46
- if response.is_success:
47
- logger.debug(api_key)
48
- total_balance = response.json()['data']['totalBalance']
49
- return float(total_balance) >= threshold
40
+ client = AsyncOpenAI(base_url=os.getenv("SILICONFLOW_BASE_URL"), api_key=api_key)
41
+ # _ = await client.chat.completions.create(
42
+ # model="Qwen/Qwen3-8B",
43
+ # messages=[{'role': 'user', 'content': "hi"}],
44
+ # max_tokens=1)
45
+ # print(_)
46
+ if models := (await client.models.list()).data:
47
+ if threshold <= 0: return True # 有效key
48
+
49
+ async with httpx.AsyncClient(headers=headers, timeout=60) as client:
50
+ response: httpx.Response = await client.get("https://api.siliconflow.cn/v1/user/info")
51
+ response.raise_for_status()
52
+
53
+ logger.debug(response.text)
54
+ logger.debug(response.status_code)
55
+
56
+ if response.is_success:
57
+ logger.debug(api_key)
58
+ total_balance = response.json()['data']['totalBalance']
59
+ return float(total_balance) >= threshold
60
+ else:
61
+ return False
50
62
  except TimeoutException as e:
51
63
  # logger.error(traceback.format_exc().strip())
52
64
 
@@ -228,7 +240,7 @@ if __name__ == '__main__':
228
240
 
229
241
  check_valid_token = partial(check_token_for_siliconflow, threshold=-1)
230
242
 
231
- # arun(check_valid_token("sk-tythaoctwemlhkytdlmjcegtnufvhqgmwlncgmoxixdyqoxx"))
243
+ arun(check_valid_token("sk-ggskfnxtlufyriixuquivrrczguartklbykfavmroddasxoi"))
232
244
 
233
245
  pass
234
246
  # arun(check_valid_token("sk-LlB4W38z9kv5Wy1c3ceeu4PHeIWs6bbWsjr8Om31jYvsucRv", threshold=0.1))
@@ -259,4 +271,4 @@ if __name__ == '__main__':
259
271
  # arun(check_token_for_ppinfra("sk_F0kgPyCMTzmOH_-VCEJucOK8HIrbnLGYm_IWxBToHZQ"))
260
272
 
261
273
  # arun(check_token_for_volc("07139a08-e360-44e2-ba31-07f379bf99ed"))
262
- arun(check_token_for_ppinfra("sk_mCb5sRGTi6GXkSRp5F679Rbs0V_Hfee3p85lccGXCOo"))
274
+ # arun(check_token_for_ppinfra("sk_mCb5sRGTi6GXkSRp5F679Rbs0V_Hfee3p85lccGXCOo"))
@@ -249,7 +249,7 @@ if __name__ == '__main__':
249
249
  # model="qwen-max-latest",
250
250
  # model="qvq-max-2025-03-25",
251
251
  # model="qvq-72b-preview-0310",
252
- # model="qwen2.5-omni-7b",
252
+ model="qwen2.5-omni-7b",
253
253
 
254
254
  # model="qwen-max-latest-search",
255
255
  # model="qwq-max",
@@ -259,7 +259,7 @@ if __name__ == '__main__':
259
259
  # model="qwen2.5-vl-72b-instruct",
260
260
 
261
261
  # model="qwen-plus-latest",
262
- model="qwen3-235b-a22b",
262
+ # model="qwen3-235b-a22b",
263
263
  # model="qwen3-30b-a3b",
264
264
  # model="qwen3-32b",
265
265
 
@@ -271,7 +271,8 @@ if __name__ == '__main__':
271
271
  'role': 'user',
272
272
  # 'content': '今天南京天气',
273
273
  # 'content': "9.8 9.11哪个大",
274
- 'content': 'https://oss.ffire.cc/files/AIGC.pdf 总结下',
274
+ # 'content': 'https://oss.ffire.cc/files/AIGC.pdf 总结下',
275
+ 'content': ' 总结下',
275
276
 
276
277
  # "chat_type": "search", deep_research
277
278
 
@@ -339,7 +340,7 @@ if __name__ == '__main__':
339
340
  )
340
341
  token = None
341
342
 
342
- token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjMxMGNiZGFmLTM3NTQtNDYxYy1hM2ZmLTllYzgwMDUzMjljOSIsImV4cCI6MTc0ODQ3OTE0M30.oAIE1K0XA0YYqlxB8Su-u0UJbY_BBZa4_tvZpFJKxGY"
343
+ # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjMxMGNiZGFmLTM3NTQtNDYxYy1hM2ZmLTllYzgwMDUzMjljOSIsImV4cCI6MTc0ODQ3OTE0M30.oAIE1K0XA0YYqlxB8Su-u0UJbY_BBZa4_tvZpFJKxGY"
343
344
 
344
345
  arun(create(request, token))
345
346
 
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : usage_utils
5
+ # @Time : 2025/6/24 08:53
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+ """
11
+ 1. 同步任务(流 非流)
12
+ - 按次
13
+ - 按量
14
+ 2. 异步任务
15
+ - 按次
16
+ - 按量
17
+ """
18
+
19
+ from meutils.pipe import *