MeUtils 2025.4.15.13.18.47__py3-none-any.whl → 2025.4.18.13.49.52__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,7 +109,7 @@ examples/_openaisdk/openai_ep.py,sha256=cAaeyC8Lstk1MB36c4h7X9n7EnEnY7rr2Tugo_di
109
109
  examples/_openaisdk/openai_files.py,sha256=zcF4k4sQ2FnINhq6x1wCKw1WCu93g1h69Yul_rLdakE,2058
110
110
  examples/_openaisdk/openai_gitee.py,sha256=UQEJMQMQDhgqYzo_aYetYXnBmVtqRwIweJDDK3NlSMw,1205
111
111
  examples/_openaisdk/openai_god.py,sha256=O8fbhyxiIlVR7pTvBTXgQ2QTwfcZ2MkEIyDe_jp797A,1056
112
- examples/_openaisdk/openai_google.py,sha256=OFG18aK9FpK3ZQvm8kwE2gzxmxDNCTUsOCZvEVSjWWw,4991
112
+ examples/_openaisdk/openai_google.py,sha256=UQDgtNbeuYaSbwGc1KTZiP6kTH4bYBCCg9sLhYI_Xwg,5092
113
113
  examples/_openaisdk/openai_groq.py,sha256=_5Ue1yEx0Gp6theFioB_D8kepR0UlqMU96PVGH-LkVY,7363
114
114
  examples/_openaisdk/openai_images.py,sha256=_ceVlEhg8sSpsBqyMpaURqnBNdmQt-L7-UDb1N0IHmk,5980
115
115
  examples/_openaisdk/openai_jina.py,sha256=QeGRXMQmkJyg8Cz4Vfx4pP39a5TcO7pQQfPAPbBA8bs,1628
@@ -131,6 +131,7 @@ examples/_openaisdk/openai_test.py,sha256=gjPveJYkI_MqCePoVZ6kNlEEChRgedE2hzMkN7
131
131
  examples/_openaisdk/openai_together.py,sha256=o9FQKDdLwx8L0zMxrceIakymT2GqFfZ2v4UjVaLyB8M,1591
132
132
  examples/_openaisdk/openai_tune.py,sha256=D8n3mnlvVpDB_P11sErlibSyYtoFT5aKPUDQhtIANWE,1237
133
133
  examples/_openaisdk/openai_v.py,sha256=bVfMM86VpRy85patn1eDF9Y-Ojxd2w4GAx3NIUPVzC0,999
134
+ examples/_openaisdk/openai_wuwen.py,sha256=hbV0fY3CEdwKzn4jNqcTFpK4-auxN77G3Jvm1DIdg4s,1810
134
135
  examples/_openaisdk/openai_x.py,sha256=6CaOJKWPlNCG_O4o8IBO6Bd2glCWm-XvNNJwnoUYnno,1091
135
136
  examples/_openaisdk/openai_zhipu.py,sha256=Mo6nCJlvKXoQQW-q53ne98HxiO38AHkPCgir23LjhUY,2287
136
137
  examples/_openaisdk/ppu.py,sha256=jPBufoYt2ZrqNKjgbHr49YZI5vBM-32eBYbhbYduhnY,602
@@ -282,7 +283,7 @@ meutils/ai_audio/asr/xunfei_asr.py,sha256=XctZCjxu6sQd05biMTOfL9y3TA15kLYIc9mwIZ
282
283
  meutils/ai_audio/tts/EdgeTTS.py,sha256=5pO0soW-bYwKmwX87Je_lYGr-XQFeoW4LKMPo_MGfGc,5919
283
284
  meutils/ai_audio/tts/__init__.py,sha256=2i3eHZ-f3xG8HsgFcb7V7-b6gb6jKQOZNzr_2WnvCpQ,405
284
285
  meutils/ai_audio/tts/minimax.py,sha256=Hy9AWaUSb0cMQnLeNzqe2oBaMJh0c_l-GP92SBwnQ9o,854
285
- meutils/ai_audio/tts/openai_tts.py,sha256=uOfwvY9-wkYj0kTvER7WVkhiPCAbSuYIIbSzSmmmIak,2177
286
+ meutils/ai_audio/tts/openai_tts.py,sha256=tdx_s5RFkxyA7IqGwVzd5rmhZjgq0Z1kTKCPXXZxZis,2185
286
287
  meutils/ai_audio/tts/tts_ui.py,sha256=cj3WGTnBN67gT00vT4ftTwZroJifAJRVJuE4WNzbo_4,4638
287
288
  meutils/ai_cv/__init__.py,sha256=0CoI0WlNwB0yFHkYqp5waF767WSZZsfOVxjlmtlCGT0,244
288
289
  meutils/ai_cv/doc_prompt.py,sha256=bF9A4x-Jv_mZikJlNEMd3zxjJn68Z3Ymla5x-QtHOS8,2684
@@ -343,7 +344,7 @@ meutils/apis/audio/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5wLJgkNH
343
344
  meutils/apis/audio/deepinfra.py,sha256=O-IpAnHfx25QCjhB5xaIYVBy5AbyPzmVz-Pr40gpnsM,1773
344
345
  meutils/apis/audio/fish.py,sha256=jPvTveRcDtvGDgRT6EA9WJitAQxftneHxvEJ63yY_cM,8392
345
346
  meutils/apis/baidu/__init__.py,sha256=XPkz3DHrDdxCneaZct3y7MaX0Aw9IIseOYOn1YuVBII,243
346
- meutils/apis/baidu/bdaitpzs.py,sha256=9Joze8tDEXuZP-t6oR3UEwMKY_HgxuZRehhQGHiDZAE,12766
347
+ meutils/apis/baidu/bdaitpzs.py,sha256=iV34wkJzN-XUxWVI9IThT__5htC9KFCHxk9kqUmNvKo,12852
347
348
  meutils/apis/baidu/test.py,sha256=nb9ivelHIw84-d1V-MNGRpGoTpLFsNXPk-TTKpjwOfQ,2058
348
349
  meutils/apis/chatglm/__init__.py,sha256=uFuc9qY-ZjGqbsfcdGZkcEkhjATojWpzk2WXTTujc70,271
349
350
  meutils/apis/chatglm/glm_video.py,sha256=9LA9pyeIcDDHXGhJbZSJfjxrLeNC3SIuCKJwDIXRKR8,14015
@@ -367,7 +368,7 @@ meutils/apis/google/__init__.py,sha256=3pcpV81045y42FCTSdN99YGLCabwocR-f1_gjTSeF
367
368
  meutils/apis/google/audios.py,sha256=Su1V3TAOn8X94KgOrmpLRPnYETgTyDXqjDf4qQMkzAo,3289
368
369
  meutils/apis/google/chat.py,sha256=rMgfFFLNs89DgQgWLO6lH5KFqHv3nhRIEKjsuLF69OM,14516
369
370
  meutils/apis/google/files.py,sha256=0J1sJT1HFmh-V77_eiSzSBcqcF-i7w08M0rzjSyIXO0,1015
370
- meutils/apis/google/gemini_sdk.py,sha256=6OWv1PU0oNVscqwCcJsF8DTPjegyXkR4OgPBNMilw4k,5088
371
+ meutils/apis/google/gemini_sdk.py,sha256=oCKvsEFkETo2p14UW1QEtfO0vlK5AYBfoPsdjnad2pY,5165
371
372
  meutils/apis/google/google2openai.py,sha256=JaRw4XfGjy1XAbM4UwLqwLHmldOvM1J1tbMTagi10os,3075
372
373
  meutils/apis/google/images.py,sha256=s9-X8FQqHr5_Of5ZFudR_phmcVzlRyv65O3IsKtlvXo,663
373
374
  meutils/apis/google/search.py,sha256=js3Vx3u9lNrvQxWHF3Y2nP-8qYOA3sKYhbYvO4jHUCA,1590
@@ -392,9 +393,9 @@ meutils/apis/hunyuan/image_tools.py,sha256=SYovMKvv0QCPAYnIPqpDfXyVSOvyEuFlNNCA1
392
393
  meutils/apis/images/__init__.py,sha256=hs7HUJZvw_3DAtoapPnbZsEb4ng1p0a6fJGFFWwUcUk,272
393
394
  meutils/apis/images/deepinfra.py,sha256=lMqfU0LIXEzHiAS31dCcoTnPIE6tpoDJhq61H0TVJPg,3219
394
395
  meutils/apis/images/demo.py,sha256=Cjk-EKMKbp44czykW_44qR0TzElX8nNCALqXBBw5sJA,4405
395
- meutils/apis/images/edits.py,sha256=ahqUukciynSwEgdCDUwh9AbT0kdtx_BRP2CQ6llssTM,10228
396
+ meutils/apis/images/edits.py,sha256=4DDBkr-n_5F6N1bLkSS2puznyPv1cROFhohZc7wVSpY,10155
396
397
  meutils/apis/images/eidt.py,sha256=s8IBbCjwwoogIUf-d2O7nkawUmly9n19nvLYPaLEeg4,1217
397
- meutils/apis/images/recraft.py,sha256=pWWzPnOMoccMXkzaJ5k8xpUWggVP4ccbcfFHm9hd5GA,71900
398
+ meutils/apis/images/recraft.py,sha256=S-ldPRM_Ad92rqq2EKIUerb78uuWag_cIomjOTcWeuE,72270
398
399
  meutils/apis/images/flux/__init__.py,sha256=W_PZabQm6EmtJYmzEiEpL_WCXTAW0AiJ-t_n5UTrE8c,271
399
400
  meutils/apis/images/flux/fluxpro.py,sha256=NFl9t9C3R3jsNJpez4o9tOz3r-fjRXj-vKMxCSTRDTU,4022
400
401
  meutils/apis/images/flux/mystic.py,sha256=cUkqaMAbd3dSBCvFEoNBBoEoWCGzvBJWPEkEq1Q8xzw,3616
@@ -443,13 +444,13 @@ meutils/apis/oneapi/log.py,sha256=dOmyldX5DyJO7mMw4EzYorTIsdLKqZ3AZiV0z0tEpWE,13
443
444
  meutils/apis/oneapi/token.py,sha256=LaKwkHXNvF46wXEVtbSNwfi0ujuQo7oRyln39MOPKX0,1638
444
445
  meutils/apis/oneapi/token_.py,sha256=3NPU1jbjiRbcXIkw8bANcnby3rXq4U2LjU_8W3PaE_4,2560
445
446
  meutils/apis/oneapi/user.py,sha256=TF5Z4GcquDqWZVfSmtW2vJYVzr4rvSCcFhk57zcsEAw,4030
446
- meutils/apis/oneapi/utils.py,sha256=p7zI7QYPqTaVHjk4jLJxb6EsLDNQQ6DVp_wZTgE8d2Y,1411
447
+ meutils/apis/oneapi/utils.py,sha256=kuXwRQee3lSgJH7ffGP3Is4BhaUVylKJviG8FVN0F-I,1660
447
448
  meutils/apis/pixverse/__init__.py,sha256=WiboEUfJ_3Hs2WI3OymEspx8_ZSTgMglxTJd97Qk7qo,271
448
449
  meutils/apis/pixverse/pixverse.py,sha256=dvnyYVUXCEY_cLnmX9lvq9TesvplCMCuJmmP7ShchQk,5534
449
450
  meutils/apis/proxy/__init__.py,sha256=by7_6GT3xeDjAWLLqbw8uvGaZ3RdprEW-zJ2DFLOdwA,271
450
451
  meutils/apis/proxy/demo.py,sha256=-huvtmltbKXa6cS77k61ts-Kjd5ccSAgXzNrotIvIKA,1642
451
452
  meutils/apis/proxy/ips.py,sha256=3McLniROteSBqAtcMH8xKbUBfhVc4ZyGuRwMvgEryKg,5023
452
- meutils/apis/proxy/kdlapi.py,sha256=o4S-imtODApf05IYs_8xhWIYRB77l1tiuvjJg0DkUTg,1502
453
+ meutils/apis/proxy/kdlapi.py,sha256=e1UGwmjJG8d28Cjb3LQXdPT1VlLneOqOwlfoO0o0tgU,1545
453
454
  meutils/apis/remini/__init__.py,sha256=8TbAnbI_bDfH8g0Y9EHXHBum7C0rZt9MzgAAz_MbAeI,271
454
455
  meutils/apis/remini/remini.py,sha256=bJjvtqrCNlAu7No4gYGjoWAM0ch6dCsofYSy2jPZrXg,4239
455
456
  meutils/apis/replicateai/__init__.py,sha256=PK7e7-xhn5aj5WOyGHLzpsHQvpeM5uTOiMylvj40ZmU,272
@@ -505,6 +506,8 @@ meutils/apis/vidu/vidu_video.py,sha256=rkt18PbQ26r_q82WT2ptE0eL2A0rX6tDsTPjmG-eQ
505
506
  meutils/apis/voice_clone/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5wLJgkNHA,241
506
507
  meutils/apis/voice_clone/fish.py,sha256=6m8zcS2KEqmalKy2ArnOaNovyxsQp_sw4d_O1kVZR2s,7146
507
508
  meutils/apis/voice_clone/fish_api.py,sha256=pDpE-B8HFiGIOV3NVd1HmFrCC2GQc3wH-81oNbTS0mY,307
509
+ meutils/apis/volcengine_apis/__init__.py,sha256=PnngoI3Qk6n_axdOLgENCFYlKsmohgzYVW1HUg7L8gI,271
510
+ meutils/apis/volcengine_apis/images.py,sha256=lsrNZ19gqEUDARo8SsXhtcCc1TzazVOuOsjx1LrewzQ,5015
508
511
  meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpMLo,367
509
512
  meutils/async_task/celery_config.py,sha256=BX1h3jY34aO6UmUFakdBUwOdsEiOxCGuUtYDUKFtafc,3461
510
513
  meutils/async_task/common.py,sha256=ZJ4e0CsEJf1ppPmGSwPCwhZBAkUL5xsi_t1ny-bJuko,845
@@ -553,7 +556,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
553
556
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
554
557
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
555
558
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
556
- meutils/data/VERSION,sha256=is2z2AHTjsZx8AH-WJ4uSvPBKyA2qfYw8PG6q-OBw0I,19
559
+ meutils/data/VERSION,sha256=E54CoENf2Wjhmg93zGhnKzz_pFuwRz7E1ptzNORx74M,19
557
560
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
558
561
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
559
562
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -566,14 +569,14 @@ meutils/data/oneapi/index.html,sha256=SLxEEgxQgN5P2AgOTJf6LrTXY-6_KCxST7-aMh4TEh
566
569
  meutils/db/__init__.py,sha256=HR99rqxoFTWXUHDhLVl33tzIn8M86gigHLmEzOKH1Ec,7637
567
570
  meutils/db/mongo.py,sha256=B-B_t939rxtnNGt0PxhivjIUwinmHPzLUpXsjUIaTkQ,2337
568
571
  meutils/db/neo4j.py,sha256=eYd3jP3COWlOFBaF20UXphW67-HwlZ1t0Q34Cp-j6o0,2168
569
- meutils/db/orm.py,sha256=MFT2_Cruao_vvVLKC68Pu2PC6vgEnvH4vJhivNhlGoA,5094
572
+ meutils/db/orm.py,sha256=NEOO6p6D98EARszGXKuc9iTFQburllQS_vlgjp15lls,5094
570
573
  meutils/db/redis_db.py,sha256=U-7CakaokgT_1iYMomU-ObiH_xaeavhtrt8wPMgdPiU,2756
571
574
  meutils/decorators/__ai.py,sha256=QAz005-Wa-sp0YUUoelaR1pMbt6hPSBML5j0My6TbEI,1681
572
575
  meutils/decorators/__init__.py,sha256=hgpHo40pfFWYXEnrW74o8W7SIfCD0GHr3gnujBw1hIQ,3284
573
576
  meutils/decorators/cache.py,sha256=-sqhCuiSYZK1UtsRw7bBog19G65O9N27DVTAp_nlBk4,2972
574
577
  meutils/decorators/catch.py,sha256=JMYXNQ-9P0qic-Jtjtm8o9gCisTvDeUvVkSbPZxcdUM,1555
575
578
  meutils/decorators/common.py,sha256=Y-6FIQf4GqllYOGmyzorrLFEbx3MguLsjFmWcnbIaKg,14334
576
- meutils/decorators/contextmanagers.py,sha256=WdL7eV_9hdhIh-bw1fUoRRaPnF6cMipAEBVr4NR_DSI,5121
579
+ meutils/decorators/contextmanagers.py,sha256=DPffNQJeGwNwrO14zddioSunsxYde9CLEEBe3mQB24c,5150
577
580
  meutils/decorators/decorator.py,sha256=njwKhWhnvAXgHd_8h50V5jj5XZoK7_HM12rFDlmXc8c,15570
578
581
  meutils/decorators/decorator_demo.py,sha256=JLCulTW04uYHzLg6jRxVseaAdU-YeyL8Z2p-e_y-rsg,754
579
582
  meutils/decorators/demo.py,sha256=VmHYNkQQG_CT8js3uxXCaO7HmBbvVy0bQeE7QgPDdTw,1980
@@ -600,7 +603,7 @@ meutils/init/evn.py,sha256=GPw9Un8YbgYJmjwd-uYWQ8JeVr6pRxwyYbDv3W8fb1s,1588
600
603
  meutils/init/oo.py,sha256=jXWaCWWFYVPGgTIas47Z3J7sIq-CD7DyK6fKDBsq8GA,12884
601
604
  meutils/io/__init__.py,sha256=uW43ZfdWu7adRvwvcTzUGtn4CseRmbzEJdlZV-oqHEA,2107
602
605
  meutils/io/_openai_files.py,sha256=UIiu6Zg7iSFIn1xIcpLznFlnfCxAJFGuvuPtxvTNHfI,1005
603
- meutils/io/files_utils.py,sha256=6u_xOxf2GgcHaIxGZzwZR3htWbCyjzfQ0h8R7jw6YRo,8480
606
+ meutils/io/files_utils.py,sha256=T-cbr2wi0mHk7WqoJ1w2SZgMZlsZzRXNsdijIjD1mG4,8508
604
607
  meutils/io/image.py,sha256=BJmYzx7o66X7C32gOfVmfr5tBRXOi0IYQY7BpGLsGrg,6926
605
608
  meutils/io/minio_utils.py,sha256=i1YuxwDJzLse0smMXuPqnD1wirBBb8psmB_kd1oPoVU,1274
606
609
  meutils/io/openai_files.py,sha256=wi4qp-olva8aF6AfBiUBfb_QlHzHolJJbH4UbHpRrB0,6032
@@ -635,7 +638,7 @@ meutils/jwt_utils/__init__.py,sha256=hU1CYBK90Q9QKVrf1s6VFKZwWjHioHa6bO2AuDn7_eo
635
638
  meutils/jwt_utils/common.py,sha256=MlWDLtxiF-WeRl3oyK94KIa6BKFIXVeJtaQUnpa9ayo,814
636
639
  meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
637
640
  meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
638
- meutils/llm/check_utils.py,sha256=y1D7_JGiDvnn0rTxN9UWMBTQaG0IefVFioE_rBTkSv4,5407
641
+ meutils/llm/check_utils.py,sha256=zAhJBHLrz0heEYF1eJbhHzMIJwfNdxxq-giVBN39gRo,5557
639
642
  meutils/llm/clients.py,sha256=ksj8Fb5b2Y0dc5rUpzg3aVChPApblsaT5Zx9KWlXA5Q,2412
640
643
  meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
641
644
  meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
@@ -672,7 +675,7 @@ meutils/llm/completions/rag/rag.py,sha256=mnC4bZUMuNYuPFXMBqXMofj_ms8uP5MMw1leJ5
672
675
  meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuRjSGQ,271
673
676
  meutils/llm/openai_polling/__init__.py,sha256=qmAMITPtrTD-y57RiJXewuOic7iLKBhx8mz5uvcxsy8,270
674
677
  meutils/llm/openai_polling/chat.py,sha256=QPG8wZAUs3zK-l3B6z5arqlhG3xD-e0lDeOkpYd54Sk,3840
675
- meutils/llm/openai_polling/images.py,sha256=tQ-KoE9IoMM093MFVrtFlXFU9U6Y1t13UUHdzZRrz8w,268
678
+ meutils/llm/openai_polling/images.py,sha256=qKMk3vCvamS_48ceC-_y2LPpP5XsD476FHG9MUu8kks,1042
676
679
  meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
677
680
  meutils/llm/openai_utils/common.py,sha256=GGctOMlg8xT2A5H-8hMow0VfOZHCDdIPjd12597Nohs,9754
678
681
  meutils/llm/openai_utils/tool_outputs.py,sha256=6mNkm4btgy0uzF98gdmcah1bYmoflXdLz2Sqm0KC_LQ,1224
@@ -779,7 +782,7 @@ meutils/schemas/fish_types.py,sha256=yC0ZFr3Ebh8F0OhtMsXYaIfNNvzOM2LT9YtKTaRoHGU
779
782
  meutils/schemas/hailuo_types.py,sha256=lZ3Q07QNgxJvrX8JJvalxUsro4gGLOMQDusSEwV4EO0,7429
780
783
  meutils/schemas/haimian_types.py,sha256=jGu484UviAeBgy5OIUyRY4uYCxXfv16zDPqiJQr9wNQ,1364
781
784
  meutils/schemas/idphoto_types.py,sha256=nuHbpppejRSkJCiQ7YKx0Gnke0ShKZhOvdg0e7tk9-0,1074
782
- meutils/schemas/image_types.py,sha256=9VBIbIobY4c93bcXtbxDKPN26enciLSv6uEfp4Nia34,13852
785
+ meutils/schemas/image_types.py,sha256=uTi-mpt3cbKoeDw5hjRW-nOrPKVPVQMOGHLEstJw8hs,13859
783
786
  meutils/schemas/jimeng_types.py,sha256=7pr3fKtUcNYuAAVgwpoiQNaSaAKSiYhVUkyS35NyrFE,977
784
787
  meutils/schemas/jina_types.py,sha256=SLRRBCap2B1uXnHF7Sgnlz1Work8HvdIltjj4oVlGTk,8826
785
788
  meutils/schemas/kimi_types.py,sha256=PjCgHwCDNzKasn4X6rUzvOENqKYT3xj07cgp71IdsDA,3607
@@ -812,10 +815,10 @@ meutils/schemas/vidu_types.py,sha256=7V2uGxK3MyiT-j-Cjoni_DaL2CcJJzz2YPCx_mTplGw
812
815
  meutils/schemas/wechat_types.py,sha256=XtIJpMNBzkqBcU68Qno8bnUfHzDOXwFNCIL-6VYQKOA,9260
813
816
  meutils/schemas/yuanbao_types.py,sha256=bI_CF9ybaJ1ux8NgP5gEi33k_K_vHmlyD09fxzhYEkQ,12269
814
817
  meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVIU,272
815
- meutils/schemas/db/oneapi_types.py,sha256=YanT0q9pU7dva2ZBPWjCpwGNUuifnJh0zUJJCQ9070c,3848
818
+ meutils/schemas/db/oneapi_types.py,sha256=3t2m0H80saEXmYUZfVFrtEaY117GjZTsSa1GKgkJzqQ,3896
816
819
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
817
820
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
818
- meutils/schemas/oneapi/common.py,sha256=bjCCeM9nWXHMQulmkXtQBNbw2lzoL3h1cO4rkHDJGMY,34321
821
+ meutils/schemas/oneapi/common.py,sha256=ybmtQ2xDVDxneE1BbKRN2eX-7jskTW5DBzIMv7aRIRM,35331
819
822
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
820
823
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
821
824
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -944,9 +947,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
944
947
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
945
948
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
946
949
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
947
- MeUtils-2025.4.15.13.18.47.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
948
- MeUtils-2025.4.15.13.18.47.dist-info/METADATA,sha256=MS_QSsp-gdAbx2izSXhV8Yu7ACgCI7XSK1yYoPHCIhk,32834
949
- MeUtils-2025.4.15.13.18.47.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
950
- MeUtils-2025.4.15.13.18.47.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
951
- MeUtils-2025.4.15.13.18.47.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
952
- MeUtils-2025.4.15.13.18.47.dist-info/RECORD,,
950
+ MeUtils-2025.4.18.13.49.52.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
951
+ MeUtils-2025.4.18.13.49.52.dist-info/METADATA,sha256=H1vyUQoOjNlggd5OV6X596eo0YgnnMRJxUSSBABTzA4,32834
952
+ MeUtils-2025.4.18.13.49.52.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
953
+ MeUtils-2025.4.18.13.49.52.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
954
+ MeUtils-2025.4.18.13.49.52.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
955
+ MeUtils-2025.4.18.13.49.52.dist-info/RECORD,,
@@ -25,12 +25,15 @@ from meutils.io.files_utils import to_base64
25
25
  # base64_image = arun(to_base64("https://oss.ffire.cc/cdn/2025-04-01/duTeRmdE4G4TSdLizkLx2B", content_type="image/jpg"))
26
26
 
27
27
  client = OpenAI(
28
- # api_key=os.getenv("GOOGLE_API_KEY"),
29
- # api_key="AIzaSyDPXGaZcnieCQsy9GR4cYmqbQjIm0qBNqg",
28
+ api_key=os.getenv("GOOGLE_API_KEY"),
30
29
  base_url=os.getenv("GOOGLE_BASE_URL"),
31
30
  )
32
31
 
33
- # print(client.models.list().model_dump_json(indent=4))
32
+ print(client.models.list().model_dump_json(indent=4))
33
+
34
+
35
+ print([model.id.removeprefix("models/") for model in client.models.list().data if 'flash' in model.id or 'gemma' in model.id ] | xjoin(','))
36
+
34
37
 
35
38
  # {
36
39
  # "gemini-2.0-pro-exp": "models/gemini-2.0-pro-exp",
@@ -78,13 +81,13 @@ tools = [
78
81
  }
79
82
  }
80
83
  ]
81
-
84
+ #
82
85
  messages = [{"role": "user", "content": "今天南京天气"}]
83
86
  response = client.chat.completions.create(
84
- model="gemini-2.0-flash",
87
+ model="gemini-2.0-flash-thinking-exp",
85
88
  messages=messages,
86
- tools=tools,
87
- tool_choice="auto"
89
+ # tools=tools,
90
+ # tool_choice="auto"
88
91
  )
89
92
 
90
93
  print(response)
@@ -0,0 +1,58 @@
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="sk-dar7t3rhn4wl37fe",
19
+ base_url="https://cloud.infini-ai.com/maas/v1"
20
+ )
21
+
22
+ message = """
23
+ A Chinese beauty plays Catwoman. She is seductive. She wears a fitted black leather tights, decorated with neon blue lines flowing along the seams, pulsating like an electric current. There are many hollow designs for tights, showing big breasts, nipples and female genitals. She wears a pair of black cat ear headdresses. Her hands are covered with black leather gloves extending to her elbows, with retractable silver claws on her fingertips. She stood around the roof surrounded by towering skyscrapers, and countless neon signs flashed with various colors.
24
+ """
25
+
26
+ try:
27
+ completion = client.chat.completions.create(
28
+ model="deepseek-v3",
29
+ # model="xxxxxxxxxxxxx",
30
+ messages=[
31
+ {"role": "system", "content": '你是个内容审核助手'},
32
+
33
+ {"role": "user", "content": message}
34
+ ],
35
+ # top_p=0.7,
36
+ top_p=None,
37
+ temperature=None,
38
+ stream=True,
39
+ max_tokens=1000
40
+ )
41
+ except APIStatusError as e:
42
+ print(e.status_code)
43
+
44
+ print(e.response)
45
+ print(e.message)
46
+ print(e.code)
47
+
48
+ for chunk in completion:
49
+ # print(bjson(chunk))
50
+ print(chunk.choices[0].delta.content, flush=True)
51
+
52
+ # r = client.images.generate(
53
+ # model="cogview-3-plus",
54
+ # prompt="a white siamese cat",
55
+ # size="1024x1024",
56
+ # quality="hd",
57
+ # n=1,
58
+ # )
@@ -21,7 +21,7 @@ client = OpenAI(
21
21
  # base_url=base_url,
22
22
  # api_key=os.getenv('OPENAI_API_KEY'),
23
23
 
24
- # api_key=os.getenv('OPENAI_API_KEY_OPENAI'),
24
+ api_key=os.getenv('OPENAI_API_KEY_OPENAI') + "-2738",
25
25
  )
26
26
 
27
27
  # text = """
@@ -118,7 +118,10 @@ async def get_task(
118
118
  params = {
119
119
  "taskId": task_id
120
120
  }
121
- async with httpx.AsyncClient(base_url=BASE_URL, timeout=30) as client:
121
+ request_kwargs = {
122
+ "proxy": await get_one_proxy()
123
+ }
124
+ async with httpx.AsyncClient(base_url=BASE_URL, timeout=30, **request_kwargs) as client:
122
125
  response = await client.get('/aigc/pcquery', params=params)
123
126
  data = response.json()
124
127
 
@@ -37,6 +37,7 @@ client = genai.Client(
37
37
 
38
38
  if __name__ == '__main__':
39
39
  model = "gemini-2.0-flash-exp-image-generation"
40
+ model = "gemini-2.5-flash-preview-04-17"
40
41
 
41
42
  request = CompletionRequest(
42
43
  model=model,
@@ -65,9 +66,9 @@ if __name__ == '__main__':
65
66
  config=GenerateContentConfig(
66
67
  system_instruction=None,
67
68
  max_output_tokens=None,
68
- response_modalities=['Text', 'Image'],
69
+ # response_modalities=['Text', 'Image'],
69
70
 
70
- # thinking_config=ThinkingConfig(include_thoughts=True),
71
+ thinking_config=ThinkingConfig(include_thoughts=True),
71
72
 
72
73
  ),
73
74
 
@@ -131,6 +132,7 @@ if __name__ == '__main__':
131
132
  chunks = await response.send_message_stream(message)
132
133
 
133
134
  async for chunk in chunks:
135
+ logger.debug(chunk)
134
136
  if chunk.candidates:
135
137
  parts = chunk.candidates[0].content.parts
136
138
  for part in parts or []:
@@ -9,7 +9,7 @@
9
9
  # @Description :
10
10
 
11
11
  from meutils.pipe import *
12
- from meutils.apis.proxy.kdlapi import get_proxy_list
12
+ from meutils.apis.proxy.kdlapi import get_one_proxy
13
13
 
14
14
  from meutils.decorators.retry import retrying, IgnoredRetryException
15
15
 
@@ -121,15 +121,12 @@ async def make_request_for_baidu(payload, token: Optional[str] = None, response_
121
121
  'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
122
122
  }
123
123
 
124
- proxy_list = await get_proxy_list()
125
- logger.debug(proxy_list)
126
-
127
124
  request_kwargs = {
128
- "proxy": proxy_list[-1],
125
+ "proxy": await get_one_proxy(),
129
126
  }
130
127
 
131
- async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
132
- response = await client.post("/aigc/pccreate", data=payload, extensions=request_kwargs) # pcEditTaskid
128
+ async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60, **request_kwargs) as client:
129
+ response = await client.post("/aigc/pccreate", data=payload) # pcEditTaskid
133
130
  response.raise_for_status()
134
131
  data = response.json()
135
132
 
@@ -13,7 +13,7 @@ from meutils.caches import rcache
13
13
  from meutils.io.files_utils import to_url, to_url_fal, to_base64
14
14
  from meutils.schemas.image_types import ImageRequest, ImagesResponse, RecraftImageRequest
15
15
  from meutils.notice.feishu import IMAGES, send_message as _send_message
16
- from meutils.config_utils.lark_utils import get_next_token_for_polling
16
+ from meutils.config_utils.lark_utils import get_next_token_for_polling, aget_spreadsheet_values
17
17
  from meutils.decorators.retry import retrying
18
18
 
19
19
  BASE_URL = "https://api.recraft.ai"
@@ -78,7 +78,6 @@ async def generate(request: RecraftImageRequest, token: Optional[str] = None):
78
78
  params = {} # project_id 是否是必要的
79
79
  # params = {"project_id": "47ba6825-0fde-4cea-a17e-ed7398c0a298"}
80
80
  payload = request.model_dump(exclude_none=True)
81
- logger.debug(payload)
82
81
 
83
82
  # 默认 prompt_to_image
84
83
  model_type = "prompt_to_image"
@@ -110,7 +109,7 @@ async def generate(request: RecraftImageRequest, token: Optional[str] = None):
110
109
  # 'transform_model': 'recraftv3',
111
110
  # 'width': 1024}
112
111
 
113
- params = {"raster_image_content_type": "image/webp"} #####
112
+ # params = {"raster_image_content_type": "image/webp"} #####
114
113
  params = {"raster_image_content_type": "image/png"}
115
114
 
116
115
  images = []
@@ -120,9 +119,13 @@ async def generate(request: RecraftImageRequest, token: Optional[str] = None):
120
119
  url = await to_url_fal(response.content, content_type="image/png")
121
120
  images.append(url)
122
121
 
122
+ if not images:
123
+ raise Exception(f"生成失败,请联系管理员:{metadata}")
124
+
123
125
  return ImagesResponse(image=images, metadata=metadata)
124
126
 
125
127
 
128
+ # eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDY5MjY2MjQsInVzZXIiOnsiaWQiOiIzNjIzNjMwNDU2OTAxNTkxMDciLCJuYW1lIjoibWtybiBhbmJ2IiwiYXZhdGFyIjoiIiwiZGV2aWNlSUQiOiIzMjg2MDA4MzYzNzEwMzQxMTgiLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.JyCL0Be9YsEBlLVIeSpqDv3bTKAlU9Jsds3y5cJKXa4
126
129
  async def check_token(token, threshold: float = 1):
127
130
  if not isinstance(token, str):
128
131
  tokens = token
@@ -171,7 +174,7 @@ if __name__ == '__main__':
171
174
  "prompt": "Draw an astronaut | Style: any (recraft-v3)",
172
175
  "style": "any",
173
176
  "response_format": "url",
174
- "size": "1152x2048",
177
+ "size": "1024x1792",
175
178
  "n": 1,
176
179
  }
177
180
  request = RecraftImageRequest(
@@ -181,10 +184,10 @@ if __name__ == '__main__':
181
184
  token = None
182
185
  # with timer():
183
186
  # arun(generate(request, token=token))
184
- with timer():
185
- arun(edit_image("https://oss.ffire.cc/files/kling_watermark.png"))
187
+ # with timer():
188
+ # arun(edit_image("https://oss.ffire.cc/files/kling_watermark.png"))
186
189
  # tokens = [token]
187
190
  #
188
- # tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
191
+ tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
189
192
  #
190
- # r = arun(check_token(tokens))
193
+ r = arun(check_token(tokens))
@@ -6,12 +6,13 @@
6
6
  # @Author : betterme
7
7
  # @WeChat : meutils
8
8
  # @Software : PyCharm
9
- # @Description :
9
+ # @Description :
10
+ import os
10
11
 
11
12
  from meutils.pipe import *
12
13
 
13
14
  from meutils.caches.redis_cache import cache, cache_inmemory
14
- from meutils.db.orm import select_first
15
+ from meutils.db.orm import select_first, update_or_insert
15
16
  from meutils.schemas.db.oneapi_types import OneapiTask, OneapiUser, OneapiToken
16
17
 
17
18
 
@@ -41,7 +42,21 @@ async def get_user_quota(api_key: Optional[str] = None, user_id: Optional[int] =
41
42
 
42
43
 
43
44
  if __name__ == '__main__':
44
- with timer():
45
- # arun(token2user('sk-m7hnpyLWVSqQN1NUjj9I50RQqmROGF80t0aq8l1yVwekKNCA'))
46
- arun(get_user_quota('sk-m7hnpyLWVSqQN1NUjj9I50RQqmROGF80t0aq8l1yVwekKNCA'))
47
- # arun(get_user_quota(user_id=1))
45
+ # from faker import Faker
46
+
47
+ # with timer():
48
+ # arun(get_user_quota(os.getenv("OPENAI_API_KEY")))
49
+ # arun(get_user_quota(user_id=1))
50
+
51
+ async def task():
52
+ filter_kwargs = dict(
53
+ username=f"{shortuuid.random(length=6)}@chatfire.com",
54
+ )
55
+ return await update_or_insert(OneapiUser, filter_kwargs)
56
+
57
+
58
+ async def main():
59
+ await asyncio.gather(*[task() for _ in range(5000)])
60
+
61
+
62
+ arun(main())
@@ -35,9 +35,10 @@ if __name__ == '__main__':
35
35
 
36
36
 
37
37
  async def fetch(url):
38
- proxy = await get_one_proxy()
38
+ # proxy = await get_one_proxy()
39
+ proxy="http://154.9.253.9:38443"
39
40
 
40
- async with httpx.AsyncClient(proxy=proxy, timeout=10) as client:
41
+ async with httpx.AsyncClient(proxy=proxy, timeout=20) as client:
41
42
  resp = await client.get(url)
42
43
  print(f"status_code: {resp.status_code}, content: {resp.content}")
43
44
 
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : __init__.py
5
+ # @Time : 2025/4/18 08:54
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
@@ -0,0 +1,148 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : images
5
+ # @Time : 2025/4/18 08:55
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+ """
11
+ https://www.volcengine.com/docs/85128/1526761
12
+ Seedream 通用3.0文生图模型是基于字节跳动视觉大模型打造的新一代文生图模型,本次升级模型综合能力(图文,结构,美感)均显著提升。V3.0参数量更大,对语义有更好的理解,实体结构也更加自然真实,支持 2048 以下分辨率直出,各类场景下的效果均大幅提升。
13
+ https://www.volcengine.com/docs/6791/1384311
14
+ """
15
+
16
+ from meutils.pipe import *
17
+ from meutils.io.files_utils import to_url
18
+ from meutils.schemas.image_types import ImageRequest, ImagesResponse
19
+
20
+ from volcengine.visual.VisualService import VisualService
21
+
22
+
23
+ async def generate(request: ImageRequest, token: Optional[str] = None):
24
+ """
25
+
26
+ :param request: byteedit_v2.0 high_aes_general_v30l_zt2i Seedream
27
+ :param token:
28
+ :return:
29
+ """
30
+ visual_service = VisualService()
31
+
32
+ if token:
33
+ ak, sk = token.split('|')
34
+ visual_service.set_ak(ak)
35
+ visual_service.set_sk(sk)
36
+
37
+ # request
38
+ payload = {
39
+ "req_key": "high_aes_general_v30l_zt2i",
40
+ "prompt": request.prompt,
41
+ "seed": request.seed,
42
+ "width": 1328,
43
+ "height": 1328,
44
+ "return_url": request.response_format == "url", # 24小时
45
+
46
+ # # prompt进行扩写优化
47
+ # "use_pre_llm": True,
48
+ # "use_rephraser": True
49
+ }
50
+
51
+ image, prompt = request.image_and_prompt
52
+ width, height = map(int, request.size.split('x'))
53
+
54
+ if image:
55
+ payload["image_urls"] = [image]
56
+ payload["req_key"] = "byteedit_v2.0"
57
+
58
+ payload['width'] = width
59
+ payload['height'] = height
60
+
61
+ if request.response_format == "oss_url":
62
+ payload["return_url"] = False
63
+
64
+ response = visual_service.cv_process(payload)
65
+ logger.debug(bjson(response))
66
+
67
+ if request.response_format == "b64_json":
68
+ data = [{"b64_json": b64_json} for b64_json in response['data'].get('binary_data_base64', [])]
69
+
70
+ elif request.response_format == "oss_url":
71
+ urls = await to_url(response['data'].get('binary_data_base64', []), filename='.png')
72
+ data = [{"url": url} for url in urls]
73
+ else:
74
+ data = [{"url": url} for url in response['data'].get('image_urls', [])]
75
+
76
+ response['data'].pop("binary_data_base64", None)
77
+ response = ImagesResponse(
78
+ data=data,
79
+ metadata=response
80
+ )
81
+
82
+ return response
83
+
84
+
85
+ if __name__ == '__main__':
86
+ prompt = """
87
+ 3D魔童哪吒 c4d 搬砖 很开心, 很快乐, 精神抖擞, 背景是数不清的敖丙虚化 视觉冲击力强 大师构图 色彩鲜艳丰富 吸引人 背景用黄金色艺术字写着“搬砖挣钱” 冷暖色对比
88
+ """
89
+
90
+ prompt = """
91
+ https://oss.ffire.cc/files/kling_watermark.png
92
+ 让这个女人带上眼镜 衣服换个颜色
93
+ """
94
+
95
+ request = ImageRequest(
96
+ model="high_aes_general_v30l_zt2i",
97
+ prompt=prompt,
98
+ response_format="url",
99
+ )
100
+
101
+ arun(generate(request))
102
+
103
+ # with timer():
104
+ # visual_service = VisualService()
105
+ # visual_service.set_ak('your ak') # AKLTZmU5OTA1NTk2MTNmNGQ0MTgxZjQ1NzI0Y2MzYjlhMDQ
106
+ # visual_service.set_sk('your sk')
107
+
108
+ # call below method if you don't set ak and sk in $HOME/.volc/config
109
+ # visual_service.set_ak('your ak') # AKLTZmU5OTA1NTk2MTNmNGQ0MTgxZjQ1NzI0Y2MzYjlhMDQ
110
+ # visual_service.set_sk('your sk')
111
+
112
+ # 请求Body(查看接口文档请求参数-请求示例,将请求参数内容复制到此)
113
+ # form = {
114
+ # "req_key": "xxx",
115
+ # # ...
116
+ # # }
117
+ # "high_aes_scheduler_svr_controlnet_v2.0"
118
+ # prompt = """
119
+ # 3D魔童哪吒 c4d 搬砖 很开心, 很快乐, 精神抖擞, 背景是数不清的敖丙虚化 视觉冲击力强 大师构图 色彩鲜艳丰富 吸引人 背景用黄金色艺术字写着“搬砖挣钱” 冷暖色对比
120
+ # """
121
+ # form = {
122
+ # "req_key": "high_aes_general_v30l_zt2i",
123
+ #
124
+ # "req_key": "byteedit_v2.0",
125
+ # "prompt": "让这个女人笑起来",
126
+ # "image_urls": ["https://oss.ffire.cc/files/kling_watermark.png"], # binary_data_base64
127
+ #
128
+ # "scale": 0.5, # [1, 10]
129
+ #
130
+ # # "prompt": prompt,
131
+ # # "use_pre_llm": True, # prompt进行扩写优化
132
+ # # "use_rephraser": True, # prompt进行扩写优化
133
+ # "seed": -1,
134
+ # # "scale": 2.5, # [1, 10]
135
+ # "width": 1328, # [512, 2048]
136
+ # "height": 1328,
137
+ # "return_url": True, # 24小时
138
+ # # "logo_info": {
139
+ # # "add_logo": False,
140
+ # # "position": 0,
141
+ # # "language": 0,
142
+ # # "opacity": 0.3,
143
+ # # "logo_text_content": "这里是明水印内容"
144
+ # # }
145
+ # }
146
+ # with timer():
147
+ # resp = visual_service.cv_process(form)
148
+ # print(resp)
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2025.04.15.13.18.47
1
+ 2025.04.18.13.49.52
meutils/db/orm.py CHANGED
@@ -17,8 +17,8 @@ from sqlmodel import Field, Session, SQLModel, create_engine, select, insert, up
17
17
  engine = create_async_engine(
18
18
  os.getenv("MYSQL_URL"),
19
19
  future=True,
20
- pool_size=16,
21
- max_overflow=16,
20
+ pool_size=64,
21
+ max_overflow=64,
22
22
  pool_recycle=3600,
23
23
  echo=True,
24
24
  )