MeUtils 2025.3.31.19.40.39__py3-none-any.whl → 2025.4.8.18.11.44__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 (41) hide show
  1. {MeUtils-2025.3.31.19.40.39.dist-info → MeUtils-2025.4.8.18.11.44.dist-info}/METADATA +264 -264
  2. {MeUtils-2025.3.31.19.40.39.dist-info → MeUtils-2025.4.8.18.11.44.dist-info}/RECORD +41 -27
  3. examples/_openaisdk/openai_ark_bots.py +64 -0
  4. examples/_openaisdk/openai_audio_gpt.py +67 -0
  5. examples/_openaisdk/openai_google.py +129 -77
  6. examples/_openaisdk/openai_kindo.py +1 -1
  7. examples/_openaisdk/zhipu_/346/231/272/350/203/275/344/275/223.py +5 -2
  8. meutils/ai_audio/tts/minimax.py +34 -0
  9. meutils/apis/google_apis/__init__.py +11 -0
  10. meutils/apis/google_apis/audios.py +115 -0
  11. meutils/apis/google_apis/common.py +251 -0
  12. meutils/apis/google_apis/files.py +19 -0
  13. meutils/apis/google_apis/gemini_sdk.py +170 -0
  14. meutils/apis/google_apis/google2openai.py +89 -0
  15. meutils/apis/google_apis/images.py +11 -0
  16. meutils/apis/google_apis/search.py +46 -0
  17. meutils/apis/hailuoai/videos.py +1 -1
  18. meutils/apis/images/google/__init__.py +11 -0
  19. meutils/apis/images/google/images.py +32 -0
  20. meutils/apis/jimeng/images.py +2 -1
  21. meutils/apis/search/ark_web_search.py +69 -0
  22. meutils/apis/search/{web_search.py → zhipu_web_search.py} +21 -30
  23. meutils/apis/textin_apis/common.py +1 -1
  24. meutils/apis/tripo3d/images.py +1 -1
  25. meutils/caches/common.py +4 -2
  26. meutils/data/VERSION +1 -1
  27. meutils/io/files_utils.py +27 -22
  28. meutils/llm/clients.py +6 -5
  29. meutils/llm/completions/assistants/ppt.py +17 -13
  30. meutils/llm/completions/chat_gemini.py +1 -1
  31. meutils/llm/completions/qwenllm.py +8 -2
  32. meutils/llm/openai_utils/common.py +5 -0
  33. meutils/oss/minio_oss.py +38 -8
  34. meutils/oss/minio_utils.py +2 -2
  35. meutils/schemas/oneapi/common.py +23 -6
  36. meutils/schemas/openai_types.py +70 -40
  37. meutils/str_utils/regular_expression.py +6 -3
  38. {MeUtils-2025.3.31.19.40.39.dist-info → MeUtils-2025.4.8.18.11.44.dist-info}/LICENSE +0 -0
  39. {MeUtils-2025.3.31.19.40.39.dist-info → MeUtils-2025.4.8.18.11.44.dist-info}/WHEEL +0 -0
  40. {MeUtils-2025.3.31.19.40.39.dist-info → MeUtils-2025.4.8.18.11.44.dist-info}/entry_points.txt +0 -0
  41. {MeUtils-2025.3.31.19.40.39.dist-info → MeUtils-2025.4.8.18.11.44.dist-info}/top_level.txt +0 -0
@@ -92,7 +92,9 @@ 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=VQ22I0IaH2HnXQ5u94FehO7AmZH1re2jaSnWotcedAk,2264
95
96
  examples/_openaisdk/openai_audio.py,sha256=KVJOmPdwD5_6Aa5nttRQLSa824-JKGGyuIyHh2IOl8E,1181
97
+ examples/_openaisdk/openai_audio_gpt.py,sha256=7I8Iq1vNnBrxIZ5vfo40oO9zKrrUZbyHLBZfjamhkWU,1887
96
98
  examples/_openaisdk/openai_baichuan.py,sha256=-xhHovkFmWOTX25CJjIon0my-ocmwfAZJu1C0eS80Xs,1614
97
99
  examples/_openaisdk/openai_baidu.py,sha256=qnrxP66lY7Qf2jEbFEHrt0FrR5_Aji1AgwSI_46IabY,1969
98
100
  examples/_openaisdk/openai_cache.py,sha256=89GbJ1QlqQbVxlUeuFgEbwDYHOkum7BK0zB-CqmDAZU,726
@@ -107,12 +109,12 @@ examples/_openaisdk/openai_ep.py,sha256=cAaeyC8Lstk1MB36c4h7X9n7EnEnY7rr2Tugo_di
107
109
  examples/_openaisdk/openai_files.py,sha256=zcF4k4sQ2FnINhq6x1wCKw1WCu93g1h69Yul_rLdakE,2058
108
110
  examples/_openaisdk/openai_gitee.py,sha256=UQEJMQMQDhgqYzo_aYetYXnBmVtqRwIweJDDK3NlSMw,1205
109
111
  examples/_openaisdk/openai_god.py,sha256=O8fbhyxiIlVR7pTvBTXgQ2QTwfcZ2MkEIyDe_jp797A,1056
110
- examples/_openaisdk/openai_google.py,sha256=YAIwIy6huoPAzzCUlPbFhaHpy2HsOeeoXvisxPkUd7g,3129
112
+ examples/_openaisdk/openai_google.py,sha256=AdfMSa7MyBKH_c42eTgWyiDlAxlxwKcLQI3yg9o9G-M,4829
111
113
  examples/_openaisdk/openai_groq.py,sha256=_5Ue1yEx0Gp6theFioB_D8kepR0UlqMU96PVGH-LkVY,7363
112
114
  examples/_openaisdk/openai_images.py,sha256=_ceVlEhg8sSpsBqyMpaURqnBNdmQt-L7-UDb1N0IHmk,5980
113
115
  examples/_openaisdk/openai_jina.py,sha256=QeGRXMQmkJyg8Cz4Vfx4pP39a5TcO7pQQfPAPbBA8bs,1628
114
116
  examples/_openaisdk/openai_json.py,sha256=M4tq_IkzYbmtgbFilGQHmRdJhH0OltiwGk7cK7uc-sQ,1850
115
- examples/_openaisdk/openai_kindo.py,sha256=dRQd8BOUDlWo4xp2l1s3BeP7qv19i7CUjx14NRv1fxM,741
117
+ examples/_openaisdk/openai_kindo.py,sha256=8dsetXZexJCLboDp3uyxK7z50iDEiQFkA5-hkJTLO4E,741
116
118
  examples/_openaisdk/openai_lingyi.py,sha256=l2GcNxhwfLv7MfMF-cdRWGGvX-dRaZyb8IRlXLPACMw,1834
117
119
  examples/_openaisdk/openai_luchentech.py,sha256=Jy0JxpL1u3pXcmslViPvrbwSysVBV-Dz8wSKqv6QtxY,1960
118
120
  examples/_openaisdk/openai_modelscope.py,sha256=C7QG1KCK7-F0Hm-MlvMJ5FQoJg9-LGGagXUJf_Nkhng,1446
@@ -139,7 +141,7 @@ examples/_openaisdk/testDeepseek.py,sha256=TH_Lu0-oi2uqlEtXJ-VbPjdm1XkkF3vEFH3TC
139
141
  examples/_openaisdk/x.py,sha256=IdhHsmyd-uZx5UohfWa_g467kZeR1Pkec42z3bW-3Iw,4752
140
142
  examples/_openaisdk/xx.py,sha256=DvU98YbhmFJZ3xWqK4NOAafNqOJLu2ehQycCRLEXVUg,645
141
143
  examples/_openaisdk/zhipu_files.py,sha256=HLvlM9CDcmNER5w-MBMLQPZVPJjR2UHRXYA3ru2cT2Q,1057
142
- examples/_openaisdk/zhipu_智能体.py,sha256=KWsjkRy1lrvh1qOVGzHUqkQURFphTxP60gdZHnTFimU,3419
144
+ examples/_openaisdk/zhipu_智能体.py,sha256=hdC2cq6B37jTLCeefgGs6jQrOnNf56TnIXi18YeWCRQ,3546
143
145
  examples/_openaisdk/兜底测试.py,sha256=7vIOZDj-iB5dJjfJtHe_A-3D7ZUmOSiryI7ciIp0EzE,2878
144
146
  examples/_openaisdk/多模态测试.py,sha256=XNHvC9Qbw3tUZ_i8shyEx3a6T3FFDsTyIIkm3rO0R38,2559
145
147
  examples/_openaisdk/多模态测试_.py,sha256=7mh9dnpSApqmrriQ9-q4jY8uHfplsrjyGSXb8b-Zt9o,1276
@@ -279,6 +281,7 @@ meutils/ai_audio/asr/openai_asr.py,sha256=l7v71z8tJq2ymdmWovFxavFmm4OTrEUqVdcnZL
279
281
  meutils/ai_audio/asr/xunfei_asr.py,sha256=XctZCjxu6sQd05biMTOfL9y3TA15kLYIc9mwIZ27RQo,7251
280
282
  meutils/ai_audio/tts/EdgeTTS.py,sha256=5pO0soW-bYwKmwX87Je_lYGr-XQFeoW4LKMPo_MGfGc,5919
281
283
  meutils/ai_audio/tts/__init__.py,sha256=2i3eHZ-f3xG8HsgFcb7V7-b6gb6jKQOZNzr_2WnvCpQ,405
284
+ meutils/ai_audio/tts/minimax.py,sha256=Hy9AWaUSb0cMQnLeNzqe2oBaMJh0c_l-GP92SBwnQ9o,854
282
285
  meutils/ai_audio/tts/openai_tts.py,sha256=uOfwvY9-wkYj0kTvER7WVkhiPCAbSuYIIbSzSmmmIak,2177
283
286
  meutils/ai_audio/tts/tts_ui.py,sha256=cj3WGTnBN67gT00vT4ftTwZroJifAJRVJuE4WNzbo_4,4638
284
287
  meutils/ai_cv/__init__.py,sha256=0CoI0WlNwB0yFHkYqp5waF767WSZZsfOVxjlmtlCGT0,244
@@ -360,12 +363,20 @@ meutils/apis/gitee/__init__.py,sha256=rmAktsUvEtk7_F28P5C65wuu00nmrbu5bOw6PiCRTS
360
363
  meutils/apis/gitee/色情图片识别.py,sha256=liCftD7sL6Fw4Aq6r1PY-qxsxm5XkgVdDvlDR39lrEU,757
361
364
  meutils/apis/gitee/images/__init__.py,sha256=zvS8e0ogQLqajZTAype1e0TDLJenlfbRQ16FjSYpxbY,243
362
365
  meutils/apis/gitee/images/kolors.py,sha256=IGpDtMiOOPgbE8ZOXFP9-Hh_XNCDkuvNYjKQbXq8Nik,3338
366
+ meutils/apis/google_apis/__init__.py,sha256=QLJ2jaThVE5eX9IbXQD2M44DMMflRNuw9v5uWhYoHxw,299
367
+ meutils/apis/google_apis/audios.py,sha256=7OjpSpEceJ81gJwz3Sv_9JcI1Eze1A1hoQs-o5GrCzA,3256
368
+ meutils/apis/google_apis/common.py,sha256=P8AIKgdMS0bAjrCTGHQGBOhjF7lDu5KDqKU8op_HGss,8853
369
+ meutils/apis/google_apis/files.py,sha256=MSYDVzqVSYxWZ9o4kPGHYL9F1tWRFT8eH0iq_YxdJT4,444
370
+ meutils/apis/google_apis/gemini_sdk.py,sha256=6OWv1PU0oNVscqwCcJsF8DTPjegyXkR4OgPBNMilw4k,5088
371
+ meutils/apis/google_apis/google2openai.py,sha256=sJmGJQaNh5u3IAFPoP_BeWe8CLubp0bGRetFX0Ydqm0,2947
372
+ meutils/apis/google_apis/images.py,sha256=L5Ax1Y4K-K3py7J-KttDRWha0g5AeJqry78t_2BjeqA,267
373
+ meutils/apis/google_apis/search.py,sha256=_uOFT61VewyRSRPxXT50b8rWeA9jFg7rjNEcGKFPkNs,1240
363
374
  meutils/apis/hailuoai/__init__.py,sha256=2g9okuB6pxPh1hDiAE9HZo37baqIO9cX-67RpyfBj1k,272
364
375
  meutils/apis/hailuoai/demo.py,sha256=WTnDFL2HgVpAjcn5BljLrbf2y2aATkvvNy75zoEIQkc,1483
365
376
  meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-xYIO8,9101
366
377
  meutils/apis/hailuoai/music.py,sha256=S_oi-ZDbocTfbRgREdXtGx50xzUc1PCZGuxmr917E7M,265
367
378
  meutils/apis/hailuoai/upload.py,sha256=22S6W6hGQhUquVKqh7QCkXb6KHDl3iMKKi6Z0AJdFEI,6501
368
- meutils/apis/hailuoai/videos.py,sha256=98JGBHSh1eL3tTzOIKdCRC4_oHQW74By2S8kGn3QPdY,21195
379
+ meutils/apis/hailuoai/videos.py,sha256=IVDbH6IB8e_TT_8Lk_wPwl8M8lqEnQYxr5TsHmXCBRI,21197
369
380
  meutils/apis/hailuoai/yy.py,sha256=du4CmLx5ebAI5FXe8NzQsmwpdA1_Kdxm7hgo5k9Zf-A,9016
370
381
  meutils/apis/hf/__init__.py,sha256=ZZoRl8yNYekoMhE__67XXBKNSYJaLgjtaa0netjJKUU,271
371
382
  meutils/apis/hf/got_ocr.py,sha256=pZURFpryDh_Ak6PNiARztOzYgkjVrfScJ5-0XzMBrzI,1776
@@ -387,6 +398,8 @@ meutils/apis/images/recraft.py,sha256=WHvnzw_qBBBR89KaZsOEHnnukhHlsEa8b5xGJdIeyG
387
398
  meutils/apis/images/flux/__init__.py,sha256=W_PZabQm6EmtJYmzEiEpL_WCXTAW0AiJ-t_n5UTrE8c,271
388
399
  meutils/apis/images/flux/fluxpro.py,sha256=NFl9t9C3R3jsNJpez4o9tOz3r-fjRXj-vKMxCSTRDTU,4022
389
400
  meutils/apis/images/flux/mystic.py,sha256=cUkqaMAbd3dSBCvFEoNBBoEoWCGzvBJWPEkEq1Q8xzw,3616
401
+ meutils/apis/images/google/__init__.py,sha256=5tW26Uk5vVcx6Y-toe_ibO6mBRnjroxDyrz8OgRYcFg,270
402
+ meutils/apis/images/google/images.py,sha256=0XybYOg8wDZYMdxdd2Y6xXFkqD9KfBEvSr-LZ4vPSIY,766
390
403
  meutils/apis/images/ideogram/__init__.py,sha256=PXiyXADFKkQPefvI6ktC8hKcz1VL7hN88muYLb_sauk,244
391
404
  meutils/apis/images/ideogram/ideogram_images.py,sha256=39HheAD7dTywr2teS9evEhIF51rOwhb_rzlYCwBQApo,6732
392
405
  meutils/apis/images/prodia/__init__.py,sha256=etFsS-Nm9GW-V1tGVh3yQkQsNcponp1oLdqdLnt5Dls,246
@@ -401,7 +414,7 @@ meutils/apis/jimeng/common.py,sha256=Dr6BmCT9uRw89jgIwECe7dKNZpJIGUBJXzRzK-1b-hw
401
414
  meutils/apis/jimeng/doubao.py,sha256=5OdnBpmZQOCLIb6lnN8YrL7J7E0XF47q0UF-z6asSuI,4295
402
415
  meutils/apis/jimeng/doubao_utils.py,sha256=XCHnvwfCOtJmPQuzDOCfKDMP_Pcqh-Y4w2h5f7Y2gzM,5999
403
416
  meutils/apis/jimeng/files.py,sha256=E-pPmi6fIP_n6wgfiDbqeWsIfrXVZUe7LpA6Wds1xDI,11047
404
- meutils/apis/jimeng/images.py,sha256=m0b9sFxWtSJPbLOFg9B8ECV17cMcCgHs9m5SCySeYNE,13259
417
+ meutils/apis/jimeng/images.py,sha256=s4CDUlBNZJ7dTfEtAAHuH5UPY07PRMoFU5AYLGvA3Mc,13326
405
418
  meutils/apis/jimeng/videos.py,sha256=x-PDOYNBN-yTmNvMbyDbwm_E2LXZ6A4hcVzEahV_Hvc,10813
406
419
  meutils/apis/jina/__init__.py,sha256=WnZ4LOv-bzC1brd5FZHOHmgq4c0UaFbnksEj2_LzXxQ,292
407
420
  meutils/apis/jina/common.py,sha256=dwSJboUcZtvBTKRcvAUcgMD933VfYCUBDdtxbw1ioiE,1099
@@ -445,12 +458,13 @@ meutils/apis/runwayml/__init__.py,sha256=90oL_3o8YkFPYm4R4PCxd3m9hgnHpOCLr0u-X4B
445
458
  meutils/apis/runwayml/gen.py,sha256=JrfegC4pI2r7DprDLGMi5px0K1C1pSgopnz0lcJU5RY,5194
446
459
  meutils/apis/search/__init__.py,sha256=1lg0ogEBgtwTi3XvkL5hMfSd14A6YNLO7M9itEJmaYI,244
447
460
  meutils/apis/search/_web_search.py,sha256=h_rj0jKDbP1ZPvMPPHMhAnfVnjmW6I4XqEddrjYeq5U,2842
461
+ meutils/apis/search/ark_web_search.py,sha256=i6lrw-AinuH22Gds89TTmrvfJKYMFzBAOc-_1uEAPZI,2013
448
462
  meutils/apis/search/baichuan.py,sha256=OUD0TH7KzqSxtuRJgjJPWO8XRQIoUwW5RX7lWMo7BXw,268
449
463
  meutils/apis/search/metaso.py,sha256=DyIzdepjtJja3XUr5gN4x3rL_31JvGYcEngds6Ct_xU,8234
450
464
  meutils/apis/search/metaso_.py,sha256=PqMX3FLYbbAcc9qpqrPZ58LuSF29h0asZO1XMYmXbes,3144
451
465
  meutils/apis/search/n.py,sha256=o7jzNoR5v_nAjgdUvWgebL3nvvo3ECpq2KCj9YhUNr4,4337
452
466
  meutils/apis/search/searxng.py,sha256=RBPeq-AYj5D42gROrZNg0SxIWwWEW0oqrbQ3wEDH9k8,951
453
- meutils/apis/search/web_search.py,sha256=ALTEXG03Cnu8W8JDPZlXh7JXa2mYprdmqMgaggiEcPs,4248
467
+ meutils/apis/search/zhipu_web_search.py,sha256=L0eV9pINynX7PgAw0fR419DYvak9jbbGfwf-8zTpeM8,3755
454
468
  meutils/apis/siliconflow/__init__.py,sha256=DQ-A6wAWGna49pmyGhcIWgc2zx6TN9DfQmSUdAW7qjk,241
455
469
  meutils/apis/siliconflow/audio.py,sha256=pk1OROATtAURPQ6VkswmR5gJFOFYJJPnjp-boDAf8X0,2017
456
470
  meutils/apis/siliconflow/image_to_image.py,sha256=Clk-2hACzoUP0yTHnxhlV5MA_HsVdcPuhrX41YARWPM,89439
@@ -467,7 +481,7 @@ meutils/apis/textcard/__init__.py,sha256=akc6silym0NIl0vX7uF8vhHQnt5RhSx50MFw-2o
467
481
  meutils/apis/textcard/demo.py,sha256=-kfVmAjWsbEyUn2a4MljATPtJurrPKKDG3nrZhIhYS0,552
468
482
  meutils/apis/textcard/hanyuxinjie.py,sha256=4-VP7ZfEPPVonqisJO-PkzcJwQFQtNYAA_tz1BE7kqA,2044
469
483
  meutils/apis/textin_apis/__init__.py,sha256=jtxgw3_tTRZCTMbYWP9QMoUo_sgtmWyo9PWC1tHxlKU,297
470
- meutils/apis/textin_apis/common.py,sha256=63uG2AtiDxqz5SpLAt1LpCAA1TRs6LyHjlRqfrwLjHw,2145
484
+ meutils/apis/textin_apis/common.py,sha256=qDXV5Pm_q7iDi6WANgyvKv4Q1CdDbqLu3g4JYj7WmfE,2146
471
485
  meutils/apis/textin_apis/utils.py,sha256=sq-qYbuNWJxUGlYPrrcY3xc1gs5jGp0bdbFaHNv3KPY,1065
472
486
  meutils/apis/textin_apis/watermark_remove.py,sha256=VRMi_GQUfZon4X-ehme_3HfSyNj9Qp3TBuF5pO6Gto8,1966
473
487
  meutils/apis/to_image/__init__.py,sha256=-QJwCKB2KsSHAbNhYwv8DKe-gdZoILnufC7SDFdiwIo,271
@@ -479,7 +493,7 @@ meutils/apis/together/images.py,sha256=rlVb7SyWf4cFQxukgq0Pw6QiF_6DHzCDvyfRzWybf
479
493
  meutils/apis/translator/__init__.py,sha256=8JZFyy1SojQiQpON8GC06OyY-i0coNqkCrKQLzgDAR8,243
480
494
  meutils/apis/translator/deeplx.py,sha256=jBC_-P_eLhWHp6yK4bURf6bxXv00QowddLQlOMFEPw0,1620
481
495
  meutils/apis/tripo3d/__init__.py,sha256=KkEX1hWjdWSfwbw_iNuon2G9U1LbKKlKWsKbnyWYO5I,272
482
- meutils/apis/tripo3d/images.py,sha256=vb0Y3d6Zcp_NUrwC__cchoqulnDXKHzfOKQkZ3jrowU,4933
496
+ meutils/apis/tripo3d/images.py,sha256=xThp3AXVBc6Qb7pcyqCsQWx-4gwTp9YkEA0GzFAv3yE,4943
483
497
  meutils/apis/uptime_kuma/__init__.py,sha256=w_fYxFgQDOXOfCPe0JMsgSl6zrGuYx9w4thySfAsbAE,272
484
498
  meutils/apis/uptime_kuma/common.py,sha256=ZJFSEeoxD_Eb5eFL9K2xxajVJgTnTwgm7rm4fc0nv1I,1597
485
499
  meutils/apis/uptime_kuma/国产分组.py,sha256=OIiUUFfjWEEJHg5fr8Vf5xSBWkbXboQ4f3jUiaTtQSI,1681
@@ -510,7 +524,7 @@ meutils/async_utils/common.py,sha256=bfZkUlQz21WHAh2W7SDxFtrvUYNBnRfVxIUgMmT7o1Q
510
524
  meutils/async_utils/test.py,sha256=lkZdgSzzgVg8hYVcaBNEJ3KBvFTEfjbXZVvtknQZsRQ,1155
511
525
  meutils/caches/__init__.py,sha256=hIUEqNnmhukkbKK2F39bXe-MGDwzeUoTOf_sYly53xo,291
512
526
  meutils/caches/acache.py,sha256=ajuQkQUt4ojGEMUNO0IGpJTZKL3tWK0F4pBZU2uxl6g,3198
513
- meutils/caches/common.py,sha256=FSNRgzOZT1N57ZajSzFxfQRjvN0bLMnN4v1TIj0P5p4,1744
527
+ meutils/caches/common.py,sha256=8C6KiHYAeRVguQxOh2ocNCxq9BxuemLOHSEL_xTAtOM,1774
514
528
  meutils/caches/redis_cache.py,sha256=oXGk_CZhjp9P_z1TG_zhmma4iGepK-iIWY_ZYQWSkFg,1395
515
529
  meutils/caches/redis_mulit.py,sha256=WQrNmH98S0D9mG5eixqPtrYvOPi62T4w2ZvNETB4eU4,597
516
530
  meutils/clis/__init__.py,sha256=2Fhn43X8kFP6FpAnnAMiPcdnjUwQaukiIr2uGB6mGAY,279
@@ -538,7 +552,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
538
552
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
539
553
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
540
554
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
541
- meutils/data/VERSION,sha256=3HFjcC3wTVaH9uu-sYM5MmOOteKI5fB4BvvJN1tWGHE,19
555
+ meutils/data/VERSION,sha256=foo3lmO5ZWfCs0Fksy4k2d-yaYwI4GcVWyvA9JaY8Js,19
542
556
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
543
557
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
544
558
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -585,7 +599,7 @@ meutils/init/evn.py,sha256=GPw9Un8YbgYJmjwd-uYWQ8JeVr6pRxwyYbDv3W8fb1s,1588
585
599
  meutils/init/oo.py,sha256=jXWaCWWFYVPGgTIas47Z3J7sIq-CD7DyK6fKDBsq8GA,12884
586
600
  meutils/io/__init__.py,sha256=uW43ZfdWu7adRvwvcTzUGtn4CseRmbzEJdlZV-oqHEA,2107
587
601
  meutils/io/_openai_files.py,sha256=UIiu6Zg7iSFIn1xIcpLznFlnfCxAJFGuvuPtxvTNHfI,1005
588
- meutils/io/files_utils.py,sha256=S2d1eYdAHrxE3fgyAyqEV4hb-iCWEHrYDbPaNbJmmyg,8032
602
+ meutils/io/files_utils.py,sha256=NCyoxx2hQQAwKYC5fX-5NBXso8wrcg3TMDUMhMjhgoE,8307
589
603
  meutils/io/image.py,sha256=BJmYzx7o66X7C32gOfVmfr5tBRXOi0IYQY7BpGLsGrg,6926
590
604
  meutils/io/minio_utils.py,sha256=i1YuxwDJzLse0smMXuPqnD1wirBBb8psmB_kd1oPoVU,1274
591
605
  meutils/io/openai_files.py,sha256=3o6uE44Z9DYKvE5ctxMH4y7FUR3eMKVWkJyKG01R1ZA,5703
@@ -621,13 +635,13 @@ meutils/jwt_utils/common.py,sha256=MlWDLtxiF-WeRl3oyK94KIa6BKFIXVeJtaQUnpa9ayo,8
621
635
  meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
622
636
  meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
623
637
  meutils/llm/check_utils.py,sha256=2Z1yY72YtdWk8R9Zjledlx1SBmXUffNOY9R-ozAk6LI,4917
624
- meutils/llm/clients.py,sha256=1lH1Dc4-GTYXnYrz70XoueSAcMJWVoDH4Y3K04Vb_WI,2271
638
+ meutils/llm/clients.py,sha256=ksj8Fb5b2Y0dc5rUpzg3aVChPApblsaT5Zx9KWlXA5Q,2412
625
639
  meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
626
640
  meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
627
641
  meutils/llm/utils.py,sha256=4u3b8VO3wX3xKny1AdV4579qXux1YA4k5gI-CYPtx0o,4279
628
642
  meutils/llm/x.py,sha256=ETvKKDTmDNrik0K2-_a_SEQxyV4X4-fy0JPrAOLNPv4,1732
629
643
  meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf-ZTqks,244
630
- meutils/llm/completions/chat_gemini.py,sha256=u72X_SdCNYL5IQ_ZpJjN4sNN9822t0cTnM9iYioGmQc,4307
644
+ meutils/llm/completions/chat_gemini.py,sha256=mhzqDJOc15IVkv5fzCiSH4KAeSYDDkbCu05H2jVvThg,4308
631
645
  meutils/llm/completions/chat_plus.py,sha256=RPYQqx4vc57gevcz0gUS7QPvGm0M12ktAspMKJtoeuk,7727
632
646
  meutils/llm/completions/chat_spark.py,sha256=FoI8wvWBp2ckM1DFayKbUg7jkzF6HCbkJTrEYY6wlgc,9570
633
647
  meutils/llm/completions/chat_videos.py,sha256=P3Yz34dkNlxCxzOuKHJ9pHIA4UXK3Y5RXPzVnQjb9rc,2915
@@ -637,7 +651,7 @@ meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgd
637
651
  meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
638
652
  meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
639
653
  meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
640
- meutils/llm/completions/qwenllm.py,sha256=ii1oucy2YXhCuLoWSsuZa7cPFRc0fanYdfQsdeZGDpk,10441
654
+ meutils/llm/completions/qwenllm.py,sha256=qt3GpyVAhWEmQY8lwqLtFINRqtErbZy5fn2siRxqDck,10577
641
655
  meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
642
656
  meutils/llm/completions/reasoner.py,sha256=rPIxW1iuvLuGhcOa6PkfcJmrTKtJV-8wRKfA09X09tg,6169
643
657
  meutils/llm/completions/tryblend.py,sha256=NfVRktn1QiE2k60PzEI-LmKuxZCc7mtL_KlsrVcZg4k,8957
@@ -648,14 +662,14 @@ meutils/llm/completions/yuanbao.py,sha256=8jU0_KRLqaUb3xXabIclSo3-z0f0qSJ1Gx3_Lo
648
662
  meutils/llm/completions/agents/__init__.py,sha256=Wklnf7FTHm43hyVwfT8FXX44nqdOTykPb_HORIqDuuw,270
649
663
  meutils/llm/completions/agents/search.py,sha256=GKsk0NRy6jsbSu8E9mdBWObJzroGE-L7Iuo5W2MK_u0,5057
650
664
  meutils/llm/completions/assistants/__init__.py,sha256=1QWMIG5dA2wH7550ZdNpW00NPU9q8C-eXybjTsm1aSU,271
651
- meutils/llm/completions/assistants/ppt.py,sha256=3RvgXB0k35TPgW1I3wMNTRzWwIKg9fbTuLeOGkoijPk,2837
665
+ meutils/llm/completions/assistants/ppt.py,sha256=j3Wh6yBOMhjnh1WVF6tfs4WR9h25i8WVh75vVDfNpdk,3006
652
666
  meutils/llm/completions/rag/__init__.py,sha256=VH4g9H0pqMM1Rkjc1xefQb4Uh8f9vlTt6tjdD6G6Wc0,272
653
667
  meutils/llm/completions/rag/fire.py,sha256=0a_POkY9mEy1YwZHXOGnqf9EVyjiJwx3fWhmv_bQ54U,5743
654
668
  meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cpxu6TBg,265
655
669
  meutils/llm/completions/rag/rag.py,sha256=mnC4bZUMuNYuPFXMBqXMofj_ms8uP5MMw1leJ5jXA_k,1209
656
670
  meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuRjSGQ,271
657
671
  meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
658
- meutils/llm/openai_utils/common.py,sha256=FxvRTCCdJdb5PNbHpt1fu5JZeuukFW0GSDQokcD33pw,9559
672
+ meutils/llm/openai_utils/common.py,sha256=soZpDEtairIzuzkyX7142Oaw2M8MgNdgpfw9xZc6J3E,9730
659
673
  meutils/llm/openai_utils/tool_outputs.py,sha256=6mNkm4btgy0uzF98gdmcah1bYmoflXdLz2Sqm0KC_LQ,1224
660
674
  meutils/llm/output_parsers/__init__.py,sha256=EGKvgUD47ReyV5Z9RXDCrdDLgfKMHdoayzsXVmBuQxw,3474
661
675
  meutils/llm/prompts/__init__.py,sha256=VlEEViFoUSRS0EF1rHJXHh9Ik9FpvAiR1luKjHOsUc4,8580
@@ -682,8 +696,8 @@ meutils/office_automation/pdm.py,sha256=AFKdLd80v0XJThs6toigSdzaW1xT02VdqbDtUWBx
682
696
  meutils/office_automation/pdm_run.py,sha256=GF4VlAXDFQ6oGTrWsLqF4YvrbINhL9Ei8A59cYDeriE,13502
683
697
  meutils/office_automation/report/__init__.py,sha256=llPWtGZdUcsw__Eym2FLOVh4Bew5PgPUDfuKS2s1RMA,244
684
698
  meutils/oss/__init__.py,sha256=CdZLxZtw_3aWFrajRu2D_PhVRvnwgtFyvbY4yAbTGuo,248
685
- meutils/oss/minio_oss.py,sha256=CqDbQzSp9zaQp_AAyRswof8_q9rybweZAPRlX53T-lg,6438
686
- meutils/oss/minio_utils.py,sha256=e0Vg7i4ncgB6PAs1rJt209jHWzrufkout_PUmb8UWlM,1298
699
+ meutils/oss/minio_oss.py,sha256=pZ_YAD0gwIQtuou2Myhn1m8TcP3tn6UkNEUrbh5Eiwg,7313
700
+ meutils/oss/minio_utils.py,sha256=qQgG0x_M6wJMTJRm0zHPN-7Zm9OhOY53QWr38lHeYtQ,1301
687
701
  meutils/other/__demo.py,sha256=-cAInEF7G_JbOp3v8UHHwQpSrzPk0zqz4XoFnJ81Ixs,979
688
702
  meutils/other/__init__.py,sha256=WeAEUi1oZQ8gce3fimapeoCF8Wx-5P_SdDL76K7AE3k,242
689
703
  meutils/other/besttable.py,sha256=kdN7tyWQjBMlToB2db5pxpxdcetadXQTNOD1IicxvjQ,23121
@@ -772,7 +786,7 @@ meutils/schemas/metaso_types.py,sha256=r_X0Exs_2S3rNS71RneemMpz7EvBIOLBfAMmWMQRn
772
786
  meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
773
787
  meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
774
788
  meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
775
- meutils/schemas/openai_types.py,sha256=v9Vk66A7Efco3_-yQimo1gSUecwjxD6Yr5zE09nCx8U,21383
789
+ meutils/schemas/openai_types.py,sha256=K-D_QOOl5rxRJ1bIsZdxIoCEzbZ1cgpmaLQ9ZRE9rr0,22183
776
790
  meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX0Xmw,2347
777
791
  meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
778
792
  meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
@@ -795,7 +809,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
795
809
  meutils/schemas/db/oneapi_types.py,sha256=YanT0q9pU7dva2ZBPWjCpwGNUuifnJh0zUJJCQ9070c,3848
796
810
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
797
811
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
798
- meutils/schemas/oneapi/common.py,sha256=RU2gzPNjnYVTiV_rQuluVTA_lz2dbsHy9h7q9XR2j8E,32388
812
+ meutils/schemas/oneapi/common.py,sha256=g7v7b2_Tt1drB3dd11y9Vqd5mD3YtvwA1o-H_l4dw10,32904
799
813
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
800
814
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
801
815
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -850,7 +864,7 @@ meutils/settings/demo.py,sha256=Ht3t6LREQsKa5W2owNrOZNAoZfS-zItIFNwGhhPj-4k,484
850
864
  meutils/str_utils/Translator.py,sha256=tfvNQIeVCqmX9yW6jobeibDHG6X-XecSSAx9kJIFFyw,1258
851
865
  meutils/str_utils/__init__.py,sha256=BzTEbffNPWoJxEgjaRyGIWBxb9FxxlNesOUb7anJRGw,7215
852
866
  meutils/str_utils/json_utils.py,sha256=OXilMxLDtoFq5DAo3mHrIGx3GTOqHARgkcq8-gVYELM,1913
853
- meutils/str_utils/regular_expression.py,sha256=yDinNxZTicBdm8lcOlco3OsSkf4mDSKKDBMlCtjO0eo,5163
867
+ meutils/str_utils/regular_expression.py,sha256=rKW5gae32sWyAia6N7h6M8kBNc3s_oAtSVUFMF6TxpQ,5315
854
868
  meutils/str_utils/__translater/__init__.py,sha256=mtDbKL_Qdkeq5VPVO1M4ejf9H8PzKM5h7iepqkBG8N0,277
855
869
  meutils/str_utils/__translater/tencent.py,sha256=1E_56l6-A49Yuz2ZrMKxt-QJfcf0xDYN2X0dg58Dytk,1408
856
870
  meutils/str_utils/__translater/translater.py,sha256=A_9NLVvkjzPd9omIcJGhux21D-gcCxemyrZ7o6uGx_Q,1238
@@ -924,9 +938,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
924
938
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
925
939
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
926
940
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
927
- MeUtils-2025.3.31.19.40.39.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
928
- MeUtils-2025.3.31.19.40.39.dist-info/METADATA,sha256=eNCBztDEs7jzsV3eoR8EzLbR9MC0XSGxwolESlTzJLk,32834
929
- MeUtils-2025.3.31.19.40.39.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
930
- MeUtils-2025.3.31.19.40.39.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
931
- MeUtils-2025.3.31.19.40.39.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
932
- MeUtils-2025.3.31.19.40.39.dist-info/RECORD,,
941
+ MeUtils-2025.4.8.18.11.44.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
942
+ MeUtils-2025.4.8.18.11.44.dist-info/METADATA,sha256=ViUC7VUEQm_fjaMD4Rf5jcm2jjrg6CnivureB1jcz6o,32833
943
+ MeUtils-2025.4.8.18.11.44.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
944
+ MeUtils-2025.4.8.18.11.44.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
945
+ MeUtils-2025.4.8.18.11.44.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
946
+ MeUtils-2025.4.8.18.11.44.dist-info/RECORD,,
@@ -0,0 +1,64 @@
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": "user", "content": "今天有什么热点新闻?"},
30
+ ],
31
+ )
32
+ print(completion.choices[0].message.content)
33
+ if hasattr(completion, "references"):
34
+ print(completion.references)
35
+
36
+ # Streaming:
37
+ print("----- streaming request -----")
38
+ stream = client.chat.completions.create(
39
+ model="bot-20250401164325-s7945", # bot-20250401164325-s7945 为您当前的智能体的ID,注意此处与Chat API存在差异。差异对比详见 SDK使用指南
40
+ messages=[
41
+ {"role": "user", "content": "今天有什么热点新闻?"},
42
+ ],
43
+ stream=True,
44
+ )
45
+ for chunk in stream:
46
+ if hasattr(chunk, "references"):
47
+ print(chunk.references)
48
+ if not chunk.choices:
49
+ continue
50
+ if chunk.choices[0].delta.content:
51
+ print(chunk.choices[0].delta.content, end="")
52
+ print()
53
+
54
+ print("----- standard request -----")
55
+ completion = client.chat.completions.create(
56
+ max_tokens=10,
57
+ model="bot-20250401164325-s7945", # bot-20250401164325-s7945 为您当前的智能体的ID,注意此处与Chat API存在差异。差异对比详见 SDK使用指南
58
+ messages=[
59
+ {"role": "user", "content": "今天有什么热点新闻"},
60
+ ],
61
+ )
62
+ print(completion.choices[0].message.content)
63
+ if hasattr(completion, "references"):
64
+ print(completion.references)
@@ -0,0 +1,67 @@
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
+ from meutils.schemas.openai_types import ChatCompletionRequest
16
+ from meutils.llm.openai_utils import to_openai_completion_params
17
+ from meutils.io.files_utils import to_base64
18
+
19
+ # base64_audio = arun(to_base64("https://oss.ffire.cc/files/lipsync.mp3"))
20
+ # base64_image = arun(to_base64("https://oss.ffire.cc/cdn/2025-04-01/duTeRmdE4G4TSdLizkLx2B", content_type="image/jpg"))
21
+
22
+ client = OpenAI(
23
+
24
+ )
25
+
26
+ import base64
27
+ import requests
28
+ from openai import OpenAI
29
+
30
+ # Fetch the audio file and convert it to a base64 encoded string
31
+ url = "https://cdn.openai.com/API/docs/audio/alloy.wav"
32
+ response = requests.get(url)
33
+ response.raise_for_status()
34
+ wav_data = response.content
35
+ encoded_string = base64.b64encode(wav_data).decode('utf-8')
36
+
37
+ completion = client.chat.completions.create(
38
+ model="gemini-2.0-flash-audio",
39
+ # stream=True,
40
+ modalities=["text", "audio"], # todo gemini规避掉
41
+ # audio={"voice": "alloy", "format": "wav"},
42
+ messages=[
43
+ {
44
+ "role": "user",
45
+ "content": [
46
+ {
47
+ "type": "text",
48
+ "text": "What is in this recording?"
49
+ },
50
+ {
51
+ "type": "input_audio",
52
+ "input_audio": {
53
+ "data": encoded_string,
54
+ "format": "wav"
55
+ }
56
+ }
57
+ ]
58
+ },
59
+ ]
60
+ )
61
+
62
+ print(completion.choices[0].message)
63
+
64
+ client = OpenAI(
65
+ base_url=os.getenv("OPENAI_BASE_URL"),
66
+ api_key=os.getenv("OPENAI_API_KEY"),
67
+ )
@@ -14,10 +14,14 @@ from openai import OpenAI
14
14
  from openai import OpenAI, APIStatusError
15
15
  from meutils.schemas.openai_types import ChatCompletionRequest
16
16
  from meutils.llm.openai_utils import to_openai_completion_params
17
+ from meutils.io.files_utils import to_base64
17
18
 
19
+ # base64_audio = arun(to_base64("https://oss.ffire.cc/files/lipsync.mp3"))
20
+ # base64_image = arun(to_base64("https://oss.ffire.cc/cdn/2025-04-01/duTeRmdE4G4TSdLizkLx2B", content_type="image/jpg"))
18
21
 
19
22
  client = OpenAI(
20
- api_key=os.getenv("GOOGLE_API_KEY"),
23
+ # api_key=os.getenv("GOOGLE_API_KEY"),
24
+ api_key="AIzaSyDwniwFLwE-XBaerff7PltxC39DHq1dW4o",
21
25
  base_url=os.getenv("GOOGLE_BASE_URL"),
22
26
  )
23
27
 
@@ -32,83 +36,131 @@ print(client.models.list().model_dump_json(indent=4))
32
36
  #
33
37
  # }
34
38
 
39
+ import base64
40
+ import requests
41
+ from openai import OpenAI
35
42
 
36
- if __name__ == '__main__':
37
-
38
-
39
- data = {
40
- "model": "models/gemini-2.0-flash",
41
- "messages": [
42
- {
43
- "role": "user",
44
- "content": "hi"
45
- }
46
- ],
47
- "stream": False,
48
- "stream_options": None,
49
- "top_p": 0.7,
50
- "temperature": 0.7,
51
- "n": 1,
52
- "max_tokens": 10,
53
- "stop": None,
54
- "presence_penalty": 0.0,
55
- "frequency_penalty": None,
56
- "user": None,
57
- "response_format": None,
58
- "function_call": None,
59
- "functions": None,
60
- "tools": None,
61
- "tool_choice": None,
62
- "parallel_tool_calls": None,
63
- "system_messages": [],
64
- "last_content": "hi",
65
- "urls": [],
66
- "system_fingerprint": "🔥"
67
- }
68
-
69
- request = ChatCompletionRequest(**data)
70
-
71
- data = to_openai_completion_params(request)
72
- if 'gemini' in request.model:
73
- data.pop("extra_body", None)
74
43
 
75
- print(bjson(data))
44
+ # Fetch the audio file and convert it to a base64 encoded string
45
+ url = "https://cdn.openai.com/API/docs/audio/alloy.wav"
46
+ response = requests.get(url)
47
+ response.raise_for_status()
48
+ wav_data = response.content
49
+ encoded_string = base64.b64encode(wav_data).decode('utf-8')
76
50
 
77
- try:
78
- completion = client.chat.completions.create(**data)
79
- # completion = client.chat.completions.create(
80
- # # model="models/gemini-2.5-pro-exp-03-25",
81
- # model="models/gemini-2.0-flash-thinking-exp",
82
- # # model="models/gemini-2.0-flash-exp-image-generation",
83
- # messages=[
84
- # {"role": "user", "content": "hi"}
85
- #
86
- # # {
87
- # # "role": "user", "content": [
88
- # # {
89
- # # "type": "text",
90
- # # "text": "9.8 9.11哪个大"
91
- # # }
92
- # # ]
93
- # # }
94
- #
95
- # ],
96
- # # top_p=0.7,
97
- # top_p=None,
98
- # temperature=None,
99
- # # stream=True,
100
- # stream=False,
101
- #
102
- # max_tokens=None,
103
- # )
104
- except APIStatusError as e:
105
- print(e.status_code)
51
+ # completion = client.chat.completions.create(
52
+ # model="gemini-2.0-flash",
53
+ # stream=True,
54
+ # modalities=["text", "audio"], # todo gemini规避掉
55
+ # # audio={"voice": "alloy", "format": "wav"},
56
+ # messages=[
57
+ # {
58
+ # "role": "user",
59
+ # "content": [
60
+ # {
61
+ # "type": "text",
62
+ # "text": "What is in this recording?"
63
+ # },
64
+ # {
65
+ # "type": "input_audio",
66
+ # "input_audio": {
67
+ # "data": encoded_string,
68
+ # "format": "wav"
69
+ # }
70
+ # }
71
+ # ]
72
+ # },
73
+ # ]
74
+ # )
106
75
 
107
- print(e.response)
108
- print(e.message)
109
- print(e.code)
110
- print(completion)
111
- for chunk in completion: # 剔除extra body
112
- print(chunk)
113
- if chunk.choices:
114
- print(chunk.choices[0].delta.content)
76
+ # gemini-2.0-flash-audio
77
+ completion = client.chat.completions.create(
78
+ model="gemini-2.0-flash",
79
+ # modalities=["text", "audio"],
80
+ audio={"voice": "alloy", "format": "wav"},
81
+ messages=[
82
+ {
83
+ "role": "user",
84
+ "content": "Is a golden retriever a good family dog?"
85
+ }
86
+ ]
87
+ )
88
+ print(completion.choices[0].message)
89
+ # if __name__ == '__main__':
90
+ # messages = [
91
+ #
92
+ # {
93
+ # "role": "user", "content": [
94
+ # {
95
+ # "type": "text",
96
+ # "text": "一句话总结"
97
+ # },
98
+ # # {
99
+ # # "type": "image_url",
100
+ # # "image_url": {
101
+ # # "url": base64_image
102
+ # # }
103
+ # # }
104
+ # ]
105
+ # }
106
+ #
107
+ # ]
108
+ # # messages = [
109
+ # # {
110
+ # # "role": "user",
111
+ # # "content": [
112
+ # # {
113
+ # # "type": "text",
114
+ # # "text": "一句话总结",
115
+ # # },
116
+ # # {
117
+ # # "type": "input_audio",
118
+ # # "input_audio": {
119
+ # # "data": base64_audio,
120
+ # # "format": "wav"
121
+ # # }
122
+ # # }
123
+ # # ],
124
+ # # }
125
+ # # ]
126
+ #
127
+ # # messages = [
128
+ # # {
129
+ # # "role": "user",
130
+ # # "content": [
131
+ # # {
132
+ # # "type": "text",
133
+ # # "text": "画条狗",
134
+ # # }
135
+ # # ],
136
+ # # }
137
+ # # ]
138
+ # #
139
+ # try:
140
+ # completion = client.chat.completions.create(
141
+ # # model="models/gemini-2.5-pro-preview-03-25",
142
+ # model="models/gemini-2.5-pro-exp-03-25",
143
+ # # model="models/gemini-2.0-flash",
144
+ # # model="models/gemini-2.0-flash-exp-image-generation",
145
+ # messages=messages,
146
+ # # top_p=0.7,
147
+ # top_p=None,
148
+ # temperature=None,
149
+ # # stream=True,
150
+ # stream=False,
151
+ #
152
+ # max_tokens=None,
153
+ # # extra_body=dict(response_modalities = ['Text', 'Image'],)
154
+ #
155
+ # )
156
+ # except APIStatusError as e:
157
+ # print(e.status_code)
158
+ #
159
+ # print(e.response)
160
+ # print(e.message)
161
+ # print(e.code)
162
+ # print(completion)
163
+ # for chunk in completion: # 剔除extra body
164
+ # print(chunk)
165
+ # if chunk.choices:
166
+ # 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
  )
@@ -31,7 +31,7 @@ generate = zhipuai_sdk_client.assistant.conversation(
31
31
 
32
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
  }