MeUtils 2025.3.5.20.22.10__py3-none-any.whl → 2025.3.6.18.55.2__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.
- {MeUtils-2025.3.5.20.22.10.dist-info → MeUtils-2025.3.6.18.55.2.dist-info}/METADATA +262 -262
- {MeUtils-2025.3.5.20.22.10.dist-info → MeUtils-2025.3.6.18.55.2.dist-info}/RECORD +20 -20
- examples/_openaisdk/_openai_chatfire.py +23 -8
- examples/_openaisdk/openai_chatfire.py +2 -4
- meutils/apis/hailuoai/yy.py +26 -24
- meutils/apis/jimeng/common.py +2 -2
- meutils/apis/jimeng/files.py +49 -7
- meutils/apis/jimeng/images.py +43 -23
- meutils/apis/search/metaso.py +49 -67
- meutils/caches/common.py +1 -1
- meutils/data/VERSION +1 -1
- meutils/llm/completions/qwenllm.py +6 -3
- meutils/llm/completions/yuanbao.py +16 -9
- meutils/notice/feishu.py +4 -0
- meutils/schemas/metaso_types.py +5 -4
- meutils/schemas/oneapi/common.py +16 -6
- {MeUtils-2025.3.5.20.22.10.dist-info → MeUtils-2025.3.6.18.55.2.dist-info}/LICENSE +0 -0
- {MeUtils-2025.3.5.20.22.10.dist-info → MeUtils-2025.3.6.18.55.2.dist-info}/WHEEL +0 -0
- {MeUtils-2025.3.5.20.22.10.dist-info → MeUtils-2025.3.6.18.55.2.dist-info}/entry_points.txt +0 -0
- {MeUtils-2025.3.5.20.22.10.dist-info → MeUtils-2025.3.6.18.55.2.dist-info}/top_level.txt +0 -0
@@ -72,7 +72,7 @@ examples/Time-Extractor/setup.py,sha256=ENYhj1_uJ7z_F3jrz8FR8w5u2SEXrZpl5GXEELUy
|
|
72
72
|
examples/Time-Extractor/resource/__init__.py,sha256=0HHkZVghckIg5LkGMziooZ8TUqfSQFA6j62BN9KyFp0,91
|
73
73
|
examples/_openaisdk/4v.py,sha256=lVnWWRNKX0Uu2rKy7PGYFsSVYJ48ykaRZHHdeyuT-rY,3532
|
74
74
|
examples/_openaisdk/__init__.py,sha256=5TNibGR-ETncXVWoevqYJ0m2yo1GOxRx3hSu2qWAQNo,271
|
75
|
-
examples/_openaisdk/_openai_chatfire.py,sha256=
|
75
|
+
examples/_openaisdk/_openai_chatfire.py,sha256=hvz7Xw329xDDRHbenJohyhK5GGlXr0lA9dplXiwp4Q0,1240
|
76
76
|
examples/_openaisdk/baichuan.py,sha256=xmNFc64T02r9wE0VSOG0B21wJJmlrecKVVCelhs2Dt4,890
|
77
77
|
examples/_openaisdk/bpo.py,sha256=7Jw16TiKFEQvYbt4g-h7QimLBw7xY49w1MthT5OwcTM,5267
|
78
78
|
examples/_openaisdk/chat_latex.py,sha256=FzVSvmG988GRItUg1Uga-L3dZseZW76LCvngHqRedD8,2939
|
@@ -95,7 +95,7 @@ examples/_openaisdk/openai_audio.py,sha256=ZyYslH9RfdJBpNUpjKn_5x0d94_H291Qt31u_
|
|
95
95
|
examples/_openaisdk/openai_baichuan.py,sha256=-xhHovkFmWOTX25CJjIon0my-ocmwfAZJu1C0eS80Xs,1614
|
96
96
|
examples/_openaisdk/openai_baidu.py,sha256=qnrxP66lY7Qf2jEbFEHrt0FrR5_Aji1AgwSI_46IabY,1969
|
97
97
|
examples/_openaisdk/openai_cache.py,sha256=89GbJ1QlqQbVxlUeuFgEbwDYHOkum7BK0zB-CqmDAZU,726
|
98
|
-
examples/_openaisdk/openai_chatfire.py,sha256=
|
98
|
+
examples/_openaisdk/openai_chatfire.py,sha256=0C2jcC9GR67GxwSIIcVzm0HnNDh_6_Jpq7Y5nL1uP58,18979
|
99
99
|
examples/_openaisdk/openai_chatfire_all.py,sha256=DaiI1NfDeK655QvXyczkgXK9Awxp7NBe71LHA7trxGE,4831
|
100
100
|
examples/_openaisdk/openai_dashscope.py,sha256=m9SjQpaNgYwr4Qd3XusWbJBGp5ZTtpuB40QopejxPKQ,1029
|
101
101
|
examples/_openaisdk/openai_deepinfra.py,sha256=innI4BT15dZEqheqDHG4lHDczY1QC7t2Whcavi1pcz0,1195
|
@@ -362,7 +362,7 @@ meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-
|
|
362
362
|
meutils/apis/hailuoai/music.py,sha256=S_oi-ZDbocTfbRgREdXtGx50xzUc1PCZGuxmr917E7M,265
|
363
363
|
meutils/apis/hailuoai/upload.py,sha256=22S6W6hGQhUquVKqh7QCkXb6KHDl3iMKKi6Z0AJdFEI,6501
|
364
364
|
meutils/apis/hailuoai/videos.py,sha256=hoVSbEjHfp2PIFxKL2n5Yy56DIhNkCrE3iKay8Yk3_E,20915
|
365
|
-
meutils/apis/hailuoai/yy.py,sha256=
|
365
|
+
meutils/apis/hailuoai/yy.py,sha256=du4CmLx5ebAI5FXe8NzQsmwpdA1_Kdxm7hgo5k9Zf-A,9016
|
366
366
|
meutils/apis/hf/__init__.py,sha256=ZZoRl8yNYekoMhE__67XXBKNSYJaLgjtaa0netjJKUU,271
|
367
367
|
meutils/apis/hf/got_ocr.py,sha256=pZURFpryDh_Ak6PNiARztOzYgkjVrfScJ5-0XzMBrzI,1776
|
368
368
|
meutils/apis/hf/gradio.py,sha256=tz4oiY0PHLT48aQocV0wBeuz53mLo8Pz_bQBg43pHpA,839
|
@@ -393,11 +393,11 @@ meutils/apis/jiema/24mail.py,sha256=GUszRtoDe3T9q-X4embwT5YhcjgQ3XnkTJMKX93sCF4,
|
|
393
393
|
meutils/apis/jiema/__init__.py,sha256=YBybggoDRYCNYcwJOypxR7MzfTjIhqO7BkGlTt7NDo4,271
|
394
394
|
meutils/apis/jiema/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
|
395
395
|
meutils/apis/jimeng/__init__.py,sha256=a8CE_cOl9jqal0hycwaLm4Mnga8jmZlz9nCze_9bBqA,272
|
396
|
-
meutils/apis/jimeng/common.py,sha256=
|
396
|
+
meutils/apis/jimeng/common.py,sha256=dJcex3hh1eyLwSJwlfeHlaTal9_h5ERvOTb2PSrF96I,6763
|
397
397
|
meutils/apis/jimeng/doubao.py,sha256=5OdnBpmZQOCLIb6lnN8YrL7J7E0XF47q0UF-z6asSuI,4295
|
398
398
|
meutils/apis/jimeng/doubao_utils.py,sha256=XCHnvwfCOtJmPQuzDOCfKDMP_Pcqh-Y4w2h5f7Y2gzM,5999
|
399
|
-
meutils/apis/jimeng/files.py,sha256=
|
400
|
-
meutils/apis/jimeng/images.py,sha256=
|
399
|
+
meutils/apis/jimeng/files.py,sha256=E-pPmi6fIP_n6wgfiDbqeWsIfrXVZUe7LpA6Wds1xDI,11047
|
400
|
+
meutils/apis/jimeng/images.py,sha256=ntGcXQvgdh9KuhYtcVGvlPY36wRUh7TR3fpU45j1VRc,13034
|
401
401
|
meutils/apis/jimeng/videos.py,sha256=x-PDOYNBN-yTmNvMbyDbwm_E2LXZ6A4hcVzEahV_Hvc,10813
|
402
402
|
meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vio,271
|
403
403
|
meutils/apis/kling/api.py,sha256=8NEWunWX3pVWhZzDnzw6rd07nPfOuY2T-XkgL86ZWYg,2328
|
@@ -439,7 +439,7 @@ meutils/apis/runwayml/__init__.py,sha256=90oL_3o8YkFPYm4R4PCxd3m9hgnHpOCLr0u-X4B
|
|
439
439
|
meutils/apis/runwayml/gen.py,sha256=JrfegC4pI2r7DprDLGMi5px0K1C1pSgopnz0lcJU5RY,5194
|
440
440
|
meutils/apis/search/__init__.py,sha256=1lg0ogEBgtwTi3XvkL5hMfSd14A6YNLO7M9itEJmaYI,244
|
441
441
|
meutils/apis/search/baichuan.py,sha256=OUD0TH7KzqSxtuRJgjJPWO8XRQIoUwW5RX7lWMo7BXw,268
|
442
|
-
meutils/apis/search/metaso.py,sha256=
|
442
|
+
meutils/apis/search/metaso.py,sha256=_pMszZWcnvBr-m5bMgirq8-H5xsbTfcQgnDnCq1_z_4,8001
|
443
443
|
meutils/apis/search/metaso_.py,sha256=PqMX3FLYbbAcc9qpqrPZ58LuSF29h0asZO1XMYmXbes,3144
|
444
444
|
meutils/apis/search/n.py,sha256=o7jzNoR5v_nAjgdUvWgebL3nvvo3ECpq2KCj9YhUNr4,4337
|
445
445
|
meutils/apis/search/searxng.py,sha256=RBPeq-AYj5D42gROrZNg0SxIWwWEW0oqrbQ3wEDH9k8,951
|
@@ -500,7 +500,7 @@ meutils/async_utils/test.py,sha256=lkZdgSzzgVg8hYVcaBNEJ3KBvFTEfjbXZVvtknQZsRQ,1
|
|
500
500
|
meutils/caches/__init__.py,sha256=hIUEqNnmhukkbKK2F39bXe-MGDwzeUoTOf_sYly53xo,291
|
501
501
|
meutils/caches/acache.py,sha256=sNpnX89oDjrB14CVusddJWxo2Jp5GB4h2lVSkJvXBv8,2791
|
502
502
|
meutils/caches/c.py,sha256=9hm9x_xMRGtqG51SirOS3Pzi2L9zxU_nov4muE5iJ48,699
|
503
|
-
meutils/caches/common.py,sha256=
|
503
|
+
meutils/caches/common.py,sha256=_shMi_U99g5vzfg9SAmUQHVE2IgWyiNATiSBBsDKGHI,1743
|
504
504
|
meutils/caches/demo.py,sha256=tY3mJUe4D2gbBVMd8gny40nK2BwqBGsaWDjDJsL7ObE,758
|
505
505
|
meutils/caches/redis_.py,sha256=5Oxq_XT5BJ7C9emzsXWDkiY4p8dVG7XFn0WxB14-z5E,600
|
506
506
|
meutils/caches/redis_cache.py,sha256=oXGk_CZhjp9P_z1TG_zhmma4iGepK-iIWY_ZYQWSkFg,1395
|
@@ -530,7 +530,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
|
|
530
530
|
meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
|
531
531
|
meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
|
532
532
|
meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
|
533
|
-
meutils/data/VERSION,sha256=
|
533
|
+
meutils/data/VERSION,sha256=_RmLk3bnyAjiy8-dWRZjbrUCXfgQExjHKJKb_DalAZs,19
|
534
534
|
meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
535
535
|
meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
536
536
|
meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
|
@@ -628,14 +628,14 @@ meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_
|
|
628
628
|
meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
|
629
629
|
meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
|
630
630
|
meutils/llm/completions/oi.py,sha256=DmvzxJfdLA_I3MWcULhFtiUdo90j7V2dLvYvmZ-Tm9U,293
|
631
|
-
meutils/llm/completions/qwenllm.py,sha256=
|
631
|
+
meutils/llm/completions/qwenllm.py,sha256=b4AfLtcfKtt3ULUOB9sYXv2e4GZUvrIaFA38c1nMYt4,7861
|
632
632
|
meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
|
633
633
|
meutils/llm/completions/reasoner.py,sha256=rPIxW1iuvLuGhcOa6PkfcJmrTKtJV-8wRKfA09X09tg,6169
|
634
634
|
meutils/llm/completions/tryblend.py,sha256=NfVRktn1QiE2k60PzEI-LmKuxZCc7mtL_KlsrVcZg4k,8957
|
635
635
|
meutils/llm/completions/tune.py,sha256=FypfUgsB34t-E9xI6WydJYEk_-phscrLOX1iUCeKb_E,10138
|
636
636
|
meutils/llm/completions/x.py,sha256=XE8aCyuhkpYq0nho1mq9lAdRU1yOPc8BpvCpNYYMYqM,630
|
637
637
|
meutils/llm/completions/xx.py,sha256=pPfVRczvXZFUvAUOAFr0MMHMb5kVPNfKVhOLKugq52M,1646
|
638
|
-
meutils/llm/completions/yuanbao.py,sha256=
|
638
|
+
meutils/llm/completions/yuanbao.py,sha256=xaCMzuYhaFrFPwP8Wu6OmGoFGIiX-QirWK5N0NIx6gE,7171
|
639
639
|
meutils/llm/completions/agents/__init__.py,sha256=Wklnf7FTHm43hyVwfT8FXX44nqdOTykPb_HORIqDuuw,270
|
640
640
|
meutils/llm/completions/agents/search.py,sha256=GKsk0NRy6jsbSu8E9mdBWObJzroGE-L7Iuo5W2MK_u0,5057
|
641
641
|
meutils/llm/completions/rag/__init__.py,sha256=VH4g9H0pqMM1Rkjc1xefQb4Uh8f9vlTt6tjdD6G6Wc0,272
|
@@ -657,7 +657,7 @@ meutils/logging/log_utils.py,sha256=Sa5-Y4fWNTKQw2fIb1dbPgOypl6S6m7EOrbciSqEt5A,
|
|
657
657
|
meutils/logging/logger.py,sha256=-J_tWYfAvPhSTshVWIiN-6zTZnjkFuwDfMtxUtuNkuY,6183
|
658
658
|
meutils/notice/__init__.py,sha256=BVbcBx4ks-BH_63gEcjMxL67oX1_aWdaM8r3TDo8Ogg,248
|
659
659
|
meutils/notice/emails.py,sha256=TvC1xv3MpFC2HU0lTQW5SmNuj7UMlgjpsUImMp9jKOw,2403
|
660
|
-
meutils/notice/feishu.py,sha256=
|
660
|
+
meutils/notice/feishu.py,sha256=2SbEH5OC9fnqbmmCUyg6UtfWwRa4NNvLcEv0gyMGhys,3714
|
661
661
|
meutils/notice/file_post.py,sha256=KQ8iQUM30vF7T6ZZPahdLps4dLXK2s3nzdFYbty6M5E,953
|
662
662
|
meutils/notice/load_emailfile - 副本.py,sha256=f-Kq3UKZut_P0bmumV1y4PXuPtatjl-5SLUH5LShBUY,7331
|
663
663
|
meutils/notice/wechat.py,sha256=-HU5oSvpZrVnjjU76ky7_j0yg5ivn5mIlJ7JJVtlrnY,4082
|
@@ -763,7 +763,7 @@ meutils/schemas/kuaishou_types.py,sha256=-_-0Fkab5jyJFb_2Y4ugi92JSIDlvWL_e8mH-wM
|
|
763
763
|
meutils/schemas/luma_types.py,sha256=s9RZnZUpdUg8-13_WOWm3bE_e246olplFFjP8ygiDuw,1900
|
764
764
|
meutils/schemas/message_types.py,sha256=AJc9ZT_weaTjfjmwF5CDroV0WJEJKnA3u4bnbHhBamo,6176
|
765
765
|
meutils/schemas/message_types_.py,sha256=oL7uOsewaziSryZywfap09M5Wh9w28RJDuadFuAfCSI,6297
|
766
|
-
meutils/schemas/metaso_types.py,sha256=
|
766
|
+
meutils/schemas/metaso_types.py,sha256=r_X0Exs_2S3rNS71RneemMpz7EvBIOLBfAMmWMQRnk8,2182
|
767
767
|
meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
|
768
768
|
meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
|
769
769
|
meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
|
@@ -789,7 +789,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
|
|
789
789
|
meutils/schemas/db/oneapi_types.py,sha256=YanT0q9pU7dva2ZBPWjCpwGNUuifnJh0zUJJCQ9070c,3848
|
790
790
|
meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
|
791
791
|
meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
|
792
|
-
meutils/schemas/oneapi/common.py,sha256=
|
792
|
+
meutils/schemas/oneapi/common.py,sha256=28IdCd8UD_1WXYE0VKRRw7v4jVAfoCbOOeZ6x3d5gQU,31047
|
793
793
|
meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
|
794
794
|
meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
|
795
795
|
meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
|
@@ -918,9 +918,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
|
|
918
918
|
meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
|
919
919
|
meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
|
920
920
|
meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
|
921
|
-
MeUtils-2025.3.
|
922
|
-
MeUtils-2025.3.
|
923
|
-
MeUtils-2025.3.
|
924
|
-
MeUtils-2025.3.
|
925
|
-
MeUtils-2025.3.
|
926
|
-
MeUtils-2025.3.
|
921
|
+
MeUtils-2025.3.6.18.55.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
922
|
+
MeUtils-2025.3.6.18.55.2.dist-info/METADATA,sha256=HlMSGydC3x8SH0R1soAtyOZMqAe51WWN1MnvxwSQvFk,32832
|
923
|
+
MeUtils-2025.3.6.18.55.2.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
924
|
+
MeUtils-2025.3.6.18.55.2.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
|
925
|
+
MeUtils-2025.3.6.18.55.2.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
|
926
|
+
MeUtils-2025.3.6.18.55.2.dist-info/RECORD,,
|
@@ -15,18 +15,32 @@ from openai import OpenAI, APIStatusError
|
|
15
15
|
|
16
16
|
|
17
17
|
client = OpenAI(
|
18
|
-
api_key="你的 https://api.chatfire.cn/token",
|
19
|
-
base_url="https://api.chatfire.cn/v1"
|
18
|
+
# api_key="你的 https://api.chatfire.cn/token",
|
19
|
+
# base_url="https://api.chatfire.cn/v1"
|
20
20
|
)
|
21
21
|
|
22
|
+
url = "https://oss.ffire.cc/files/lipsync.mp3"
|
23
|
+
content = [
|
24
|
+
{"type": "text", "text": "总结下"},
|
25
|
+
{"type": "video_url", "video_url": {"url": url}}
|
26
|
+
|
27
|
+
]
|
28
|
+
messages = [
|
29
|
+
{"role": "user", "content": [
|
30
|
+
{"type": "text", "text": "总结下"},
|
31
|
+
{"type": "video_url", "video_url": {"url": url}}
|
32
|
+
|
33
|
+
]}
|
34
|
+
]
|
35
|
+
|
22
36
|
|
23
37
|
completion = client.chat.completions.create(
|
24
|
-
model="
|
38
|
+
model="gemini-all",
|
25
39
|
# model="xxxxxxxxxxxxx",
|
26
40
|
messages=[
|
27
41
|
{"role": "system", "content": '你是个内容审核助手'},
|
28
42
|
|
29
|
-
{"role": "user", "content":
|
43
|
+
{"role": "user", "content": content}
|
30
44
|
],
|
31
45
|
# top_p=0.7,
|
32
46
|
top_p=None,
|
@@ -35,8 +49,9 @@ completion = client.chat.completions.create(
|
|
35
49
|
max_tokens=1000
|
36
50
|
)
|
37
51
|
|
52
|
+
#
|
53
|
+
# for chunk in completion:
|
54
|
+
# # print(bjson(chunk))
|
55
|
+
# print(chunk.choices[0].delta.content, end="")
|
38
56
|
|
39
|
-
|
40
|
-
# print(bjson(chunk))
|
41
|
-
print(chunk.choices[0].delta.content, end="")
|
42
|
-
|
57
|
+
print(messages)
|
@@ -245,7 +245,7 @@ if __name__ == '__main__':
|
|
245
245
|
|
246
246
|
# "ds",
|
247
247
|
|
248
|
-
"qwen-
|
248
|
+
"qwen-max"
|
249
249
|
|
250
250
|
]
|
251
251
|
# check_models(models, api_key=os.getenv("OPENAI_API_KEY"))
|
@@ -254,7 +254,6 @@ if __name__ == '__main__':
|
|
254
254
|
# check_models(models, api_key=os.getenv("OPENAI_API_KEY_35"))
|
255
255
|
# check_models(models, api_key=os.getenv("OPENAI_API_KEY_GUOCHAN"))
|
256
256
|
|
257
|
-
|
258
257
|
# check_models(models, api_key=os.getenv("OPENAI_API_KEY_FREE"))
|
259
258
|
|
260
259
|
# check_models(models)
|
@@ -269,7 +268,6 @@ if __name__ == '__main__':
|
|
269
268
|
# check_models(models)
|
270
269
|
check_models(models, api_key=os.getenv("OPENAI_API_KEY_GUOCHAN") + "-583")
|
271
270
|
|
272
|
-
|
273
271
|
#############神奇 #############reasoning_content 神奇
|
274
272
|
|
275
|
-
#############
|
273
|
+
#############
|
meutils/apis/hailuoai/yy.py
CHANGED
@@ -216,27 +216,29 @@ def get_yy(payload: dict, params: dict, url: str = "/api/multimodal/generate/vid
|
|
216
216
|
|
217
217
|
|
218
218
|
if __name__ == '__main__':
|
219
|
-
TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM0MDY1MzUsInVzZXIiOnsiaWQiOiIzMDI4MzM4Njc3NzE5NDkwNTgiLCJuYW1lIjoibWUgYmV0dGVyIiwiYXZhdGFyIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSWdTU0NoczFENHNUajFTVGs3UHNUbTd5NTNKRFg5OW84QnhwWmNWNjU2MEFKYlJnPXM5Ni1jIiwiZGV2aWNlSUQiOiIifX0.mcozMacSciz0MORdleOMS_uhrixhIlpQmFmUwvn81I4"
|
220
|
-
|
221
|
-
params = {
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
}
|
236
|
-
|
237
|
-
payload = {
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
}
|
242
|
-
print(get_yy(payload, params))
|
219
|
+
# TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM0MDY1MzUsInVzZXIiOnsiaWQiOiIzMDI4MzM4Njc3NzE5NDkwNTgiLCJuYW1lIjoibWUgYmV0dGVyIiwiYXZhdGFyIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSWdTU0NoczFENHNUajFTVGs3UHNUbTd5NTNKRFg5OW84QnhwWmNWNjU2MEFKYlJnPXM5Ni1jIiwiZGV2aWNlSUQiOiIifX0.mcozMacSciz0MORdleOMS_uhrixhIlpQmFmUwvn81I4"
|
220
|
+
#
|
221
|
+
# params = {
|
222
|
+
# 'device_platform': 'web', 'app_id': '3001',
|
223
|
+
# 'version_code': '22201',
|
224
|
+
# 'uuid': '3de88ad0-8a38-48a9-8ed3-0d63f9c71296',
|
225
|
+
# 'device_id': '302833759512764417',
|
226
|
+
# 'os_name': 'Windows',
|
227
|
+
# 'browser_name': 'chrome',
|
228
|
+
# 'device_memory': '8',
|
229
|
+
# 'cpu_core_num': '20',
|
230
|
+
# 'browser_language': 'zh-CN',
|
231
|
+
# 'browser_platform': 'Win32',
|
232
|
+
# 'screen_width': '2560',
|
233
|
+
# 'screen_height': '1440',
|
234
|
+
# 'unix': '1730114652000'
|
235
|
+
# }
|
236
|
+
#
|
237
|
+
# payload = {
|
238
|
+
# "desc": "smile",
|
239
|
+
# "useOriginPrompt": True,
|
240
|
+
# "fileList": []
|
241
|
+
# }
|
242
|
+
# print(get_yy(payload, params))
|
243
|
+
|
244
|
+
print(quote('x x'))
|
meutils/apis/jimeng/common.py
CHANGED
@@ -20,7 +20,7 @@ from fake_useragent import UserAgent
|
|
20
20
|
|
21
21
|
ua = UserAgent()
|
22
22
|
|
23
|
-
|
23
|
+
@lru_cache()
|
24
24
|
def get_headers(url, token: str = "693701c43e477b7c405cc7e2fef0ddbd"):
|
25
25
|
device_time = f"{int(time.time())}"
|
26
26
|
sign = md5(
|
@@ -130,7 +130,7 @@ def create_photo_lip_sync(request: TTSRequest):
|
|
130
130
|
"v2v_opt": {},
|
131
131
|
"i2v_opt": {
|
132
132
|
"realman_avatar": {
|
133
|
-
"enable":
|
133
|
+
"enable": True,
|
134
134
|
"origin_image": {
|
135
135
|
"width": 480,
|
136
136
|
"height": 270,
|
meutils/apis/jimeng/files.py
CHANGED
@@ -15,7 +15,10 @@ import hashlib
|
|
15
15
|
from meutils.pipe import *
|
16
16
|
from meutils.caches.redis_cache import cache
|
17
17
|
from meutils.io.files_utils import to_bytes
|
18
|
-
from meutils.apis.jimeng.common import get_upload_token
|
18
|
+
from meutils.apis.jimeng.common import get_upload_token, get_headers, BASE_URL, FEISHU_URL, check_token
|
19
|
+
from meutils.notice.feishu import send_message_for_images
|
20
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
21
|
+
|
19
22
|
|
20
23
|
def random_str(n):
|
21
24
|
return ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba0123456789', n))
|
@@ -55,6 +58,7 @@ class JJRequest:
|
|
55
58
|
|
56
59
|
def getAuthorization(self):
|
57
60
|
return f"AWS4-HMAC-SHA256 Credential={self.e['access_key_id']}/{self.t[:8]}/cn-north-1/{self.serviceName}/aws4_request, SignedHeaders=x-amz-date;x-amz-security-token, Signature={self.signature()}"
|
61
|
+
|
58
62
|
def signature(self):
|
59
63
|
r = self.getSigningKey()
|
60
64
|
return hmac_hash256(r, self.stringToSign()).hexdigest()
|
@@ -289,13 +293,48 @@ async def upload_for_video(video, token): # 跨账号token
|
|
289
293
|
return vid, uri
|
290
294
|
|
291
295
|
|
292
|
-
|
296
|
+
async def face_recognize(image, token: Optional[str] = None):
|
297
|
+
"""
|
298
|
+
图片识别
|
299
|
+
"""
|
300
|
+
# token = "1c21a9fe6a4230609d7ff13e5cec41ec" # 跨账号测试
|
301
|
+
|
302
|
+
token = token or await get_next_token_for_polling(FEISHU_URL, check_token)
|
303
|
+
|
304
|
+
url = "/mweb/v1/face_recognize"
|
305
|
+
headers = get_headers(url, token)
|
306
|
+
|
307
|
+
image_uri = await upload_for_image(image, token)
|
308
|
+
payload = {
|
309
|
+
"image_uri_list": [
|
310
|
+
image_uri
|
311
|
+
]
|
312
|
+
}
|
293
313
|
|
314
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=120) as client:
|
315
|
+
response = await client.post(url, json=payload)
|
316
|
+
response.raise_for_status()
|
317
|
+
data = response.json()
|
318
|
+
|
319
|
+
try:
|
320
|
+
data['data']['image_uri'] = image_uri
|
321
|
+
data['data']['face_recognize_list'][0][0]['type'] = ""
|
322
|
+
data['data']['face_recognize_list'][0][0]['id'] = str(uuid.uuid4())
|
323
|
+
data['data']['face_recognize_list'][0][0]['is_selected'] = True
|
324
|
+
except Exception as e:
|
325
|
+
logger.error(e)
|
326
|
+
send_message_for_images(f"图片识别失败 {bjson(data)}", __name__)
|
327
|
+
|
328
|
+
return data
|
329
|
+
|
330
|
+
|
331
|
+
if __name__ == "__main__":
|
294
332
|
# 豆包
|
295
333
|
token = "de2215a7bb8e442774cf388f03fac84c"
|
296
334
|
|
297
335
|
# jimeng
|
298
|
-
token = "
|
336
|
+
token = "ffeee346fbd19eceebb79a7bfbca4bfe"
|
337
|
+
token = "34438eb03d165737122180caf62a8058"
|
299
338
|
#
|
300
339
|
# upload_token = arun(get_upload_token(token))
|
301
340
|
|
@@ -312,7 +351,10 @@ if __name__ == "__main__":
|
|
312
351
|
# with timer():
|
313
352
|
# arun(upload_for_image("https://oss.ffire.cc/files/kling_watermark.png", token))
|
314
353
|
|
315
|
-
with timer():
|
316
|
-
|
317
|
-
|
318
|
-
|
354
|
+
# with timer():
|
355
|
+
# url = "https://oss.ffire.cc/files/lipsync.mp3"
|
356
|
+
# # arun(upload_for_video("https://oss.ffire.cc/files/lipsync.mp3", token))
|
357
|
+
# arun(upload_for_video(url, token))
|
358
|
+
image_url = "https://oss.ffire.cc/files/kling_watermark.png"
|
359
|
+
arun(face_recognize(image_url, token))
|
360
|
+
arun(face_recognize(image_url))
|
meutils/apis/jimeng/images.py
CHANGED
@@ -14,9 +14,10 @@ guidance 控制精细度 => sample_strength 0-1 数值越大生成的效果质
|
|
14
14
|
import json
|
15
15
|
|
16
16
|
from meutils.pipe import *
|
17
|
-
from meutils.
|
17
|
+
from meutils.caches import rcache
|
18
18
|
|
19
19
|
from meutils.decorators.retry import retrying
|
20
|
+
from meutils.notice.feishu import send_message_for_images
|
20
21
|
|
21
22
|
from meutils.schemas.jimeng_types import BASE_URL, MODELS_MAP, FEISHU_URL
|
22
23
|
from meutils.schemas.image_types import ImageRequest
|
@@ -37,6 +38,10 @@ async def create_draft_content(request: ImageRequest, token: str):
|
|
37
38
|
"""
|
38
39
|
创建草稿内容
|
39
40
|
"""
|
41
|
+
# 参考人物
|
42
|
+
face_recognize_data = request.controls.get("face_recognize_data", {})
|
43
|
+
image_uri = face_recognize_data.pop("image_uri", None)
|
44
|
+
|
40
45
|
request.model = MODELS_MAP.get(request.model, MODELS_MAP["default"])
|
41
46
|
|
42
47
|
height = width = 1360
|
@@ -44,13 +49,17 @@ async def create_draft_content(request: ImageRequest, token: str):
|
|
44
49
|
height, width = map(int, request.size.split('x'))
|
45
50
|
|
46
51
|
main_component_id = str(uuid.uuid4())
|
52
|
+
if (urls := parse_url(request.prompt)) or image_uri: # 图生 # todo: image base64
|
53
|
+
request.model = "high_aes_general_v20_L:general_v2.0_L" # 2.1不支持图片编辑 某些不支持
|
47
54
|
|
48
|
-
|
49
|
-
|
50
|
-
image_uri = await upload_for_image(url, token)
|
55
|
+
if image_uri:
|
56
|
+
pass
|
51
57
|
|
52
|
-
|
53
|
-
|
58
|
+
else:
|
59
|
+
url = urls[-1]
|
60
|
+
image_uri = await upload_for_image(url, token)
|
61
|
+
|
62
|
+
request.prompt = request.prompt.replace(url, '')
|
54
63
|
|
55
64
|
component = {
|
56
65
|
"type": "image_base_component",
|
@@ -82,7 +91,7 @@ async def create_draft_content(request: ImageRequest, token: str):
|
|
82
91
|
{
|
83
92
|
"type": "",
|
84
93
|
"id": str(uuid.uuid4()),
|
85
|
-
"name": "byte_edit", # bg_paint
|
94
|
+
"name": "byte_edit", # bg_paint face_gan
|
86
95
|
"image_uri_list": [
|
87
96
|
image_uri
|
88
97
|
],
|
@@ -100,6 +109,7 @@ async def create_draft_content(request: ImageRequest, token: str):
|
|
100
109
|
"uri": image_uri
|
101
110
|
}
|
102
111
|
],
|
112
|
+
|
103
113
|
"strength": 0.5
|
104
114
|
}
|
105
115
|
],
|
@@ -123,7 +133,11 @@ async def create_draft_content(request: ImageRequest, token: str):
|
|
123
133
|
}
|
124
134
|
}
|
125
135
|
|
126
|
-
|
136
|
+
if face_recognize_data:
|
137
|
+
face_recognize_data['name'] = "face_gan"
|
138
|
+
component["abilities"]["blend"]["ability_list"][0].update(face_recognize_data)
|
139
|
+
|
140
|
+
else: # 文生
|
127
141
|
|
128
142
|
component = {
|
129
143
|
"type": "image_base_component",
|
@@ -178,13 +192,8 @@ async def create_draft_content(request: ImageRequest, token: str):
|
|
178
192
|
|
179
193
|
|
180
194
|
@retrying(max_retries=3)
|
195
|
+
@rcache(ttl=24 * 3600, serializer="pickle")
|
181
196
|
async def create_task(request: ImageRequest, token: Optional[str] = None):
|
182
|
-
if await redis_aclient.sismember("tasks:jimeng:prompt", request.prompt): # 敏感内容过滤
|
183
|
-
raise HTTPException(
|
184
|
-
status_code=status.HTTP_451_UNAVAILABLE_FOR_LEGAL_REASONS,
|
185
|
-
detail=f"可能触发内容审核,请联系管理员:\n{request.prompt}"
|
186
|
-
)
|
187
|
-
|
188
197
|
token = token or await get_next_token_for_polling(FEISHU_URL, check_token)
|
189
198
|
|
190
199
|
url = "/mweb/v1/aigc_draft/generate"
|
@@ -219,8 +228,6 @@ async def create_task(request: ImageRequest, token: Optional[str] = None):
|
|
219
228
|
logger.debug(bjson(data))
|
220
229
|
|
221
230
|
if task_id := (data.get("data") or {}).get("aigc_data", {}).get("history_record_id"): # bug
|
222
|
-
# 映射提示词:方便管理敏感输入
|
223
|
-
await redis_aclient.set(f"tasks:jimeng:{task_id}", request.prompt, ex=3600)
|
224
231
|
|
225
232
|
return TaskResponse(task_id=task_id, system_fingerprint=token)
|
226
233
|
else:
|
@@ -265,10 +272,7 @@ async def get_task(task_id, token):
|
|
265
272
|
|
266
273
|
# 敏感词存储
|
267
274
|
if status_code != 50:
|
268
|
-
|
269
|
-
if prompt:
|
270
|
-
logger.debug(f"敏感内容: {prompt}")
|
271
|
-
await redis_aclient.sadd('tasks:jimeng:prompt', prompt)
|
275
|
+
send_message_for_images(task_info, __name__)
|
272
276
|
|
273
277
|
"""
|
274
278
|
"status": 30, # 内容审核
|
@@ -318,7 +322,8 @@ async def generate(request: ImageRequest):
|
|
318
322
|
|
319
323
|
if __name__ == '__main__':
|
320
324
|
# token = "eb4d120829cfd3ee957943f63d6152ed"
|
321
|
-
token = "
|
325
|
+
token = "ffeee346fbd19eceebb79a7bfbca4bfe"
|
326
|
+
image_url = "https://oss.ffire.cc/files/kling_watermark.png"
|
322
327
|
|
323
328
|
# request = ImageRequest(prompt="做一个圣诞节的海报", size="1024x1024")
|
324
329
|
# request = ImageRequest(prompt="https://oss.ffire.cc/files/kling_watermark.png 让她带上墨镜", size="1024x1024")
|
@@ -347,14 +352,29 @@ if __name__ == '__main__':
|
|
347
352
|
# t3 = ("10186352959490", "eb4d120829cfd3ee957943f63d6152ed")
|
348
353
|
#
|
349
354
|
# arun(get_task(*t3))
|
355
|
+
|
356
|
+
from meutils.apis.jimeng.files import face_recognize
|
357
|
+
|
358
|
+
face_recognize = arun(face_recognize(image_url, token))
|
359
|
+
|
360
|
+
face_recognize_data = face_recognize.get("data", {})
|
361
|
+
|
362
|
+
|
350
363
|
data = {
|
351
364
|
"model": "seededit",
|
352
|
-
"prompt": "https://oss.ffire.cc/files/kling_watermark.png 让这个女人带上墨镜,衣服换个颜色",
|
365
|
+
# "prompt": "https://oss.ffire.cc/files/kling_watermark.png 让这个女人带上墨镜,衣服换个颜色",
|
366
|
+
# "prompt": "草拟吗 艹",
|
367
|
+
"prompt": "让这个女人带上墨镜,衣服换个颜色",
|
368
|
+
|
353
369
|
"size": "1024x1024",
|
370
|
+
|
371
|
+
"controls": {
|
372
|
+
"face_recognize_data": face_recognize_data
|
373
|
+
}
|
354
374
|
}
|
355
375
|
arun(generate(ImageRequest(**data)))
|
356
376
|
|
357
|
-
# arun(generate(ImageRequest(prompt="
|
377
|
+
# arun(generate(ImageRequest(prompt="fuck you")))
|
358
378
|
# prompt = "A plump Chinese beauty wearing a wedding dress revealing her skirt and underwear is swinging on the swing,Happy smile,cleavage,Exposed thighs,Spread your legs open,Extend your leg,panties,upskirt,Barefoot,sole"
|
359
379
|
# request = ImageRequest(prompt=prompt)
|
360
380
|
# task = arun(create_task(request))
|