MeUtils 2025.3.26.18.50.26__py3-none-any.whl → 2025.4.1.18.47.48__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.
Files changed (27) hide show
  1. {MeUtils-2025.3.26.18.50.26.dist-info → MeUtils-2025.4.1.18.47.48.dist-info}/METADATA +262 -262
  2. {MeUtils-2025.3.26.18.50.26.dist-info → MeUtils-2025.4.1.18.47.48.dist-info}/RECORD +27 -21
  3. examples/_openaisdk/openai_ark_bots.py +82 -0
  4. examples/_openaisdk/openai_google.py +93 -27
  5. examples/_openaisdk/openai_kindo.py +1 -1
  6. examples/_openaisdk/zhipu_/346/231/272/350/203/275/344/275/223.py +7 -4
  7. meutils/ai_audio/tts/minimax.py +34 -0
  8. meutils/apis/images/google/__init__.py +11 -0
  9. meutils/apis/images/google/images.py +32 -0
  10. meutils/apis/images/recraft.py +5 -5
  11. meutils/apis/search/ark_web_search.py +65 -0
  12. meutils/apis/search/{web_search.py → zhipu_web_search.py} +16 -28
  13. meutils/caches/common.py +2 -0
  14. meutils/data/VERSION +1 -1
  15. meutils/io/openai_files.py +4 -1
  16. meutils/llm/check_utils.py +2 -2
  17. meutils/llm/clients.py +6 -8
  18. meutils/llm/completions/chat_gemini.py +1 -1
  19. meutils/llm/completions/deep2x.py +16 -6
  20. meutils/llm/completions/google2openai.py +75 -0
  21. meutils/llm/completions/qwenllm.py +37 -35
  22. meutils/llm/openai_utils/common.py +5 -0
  23. meutils/schemas/oneapi/common.py +16 -4
  24. {MeUtils-2025.3.26.18.50.26.dist-info → MeUtils-2025.4.1.18.47.48.dist-info}/LICENSE +0 -0
  25. {MeUtils-2025.3.26.18.50.26.dist-info → MeUtils-2025.4.1.18.47.48.dist-info}/WHEEL +0 -0
  26. {MeUtils-2025.3.26.18.50.26.dist-info → MeUtils-2025.4.1.18.47.48.dist-info}/entry_points.txt +0 -0
  27. {MeUtils-2025.3.26.18.50.26.dist-info → MeUtils-2025.4.1.18.47.48.dist-info}/top_level.txt +0 -0
@@ -92,6 +92,7 @@ examples/_openaisdk/kimi_qa.py,sha256=dNBIe01vK7p-8cFnbgVXJ5H3xPSW32-cc0rwZx3K_1
92
92
  examples/_openaisdk/minimax.py,sha256=zOshBkL1bHgRlj4z6k2FQRScNTr7ysZkfh2-OaAynkU,2116
93
93
  examples/_openaisdk/open_router.py,sha256=ky_tdPX9CZkq4rAnjaFrOY_bygZuy6V8jIQfh6bq9U0,1497
94
94
  examples/_openaisdk/openai_aiplus.py,sha256=7sT2t4jjZBABFiwKQwUjgdilO8s006NuPAPx7neHER8,1182
95
+ examples/_openaisdk/openai_ark_bots.py,sha256=VRRSb-aO6jDQoR9a3pYBgcy0WtSGliAdGiKFZlIjp2I,3428
95
96
  examples/_openaisdk/openai_audio.py,sha256=KVJOmPdwD5_6Aa5nttRQLSa824-JKGGyuIyHh2IOl8E,1181
96
97
  examples/_openaisdk/openai_baichuan.py,sha256=-xhHovkFmWOTX25CJjIon0my-ocmwfAZJu1C0eS80Xs,1614
97
98
  examples/_openaisdk/openai_baidu.py,sha256=qnrxP66lY7Qf2jEbFEHrt0FrR5_Aji1AgwSI_46IabY,1969
@@ -107,12 +108,12 @@ examples/_openaisdk/openai_ep.py,sha256=cAaeyC8Lstk1MB36c4h7X9n7EnEnY7rr2Tugo_di
107
108
  examples/_openaisdk/openai_files.py,sha256=zcF4k4sQ2FnINhq6x1wCKw1WCu93g1h69Yul_rLdakE,2058
108
109
  examples/_openaisdk/openai_gitee.py,sha256=UQEJMQMQDhgqYzo_aYetYXnBmVtqRwIweJDDK3NlSMw,1205
109
110
  examples/_openaisdk/openai_god.py,sha256=O8fbhyxiIlVR7pTvBTXgQ2QTwfcZ2MkEIyDe_jp797A,1056
110
- examples/_openaisdk/openai_google.py,sha256=GSjiE09LEBTNcevFrAk34_N-iHMqLzogQvTwMss1UJI,1231
111
+ examples/_openaisdk/openai_google.py,sha256=8ZZPLfp6AXs4mfIEWDMpWBHp2yhyRciGc4aUwq0alSs,3186
111
112
  examples/_openaisdk/openai_groq.py,sha256=_5Ue1yEx0Gp6theFioB_D8kepR0UlqMU96PVGH-LkVY,7363
112
113
  examples/_openaisdk/openai_images.py,sha256=_ceVlEhg8sSpsBqyMpaURqnBNdmQt-L7-UDb1N0IHmk,5980
113
114
  examples/_openaisdk/openai_jina.py,sha256=QeGRXMQmkJyg8Cz4Vfx4pP39a5TcO7pQQfPAPbBA8bs,1628
114
115
  examples/_openaisdk/openai_json.py,sha256=M4tq_IkzYbmtgbFilGQHmRdJhH0OltiwGk7cK7uc-sQ,1850
115
- examples/_openaisdk/openai_kindo.py,sha256=dRQd8BOUDlWo4xp2l1s3BeP7qv19i7CUjx14NRv1fxM,741
116
+ examples/_openaisdk/openai_kindo.py,sha256=8dsetXZexJCLboDp3uyxK7z50iDEiQFkA5-hkJTLO4E,741
116
117
  examples/_openaisdk/openai_lingyi.py,sha256=l2GcNxhwfLv7MfMF-cdRWGGvX-dRaZyb8IRlXLPACMw,1834
117
118
  examples/_openaisdk/openai_luchentech.py,sha256=Jy0JxpL1u3pXcmslViPvrbwSysVBV-Dz8wSKqv6QtxY,1960
118
119
  examples/_openaisdk/openai_modelscope.py,sha256=C7QG1KCK7-F0Hm-MlvMJ5FQoJg9-LGGagXUJf_Nkhng,1446
@@ -139,7 +140,7 @@ examples/_openaisdk/testDeepseek.py,sha256=TH_Lu0-oi2uqlEtXJ-VbPjdm1XkkF3vEFH3TC
139
140
  examples/_openaisdk/x.py,sha256=IdhHsmyd-uZx5UohfWa_g467kZeR1Pkec42z3bW-3Iw,4752
140
141
  examples/_openaisdk/xx.py,sha256=DvU98YbhmFJZ3xWqK4NOAafNqOJLu2ehQycCRLEXVUg,645
141
142
  examples/_openaisdk/zhipu_files.py,sha256=HLvlM9CDcmNER5w-MBMLQPZVPJjR2UHRXYA3ru2cT2Q,1057
142
- examples/_openaisdk/zhipu_智能体.py,sha256=KWsjkRy1lrvh1qOVGzHUqkQURFphTxP60gdZHnTFimU,3419
143
+ examples/_openaisdk/zhipu_智能体.py,sha256=7NksJt5qFG4HN0mIwZ4HBlicpIvry1HKzobV6jlwE-U,3503
143
144
  examples/_openaisdk/兜底测试.py,sha256=7vIOZDj-iB5dJjfJtHe_A-3D7ZUmOSiryI7ciIp0EzE,2878
144
145
  examples/_openaisdk/多模态测试.py,sha256=XNHvC9Qbw3tUZ_i8shyEx3a6T3FFDsTyIIkm3rO0R38,2559
145
146
  examples/_openaisdk/多模态测试_.py,sha256=7mh9dnpSApqmrriQ9-q4jY8uHfplsrjyGSXb8b-Zt9o,1276
@@ -279,6 +280,7 @@ meutils/ai_audio/asr/openai_asr.py,sha256=l7v71z8tJq2ymdmWovFxavFmm4OTrEUqVdcnZL
279
280
  meutils/ai_audio/asr/xunfei_asr.py,sha256=XctZCjxu6sQd05biMTOfL9y3TA15kLYIc9mwIZ27RQo,7251
280
281
  meutils/ai_audio/tts/EdgeTTS.py,sha256=5pO0soW-bYwKmwX87Je_lYGr-XQFeoW4LKMPo_MGfGc,5919
281
282
  meutils/ai_audio/tts/__init__.py,sha256=2i3eHZ-f3xG8HsgFcb7V7-b6gb6jKQOZNzr_2WnvCpQ,405
283
+ meutils/ai_audio/tts/minimax.py,sha256=Hy9AWaUSb0cMQnLeNzqe2oBaMJh0c_l-GP92SBwnQ9o,854
282
284
  meutils/ai_audio/tts/openai_tts.py,sha256=uOfwvY9-wkYj0kTvER7WVkhiPCAbSuYIIbSzSmmmIak,2177
283
285
  meutils/ai_audio/tts/tts_ui.py,sha256=cj3WGTnBN67gT00vT4ftTwZroJifAJRVJuE4WNzbo_4,4638
284
286
  meutils/ai_cv/__init__.py,sha256=0CoI0WlNwB0yFHkYqp5waF767WSZZsfOVxjlmtlCGT0,244
@@ -383,10 +385,12 @@ meutils/apis/images/deepinfra.py,sha256=lMqfU0LIXEzHiAS31dCcoTnPIE6tpoDJhq61H0TV
383
385
  meutils/apis/images/demo.py,sha256=Cjk-EKMKbp44czykW_44qR0TzElX8nNCALqXBBw5sJA,4405
384
386
  meutils/apis/images/edits.py,sha256=vyX5AEZcNvLHB4fXWo2PdviNv0jMMO34e1k-IbedjO0,9935
385
387
  meutils/apis/images/eidt.py,sha256=s8IBbCjwwoogIUf-d2O7nkawUmly9n19nvLYPaLEeg4,1217
386
- meutils/apis/images/recraft.py,sha256=Uk0InfY-epyuLGYs93EL6F9SJMsx8NX6JuEFCgMR48M,70651
388
+ meutils/apis/images/recraft.py,sha256=WHvnzw_qBBBR89KaZsOEHnnukhHlsEa8b5xGJdIeyGQ,70649
387
389
  meutils/apis/images/flux/__init__.py,sha256=W_PZabQm6EmtJYmzEiEpL_WCXTAW0AiJ-t_n5UTrE8c,271
388
390
  meutils/apis/images/flux/fluxpro.py,sha256=NFl9t9C3R3jsNJpez4o9tOz3r-fjRXj-vKMxCSTRDTU,4022
389
391
  meutils/apis/images/flux/mystic.py,sha256=cUkqaMAbd3dSBCvFEoNBBoEoWCGzvBJWPEkEq1Q8xzw,3616
392
+ meutils/apis/images/google/__init__.py,sha256=5tW26Uk5vVcx6Y-toe_ibO6mBRnjroxDyrz8OgRYcFg,270
393
+ meutils/apis/images/google/images.py,sha256=0XybYOg8wDZYMdxdd2Y6xXFkqD9KfBEvSr-LZ4vPSIY,766
390
394
  meutils/apis/images/ideogram/__init__.py,sha256=PXiyXADFKkQPefvI6ktC8hKcz1VL7hN88muYLb_sauk,244
391
395
  meutils/apis/images/ideogram/ideogram_images.py,sha256=39HheAD7dTywr2teS9evEhIF51rOwhb_rzlYCwBQApo,6732
392
396
  meutils/apis/images/prodia/__init__.py,sha256=etFsS-Nm9GW-V1tGVh3yQkQsNcponp1oLdqdLnt5Dls,246
@@ -445,12 +449,13 @@ meutils/apis/runwayml/__init__.py,sha256=90oL_3o8YkFPYm4R4PCxd3m9hgnHpOCLr0u-X4B
445
449
  meutils/apis/runwayml/gen.py,sha256=JrfegC4pI2r7DprDLGMi5px0K1C1pSgopnz0lcJU5RY,5194
446
450
  meutils/apis/search/__init__.py,sha256=1lg0ogEBgtwTi3XvkL5hMfSd14A6YNLO7M9itEJmaYI,244
447
451
  meutils/apis/search/_web_search.py,sha256=h_rj0jKDbP1ZPvMPPHMhAnfVnjmW6I4XqEddrjYeq5U,2842
452
+ meutils/apis/search/ark_web_search.py,sha256=iNmi41UdkgMF3XJ2_4SOfa_z2wZS0Hnx7sZvRTBw-HY,1864
448
453
  meutils/apis/search/baichuan.py,sha256=OUD0TH7KzqSxtuRJgjJPWO8XRQIoUwW5RX7lWMo7BXw,268
449
454
  meutils/apis/search/metaso.py,sha256=DyIzdepjtJja3XUr5gN4x3rL_31JvGYcEngds6Ct_xU,8234
450
455
  meutils/apis/search/metaso_.py,sha256=PqMX3FLYbbAcc9qpqrPZ58LuSF29h0asZO1XMYmXbes,3144
451
456
  meutils/apis/search/n.py,sha256=o7jzNoR5v_nAjgdUvWgebL3nvvo3ECpq2KCj9YhUNr4,4337
452
457
  meutils/apis/search/searxng.py,sha256=RBPeq-AYj5D42gROrZNg0SxIWwWEW0oqrbQ3wEDH9k8,951
453
- meutils/apis/search/web_search.py,sha256=ALTEXG03Cnu8W8JDPZlXh7JXa2mYprdmqMgaggiEcPs,4248
458
+ meutils/apis/search/zhipu_web_search.py,sha256=ldNPc29rB3z2dg0nqamMYe2u-4VZc2jeXq7_P3SLzd0,3680
454
459
  meutils/apis/siliconflow/__init__.py,sha256=DQ-A6wAWGna49pmyGhcIWgc2zx6TN9DfQmSUdAW7qjk,241
455
460
  meutils/apis/siliconflow/audio.py,sha256=pk1OROATtAURPQ6VkswmR5gJFOFYJJPnjp-boDAf8X0,2017
456
461
  meutils/apis/siliconflow/image_to_image.py,sha256=Clk-2hACzoUP0yTHnxhlV5MA_HsVdcPuhrX41YARWPM,89439
@@ -510,7 +515,7 @@ meutils/async_utils/common.py,sha256=bfZkUlQz21WHAh2W7SDxFtrvUYNBnRfVxIUgMmT7o1Q
510
515
  meutils/async_utils/test.py,sha256=lkZdgSzzgVg8hYVcaBNEJ3KBvFTEfjbXZVvtknQZsRQ,1155
511
516
  meutils/caches/__init__.py,sha256=hIUEqNnmhukkbKK2F39bXe-MGDwzeUoTOf_sYly53xo,291
512
517
  meutils/caches/acache.py,sha256=ajuQkQUt4ojGEMUNO0IGpJTZKL3tWK0F4pBZU2uxl6g,3198
513
- meutils/caches/common.py,sha256=FSNRgzOZT1N57ZajSzFxfQRjvN0bLMnN4v1TIj0P5p4,1744
518
+ meutils/caches/common.py,sha256=kq6lOeTydoqG_PgqIWiFNl79igVJtCrbrT7BlNft-RE,1771
514
519
  meutils/caches/redis_cache.py,sha256=oXGk_CZhjp9P_z1TG_zhmma4iGepK-iIWY_ZYQWSkFg,1395
515
520
  meutils/caches/redis_mulit.py,sha256=WQrNmH98S0D9mG5eixqPtrYvOPi62T4w2ZvNETB4eU4,597
516
521
  meutils/clis/__init__.py,sha256=2Fhn43X8kFP6FpAnnAMiPcdnjUwQaukiIr2uGB6mGAY,279
@@ -538,7 +543,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
538
543
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
539
544
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
540
545
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
541
- meutils/data/VERSION,sha256=02E3mPoiMQpB96Dqf0ksn7yw35dzPObsRwWT0D8HtJ4,19
546
+ meutils/data/VERSION,sha256=jqU3ds5H1H63LIAOPrFZdqaSngUi_s8dMqOAssWfMYc,19
542
547
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
543
548
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
544
549
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -588,7 +593,7 @@ meutils/io/_openai_files.py,sha256=UIiu6Zg7iSFIn1xIcpLznFlnfCxAJFGuvuPtxvTNHfI,1
588
593
  meutils/io/files_utils.py,sha256=S2d1eYdAHrxE3fgyAyqEV4hb-iCWEHrYDbPaNbJmmyg,8032
589
594
  meutils/io/image.py,sha256=BJmYzx7o66X7C32gOfVmfr5tBRXOi0IYQY7BpGLsGrg,6926
590
595
  meutils/io/minio_utils.py,sha256=i1YuxwDJzLse0smMXuPqnD1wirBBb8psmB_kd1oPoVU,1274
591
- meutils/io/openai_files.py,sha256=sld1YLsx-jqLkHSx0W9TbPDlXq2txw2ieWi9zxlx58Y,5514
596
+ meutils/io/openai_files.py,sha256=3o6uE44Z9DYKvE5ctxMH4y7FUR3eMKVWkJyKG01R1ZA,5703
592
597
  meutils/io/tf_io.py,sha256=vEZZS4pCf4Dt3A-FtIVMfhC3FJUUpQCK2OoEvXrBWos,8605
593
598
  meutils/io/x.py,sha256=jfDFNgZpCa8cDzrfgTZcxw9cm01l7LyFXUUhamSZo0I,702
594
599
  meutils/io/parsers/__init__.py,sha256=h3fRoVBxA5zFx6f-GD7L4UikOVyo0IDEluXL_dQXf4k,244
@@ -620,24 +625,25 @@ meutils/jwt_utils/__init__.py,sha256=hU1CYBK90Q9QKVrf1s6VFKZwWjHioHa6bO2AuDn7_eo
620
625
  meutils/jwt_utils/common.py,sha256=MlWDLtxiF-WeRl3oyK94KIa6BKFIXVeJtaQUnpa9ayo,814
621
626
  meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
622
627
  meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
623
- meutils/llm/check_utils.py,sha256=OMRrUrPaIVuXODi-3TCaW5C-XFyq8sE0FDiLvCVpvcM,4917
624
- meutils/llm/clients.py,sha256=FcrMz4B9krbcfc_3kerT6DSL34-8JzjbxF8agOht4oA,2526
628
+ meutils/llm/check_utils.py,sha256=2Z1yY72YtdWk8R9Zjledlx1SBmXUffNOY9R-ozAk6LI,4917
629
+ meutils/llm/clients.py,sha256=ksj8Fb5b2Y0dc5rUpzg3aVChPApblsaT5Zx9KWlXA5Q,2412
625
630
  meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
626
631
  meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
627
632
  meutils/llm/utils.py,sha256=4u3b8VO3wX3xKny1AdV4579qXux1YA4k5gI-CYPtx0o,4279
628
633
  meutils/llm/x.py,sha256=ETvKKDTmDNrik0K2-_a_SEQxyV4X4-fy0JPrAOLNPv4,1732
629
634
  meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf-ZTqks,244
630
- meutils/llm/completions/chat_gemini.py,sha256=u72X_SdCNYL5IQ_ZpJjN4sNN9822t0cTnM9iYioGmQc,4307
635
+ meutils/llm/completions/chat_gemini.py,sha256=mhzqDJOc15IVkv5fzCiSH4KAeSYDDkbCu05H2jVvThg,4308
631
636
  meutils/llm/completions/chat_plus.py,sha256=RPYQqx4vc57gevcz0gUS7QPvGm0M12ktAspMKJtoeuk,7727
632
637
  meutils/llm/completions/chat_spark.py,sha256=FoI8wvWBp2ckM1DFayKbUg7jkzF6HCbkJTrEYY6wlgc,9570
633
638
  meutils/llm/completions/chat_videos.py,sha256=P3Yz34dkNlxCxzOuKHJ9pHIA4UXK3Y5RXPzVnQjb9rc,2915
634
639
  meutils/llm/completions/cp.py,sha256=tGf3umHKXDH0KuTfN7BLr8yAvN6MYWLYR5UVaJkJs0c,4172
635
- meutils/llm/completions/deep2x.py,sha256=e2CXIbwBNI9ck4cLMq-9n9YGOmPQahblaA7vZsS97QE,3333
640
+ meutils/llm/completions/deep2x.py,sha256=Fo5cC1jXOFFXOZeRGk9IpCZVCQc8vgOizuYFuPaWujA,3746
636
641
  meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgdSOyLtQY,5131
637
642
  meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
643
+ meutils/llm/completions/google2openai.py,sha256=8B1JCH8QvJwviIUHyUzHwecSP72M9IzqD6h--pEXbNc,2575
638
644
  meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
639
645
  meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
640
- meutils/llm/completions/qwenllm.py,sha256=9fTIqtdS4ahPcNqi61YQspVnV2AZlfNU9wiq65QaMpo,10421
646
+ meutils/llm/completions/qwenllm.py,sha256=ii1oucy2YXhCuLoWSsuZa7cPFRc0fanYdfQsdeZGDpk,10441
641
647
  meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
642
648
  meutils/llm/completions/reasoner.py,sha256=rPIxW1iuvLuGhcOa6PkfcJmrTKtJV-8wRKfA09X09tg,6169
643
649
  meutils/llm/completions/tryblend.py,sha256=NfVRktn1QiE2k60PzEI-LmKuxZCc7mtL_KlsrVcZg4k,8957
@@ -655,7 +661,7 @@ meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cp
655
661
  meutils/llm/completions/rag/rag.py,sha256=mnC4bZUMuNYuPFXMBqXMofj_ms8uP5MMw1leJ5jXA_k,1209
656
662
  meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuRjSGQ,271
657
663
  meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
658
- meutils/llm/openai_utils/common.py,sha256=FxvRTCCdJdb5PNbHpt1fu5JZeuukFW0GSDQokcD33pw,9559
664
+ meutils/llm/openai_utils/common.py,sha256=soZpDEtairIzuzkyX7142Oaw2M8MgNdgpfw9xZc6J3E,9730
659
665
  meutils/llm/openai_utils/tool_outputs.py,sha256=6mNkm4btgy0uzF98gdmcah1bYmoflXdLz2Sqm0KC_LQ,1224
660
666
  meutils/llm/output_parsers/__init__.py,sha256=EGKvgUD47ReyV5Z9RXDCrdDLgfKMHdoayzsXVmBuQxw,3474
661
667
  meutils/llm/prompts/__init__.py,sha256=VlEEViFoUSRS0EF1rHJXHh9Ik9FpvAiR1luKjHOsUc4,8580
@@ -795,7 +801,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
795
801
  meutils/schemas/db/oneapi_types.py,sha256=YanT0q9pU7dva2ZBPWjCpwGNUuifnJh0zUJJCQ9070c,3848
796
802
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
797
803
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
798
- meutils/schemas/oneapi/common.py,sha256=MjIy2-GH-g08Vz14kSq1nU9k3T2JHDneoNpLF9iEGvY,32114
804
+ meutils/schemas/oneapi/common.py,sha256=RU2gzPNjnYVTiV_rQuluVTA_lz2dbsHy9h7q9XR2j8E,32388
799
805
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
800
806
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
801
807
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -924,9 +930,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
924
930
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
925
931
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
926
932
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
927
- MeUtils-2025.3.26.18.50.26.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
928
- MeUtils-2025.3.26.18.50.26.dist-info/METADATA,sha256=ZumPkFItKQhXqJyGjloY63QHyjzGeUvd7Yi-jlugpGM,32834
929
- MeUtils-2025.3.26.18.50.26.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
930
- MeUtils-2025.3.26.18.50.26.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
931
- MeUtils-2025.3.26.18.50.26.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
932
- MeUtils-2025.3.26.18.50.26.dist-info/RECORD,,
933
+ MeUtils-2025.4.1.18.47.48.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
934
+ MeUtils-2025.4.1.18.47.48.dist-info/METADATA,sha256=mKvpuVkcQ8UFkoJVp5p08xsgmJpkmOIJTmeiB-nB0P0,32833
935
+ MeUtils-2025.4.1.18.47.48.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
936
+ MeUtils-2025.4.1.18.47.48.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
937
+ MeUtils-2025.4.1.18.47.48.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
938
+ MeUtils-2025.4.1.18.47.48.dist-info/RECORD,,
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : openai_ark_bots
5
+ # @Time : 2025/4/1 16:52
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
12
+ import os
13
+ from openai import OpenAI
14
+
15
+ # 请确保您已将 API Key 存储在环境变量 ARK_API_KEY 中
16
+ # 初始化Openai客户端,从环境变量中读取您的API Key
17
+ client = OpenAI(
18
+ # 此为默认路径,您可根据业务所在地域进行配置
19
+ base_url="https://ark.cn-beijing.volces.com/api/v3/bots",
20
+ # 从环境变量中获取您的 API Key
21
+ api_key=os.environ.get("ARK_BOTS_API_KEY")
22
+ )
23
+
24
+ # Non-streaming:
25
+ print("----- standard request -----")
26
+ completion = client.chat.completions.create(
27
+ model="bot-20250401164325-s7945", # bot-20250401164325-s7945 为您当前的智能体的ID,注意此处与Chat API存在差异。差异对比详见 SDK使用指南
28
+ messages=[
29
+ {"role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
30
+ {"role": "user", "content": "常见的十字花科植物有哪些?"},
31
+ ],
32
+ )
33
+ print(completion.choices[0].message.content)
34
+ if hasattr(completion, "references"):
35
+ print(completion.references)
36
+
37
+ # Multi-round:
38
+ print("----- multiple rounds request -----")
39
+ completion = client.chat.completions.create(
40
+ model="bot-20250401164325-s7945", # bot-20250401164325-s7945 为您当前的智能体的ID,注意此处与Chat API存在差异。差异对比详见 SDK使用指南
41
+ messages=[ # 通过会话传递历史信息,模型会参考上下文消息
42
+ {"role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
43
+ {"role": "user", "content": "花椰菜是什么?"},
44
+ {"role": "assistant", "content": "花椰菜又称菜花、花菜,是一种常见的蔬菜。"},
45
+ {"role": "user", "content": "再详细点"},
46
+ ],
47
+ )
48
+ print(completion.choices[0].message.content)
49
+ if hasattr(completion, "references"):
50
+ print(completion.references)
51
+
52
+ # Streaming:
53
+ print("----- streaming request -----")
54
+ stream = client.chat.completions.create(
55
+ model="bot-20250401164325-s7945", # bot-20250401164325-s7945 为您当前的智能体的ID,注意此处与Chat API存在差异。差异对比详见 SDK使用指南
56
+ messages=[
57
+ {"role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
58
+ {"role": "user", "content": "常见的十字花科植物有哪些?"},
59
+ ],
60
+ stream=True,
61
+ )
62
+ for chunk in stream:
63
+ if hasattr(chunk, "references"):
64
+ print(chunk.references)
65
+ if not chunk.choices:
66
+ continue
67
+ if chunk.choices[0].delta.content:
68
+ print(chunk.choices[0].delta.content, end="")
69
+ print()
70
+
71
+ print("----- standard request -----")
72
+ completion = client.chat.completions.create(
73
+ max_tokens=1,
74
+ model="bot-20250401164325-s7945", # bot-20250401164325-s7945 为您当前的智能体的ID,注意此处与Chat API存在差异。差异对比详见 SDK使用指南
75
+ messages=[
76
+ {"role": "system", "content": "你是豆包,是由字节跳动开发的 AI 人工智能助手"},
77
+ {"role": "user", "content": "常见的十字花科植物有哪些?"},
78
+ ],
79
+ )
80
+ print(completion.choices[0].message.content)
81
+ if hasattr(completion, "references"):
82
+ print(completion.references)
@@ -12,38 +12,104 @@ import os
12
12
  from meutils.pipe import *
13
13
  from openai import OpenAI
14
14
  from openai import OpenAI, APIStatusError
15
+ from meutils.schemas.openai_types import ChatCompletionRequest
16
+ from meutils.llm.openai_utils import to_openai_completion_params
17
+
15
18
 
16
19
  client = OpenAI(
17
- api_key=os.getenv("GOOGLE_API_KEY"),
20
+ # api_key=os.getenv("GOOGLE_API_KEY"),
21
+ api_key="AIzaSyAQAt73dfL5-v3zaAHtXajZalZxfiumMOU",
18
22
  base_url=os.getenv("GOOGLE_BASE_URL"),
19
23
  )
20
24
 
21
25
  print(client.models.list().model_dump_json(indent=4))
22
- # models/gemini-2.5-pro-exp-03-25
23
- # models/gemini-2.0-flash-exp-image-generation
26
+
27
+ # {
28
+ # "gemini-2.0-pro-exp": "models/gemini-2.0-pro-exp",
29
+ # "gemini-2.0-pro-exp-02-05": "models/gemini-2.0-pro-exp-02-05",
30
+ # "gemini-2.5-pro-exp-03-25": "models/gemini-2.5-pro-exp-03-25",
31
+ # "gemini-2.0-flash-thinking-exp": "models/gemini-2.0-flash-thinking-exp",
32
+ # "gemini-2.0-flash": "models/gemini-2.0-flash"
24
33
  #
25
- try:
26
- completion = client.chat.completions.create(
27
- # model="models/gemini-2.5-pro-exp-03-25",
28
- model="models/gemini-2.0-flash-thinking-exp",
29
- messages=[
30
- {"role": "user", "content": "画条狗"}
34
+ # }
35
+
36
+
37
+ if __name__ == '__main__':
38
+
39
+
40
+ data = {
41
+ "model": "models/gemini-2.0-flash",
42
+ "messages": [
43
+ {
44
+ "role": "user",
45
+ "content": "hi"
46
+ }
31
47
  ],
32
- # top_p=0.7,
33
- top_p=None,
34
- temperature=None,
35
- stream=True,
36
- max_tokens=4000,
37
- extra_body={"A": 1}
38
- )
39
- except APIStatusError as e:
40
- print(e.status_code)
41
-
42
- print(e.response)
43
- print(e.message)
44
- print(e.code)
45
-
46
- for chunk in completion: # 剔除extra body
47
- print(chunk)
48
- if chunk.choices:
49
- print(chunk.choices[0].delta.content)
48
+ "stream": False,
49
+ "stream_options": None,
50
+ "top_p": 0.7,
51
+ "temperature": 0.7,
52
+ "n": 1,
53
+ "max_tokens": 10,
54
+ "stop": None,
55
+ "presence_penalty": 0.0,
56
+ "frequency_penalty": None,
57
+ "user": None,
58
+ "response_format": None,
59
+ "function_call": None,
60
+ "functions": None,
61
+ "tools": None,
62
+ "tool_choice": None,
63
+ "parallel_tool_calls": None,
64
+ "system_messages": [],
65
+ "last_content": "hi",
66
+ "urls": [],
67
+ "system_fingerprint": "🔥"
68
+ }
69
+
70
+ request = ChatCompletionRequest(**data)
71
+
72
+ data = to_openai_completion_params(request)
73
+ if 'gemini' in request.model:
74
+ data.pop("extra_body", None)
75
+
76
+ print(bjson(data))
77
+
78
+ try:
79
+ completion = client.chat.completions.create(**data)
80
+ # completion = client.chat.completions.create(
81
+ # # model="models/gemini-2.5-pro-exp-03-25",
82
+ # model="models/gemini-2.0-flash-thinking-exp",
83
+ # # model="models/gemini-2.0-flash-exp-image-generation",
84
+ # messages=[
85
+ # {"role": "user", "content": "hi"}
86
+ #
87
+ # # {
88
+ # # "role": "user", "content": [
89
+ # # {
90
+ # # "type": "text",
91
+ # # "text": "9.8 9.11哪个大"
92
+ # # }
93
+ # # ]
94
+ # # }
95
+ #
96
+ # ],
97
+ # # top_p=0.7,
98
+ # top_p=None,
99
+ # temperature=None,
100
+ # # stream=True,
101
+ # stream=False,
102
+ #
103
+ # max_tokens=None,
104
+ # )
105
+ except APIStatusError as e:
106
+ print(e.status_code)
107
+
108
+ print(e.response)
109
+ print(e.message)
110
+ print(e.code)
111
+ print(completion)
112
+ for chunk in completion: # 剔除extra body
113
+ print(chunk)
114
+ if chunk.choices:
115
+ print(chunk.choices[0].delta.content)
@@ -16,7 +16,7 @@ from openai import OpenAI, APIStatusError
16
16
 
17
17
  client = OpenAI(
18
18
  # base_url="https://free.chatfire.cn/v1",
19
- api_key="d17beace-2d47-432a-8d2e-89a03237b7d4-4c228b83994398b9",
19
+ api_key="9a867a14-26d1-4950-89ae-dd989dec10b5-b137b199a507d6f5",
20
20
  base_url="https://all.chatfire.cc/kindo/v1"
21
21
 
22
22
  )
@@ -27,11 +27,11 @@ from zhipuai import ZhipuAI
27
27
  generate = zhipuai_sdk_client.assistant.conversation(
28
28
  # assistant_id="65a265419d72d299a9230616",
29
29
  # assistant_id="659d051a5f14eb8ce1235b96",
30
- assistant_id="65d2f07bb2c10188f885bd89",
30
+ # assistant_id="65d2f07bb2c10188f885bd89",
31
31
 
32
- # assistant_id="659e54b1b8006379b4b2abd6",
32
+ assistant_id="659e54b1b8006379b4b2abd6",
33
33
  # conversation_id=None, # 多轮:从messages获取
34
- conversation_id="67dd1317d7c8fe4c9efe459a",
34
+ # conversation_id="67dd1317d7c8fe4c9efe459a",
35
35
  model="glm-4-assistant",
36
36
  messages=[
37
37
  {
@@ -39,10 +39,13 @@ generate = zhipuai_sdk_client.assistant.conversation(
39
39
  "content": [{
40
40
  "type": "text",
41
41
  # "text": "北京未来七天气温,做个折线图",
42
+ # "text": "南京天气",
43
+ "text": "周杰伦",
44
+
42
45
  # "text": "画条狗"
43
46
  # "text": "周杰伦",
44
47
  # "text": "PPT主题:二战各国战地将领传奇",
45
- "text": "生成PPT"
48
+ # "text": "生成PPT"
46
49
 
47
50
  }]
48
51
  }
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : minimax
5
+ # @Time : 2025/4/1 12:14
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
12
+ import requests
13
+ import json
14
+
15
+ url = "https://api.minimax.chat/v1/text2voice"
16
+ api_key = "请输入您的api key"
17
+
18
+ payload = json.dumps({
19
+ "gender": "female",
20
+ "age": "old",
21
+ "voice_desc": [
22
+ "Kind and friendly",
23
+ "Kind and amiable",
24
+ "Kind hearted",
25
+ "Calm tone"
26
+ ],
27
+ "text": "真正的危险不是计算机开始像人一样思考,而是人开始像计算机一样思考"
28
+ })
29
+ headers = {
30
+ 'Content-Type': 'application/json',
31
+ 'Authorization': f'Bearer {api_key}',
32
+ }
33
+
34
+ response = requests.request("POST", url, headers=headers, data=payload)
@@ -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/1 14:11
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : images
5
+ # @Time : 2025/4/1 14:11
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+ import os
11
+
12
+ from meutils.pipe import *
13
+ import base64
14
+ from openai import OpenAI
15
+ from PIL import Image
16
+ from io import BytesIO
17
+
18
+ client = OpenAI(
19
+ api_key=os.getenv("GOOGLE_API_KEY"),
20
+ base_url=os.getenv("GOOGLE_BASE_URL"),
21
+ )
22
+
23
+ response = client.images.generate(
24
+ model="imagen-3.0-generate-002",
25
+ prompt="a portrait of a sheepadoodle wearing a cape",
26
+ response_format='b64_json',
27
+ n=1,
28
+ )
29
+ #
30
+ # for image_data in response.data:
31
+ # image = Image.open(BytesIO(base64.b64decode(image_data.b64_json)))
32
+ # image.show()
@@ -155,11 +155,11 @@ if __name__ == '__main__':
155
155
  **data
156
156
  )
157
157
  # token = None
158
- with timer():
159
- arun(generate(request, token=token))
158
+ # with timer():
159
+ # arun(generate(request, token=token))
160
160
 
161
161
  # tokens = [token]
162
162
  #
163
- # tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
164
- # #
165
- # r = arun(check_token(tokens))
163
+ tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
164
+ #
165
+ r = arun(check_token(tokens))
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : ark
5
+ # @Time : 2025/4/1 16:56
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
12
+ from meutils.caches import rcache
13
+
14
+ from meutils.llm.clients import AsyncClient
15
+ from meutils.llm.openai_utils import to_openai_params
16
+
17
+ from meutils.schemas.openai_types import chat_completion, chat_completion_chunk, CompletionRequest, ChatCompletionChunk
18
+
19
+
20
+ class Completions(object):
21
+
22
+ def __init__(self, api_key: Optional[str] = None):
23
+ self.client = AsyncClient(
24
+ api_key=api_key or os.getenv('ARK_BOTS_API_KEY'),
25
+ base_url="https://ark.cn-beijing.volces.com/api/v3/bots",
26
+ )
27
+
28
+ async def create(self, request: CompletionRequest):
29
+ data = to_openai_params(request)
30
+ return await self.client.chat.completions.create(**data)
31
+
32
+ @rcache(noself=True, ttl=15 * 60)
33
+ async def query(self, q: str):
34
+ request = CompletionRequest(
35
+ model="bot-20250401164325-s7945", # todo
36
+
37
+ messages=[
38
+ {"role": "user", "content": q},
39
+ ],
40
+
41
+ max_tokens=1,
42
+ stream=False,
43
+
44
+ )
45
+ completion = await self.create(request)
46
+ # print(completion.choices[0].message.content)
47
+
48
+ data = {"data": []}
49
+ if hasattr(completion, "references"):
50
+ data['data'] = completion.references
51
+
52
+ return data
53
+
54
+
55
+ if __name__ == '__main__':
56
+ c = Completions(api_key=os.getenv('ARK_BOTS_API_KEY'))
57
+ # s = c.create(CompletionRequest(
58
+ # model="bot-20250401164325-s7945",
59
+ # messages=[
60
+ # {"role": "user", "content": "今天南京天气如何?"},
61
+ # ],
62
+ # stream=True,
63
+ # ))
64
+
65
+ arun(c.query("今天南京天气如何?"))