MeUtils 2024.12.23.16.36.51__py3-none-any.whl → 2024.12.26.22.14.1__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-2024.12.23.16.36.51.dist-info → MeUtils-2024.12.26.22.14.1.dist-info}/METADATA +28 -28
- {MeUtils-2024.12.23.16.36.51.dist-info → MeUtils-2024.12.26.22.14.1.dist-info}/RECORD +32 -29
- examples/_openaisdk/4v.py +5 -3
- examples/_openaisdk/openai_chatfire.py +5 -0
- examples/_openaisdk/openai_modelscope.py +6 -2
- examples/_openaisdk/openai_siliconflow.py +1 -1
- examples/_openaisdk/openai_tune.py +7 -4
- examples/_openaisdk/openai_zhipu.py +5 -5
- meutils/apis/chatglm/glm_video_api.py +34 -2
- meutils/apis/hailuoai/videos.py +1 -1
- meutils/apis/jimeng/common.py +6 -3
- meutils/apis/jimeng/images.py +18 -3
- meutils/apis/kling/kolors_virtual_try_on.py +29 -5
- meutils/apis/oneapi/user.py +3 -3
- meutils/apis/oneapi/utils.py +32 -0
- meutils/async_utils/common.py +11 -1
- meutils/common.py +2 -0
- meutils/config_utils/lark_utils/common.py +2 -2
- meutils/data/VERSION +1 -1
- meutils/data/oneapi/NOTICE.md +10 -0
- meutils/db/orm.py +40 -5
- meutils/db/redis_db.py +8 -5
- meutils/decorators/polling.py +46 -0
- meutils/llm/completions/modelscope.py +11 -0
- meutils/schemas/db/oneapi_types.py +30 -0
- meutils/schemas/oneapi/common.py +15 -4
- meutils/schemas/video_types.py +34 -1
- meutils/serving/fastapi/dependencies/auth.py +34 -6
- {MeUtils-2024.12.23.16.36.51.dist-info → MeUtils-2024.12.26.22.14.1.dist-info}/LICENSE +0 -0
- {MeUtils-2024.12.23.16.36.51.dist-info → MeUtils-2024.12.26.22.14.1.dist-info}/WHEEL +0 -0
- {MeUtils-2024.12.23.16.36.51.dist-info → MeUtils-2024.12.26.22.14.1.dist-info}/entry_points.txt +0 -0
- {MeUtils-2024.12.23.16.36.51.dist-info → MeUtils-2024.12.26.22.14.1.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: MeUtils
|
3
|
-
Version: 2024.12.
|
3
|
+
Version: 2024.12.26.22.14.1
|
4
4
|
Summary: description
|
5
5
|
Home-page: https://github.com/yuanjie-ai/MeUtils
|
6
6
|
Author: yuanjie
|
@@ -63,42 +63,42 @@ Requires-Dist: sse-starlette ; extra == 'ai'
|
|
63
63
|
Requires-Dist: openai ; extra == 'ai'
|
64
64
|
Requires-Dist: langchain ; extra == 'ai'
|
65
65
|
Provides-Extra: all
|
66
|
-
Requires-Dist:
|
67
|
-
Requires-Dist:
|
68
|
-
Requires-Dist:
|
66
|
+
Requires-Dist: thefuck ; extra == 'all'
|
67
|
+
Requires-Dist: sse-starlette ; extra == 'all'
|
68
|
+
Requires-Dist: filetype ; extra == 'all'
|
69
|
+
Requires-Dist: pymupd ; extra == 'all'
|
70
|
+
Requires-Dist: jieba ; extra == 'all'
|
71
|
+
Requires-Dist: pandas-summary ; extra == 'all'
|
72
|
+
Requires-Dist: gunicorn ; extra == 'all'
|
69
73
|
Requires-Dist: reportlab ; extra == 'all'
|
70
|
-
Requires-Dist: langchain ; extra == 'all'
|
71
|
-
Requires-Dist: iteration-utilities ; extra == 'all'
|
72
74
|
Requires-Dist: faiss-cpu ; extra == 'all'
|
73
|
-
Requires-Dist:
|
75
|
+
Requires-Dist: missingno ; extra == 'all'
|
76
|
+
Requires-Dist: schedule ; extra == 'all'
|
77
|
+
Requires-Dist: simplejson ; extra == 'all'
|
78
|
+
Requires-Dist: openai ; extra == 'all'
|
79
|
+
Requires-Dist: uvicorn ; extra == 'all'
|
74
80
|
Requires-Dist: fastapi[all] ; extra == 'all'
|
75
|
-
Requires-Dist:
|
76
|
-
Requires-Dist:
|
77
|
-
Requires-Dist:
|
81
|
+
Requires-Dist: langchain ; extra == 'all'
|
82
|
+
Requires-Dist: pymongo ; extra == 'all'
|
83
|
+
Requires-Dist: seaborn ; extra == 'all'
|
78
84
|
Requires-Dist: redis-py-cluster ; extra == 'all'
|
79
|
-
Requires-Dist:
|
80
|
-
Requires-Dist:
|
85
|
+
Requires-Dist: sqlalchemy ; extra == 'all'
|
86
|
+
Requires-Dist: pymilvus ; extra == 'all'
|
81
87
|
Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
|
88
|
+
Requires-Dist: polars ; extra == 'all'
|
82
89
|
Requires-Dist: jmespath ; extra == 'all'
|
83
|
-
Requires-Dist: pretty-errors ; extra == 'all'
|
84
90
|
Requires-Dist: geopy ; extra == 'all'
|
85
|
-
Requires-Dist:
|
86
|
-
Requires-Dist:
|
87
|
-
Requires-Dist:
|
88
|
-
Requires-Dist: polars ; extra == 'all'
|
89
|
-
Requires-Dist: seaborn ; extra == 'all'
|
90
|
-
Requires-Dist: simplejson ; extra == 'all'
|
91
|
-
Requires-Dist: sqlalchemy ; extra == 'all'
|
92
|
-
Requires-Dist: asyncmy ; extra == 'all'
|
93
|
-
Requires-Dist: gunicorn ; extra == 'all'
|
94
|
-
Requires-Dist: pymongo ; extra == 'all'
|
91
|
+
Requires-Dist: iteration-utilities ; extra == 'all'
|
92
|
+
Requires-Dist: pretty-errors ; extra == 'all'
|
93
|
+
Requires-Dist: thriftpy2 ; extra == 'all'
|
95
94
|
Requires-Dist: jinja2 ; extra == 'all'
|
96
|
-
Requires-Dist:
|
97
|
-
Requires-Dist:
|
98
|
-
Requires-Dist: pymilvus ; extra == 'all'
|
99
|
-
Requires-Dist: pymupd ; extra == 'all'
|
95
|
+
Requires-Dist: pymysql ; extra == 'all'
|
96
|
+
Requires-Dist: streamlit ; extra == 'all'
|
100
97
|
Requires-Dist: cachetools ; extra == 'all'
|
101
|
-
Requires-Dist:
|
98
|
+
Requires-Dist: pyarrow ; extra == 'all'
|
99
|
+
Requires-Dist: fastapi ; extra == 'all'
|
100
|
+
Requires-Dist: dataframe-image ; extra == 'all'
|
101
|
+
Requires-Dist: asyncmy ; extra == 'all'
|
102
102
|
Provides-Extra: ann
|
103
103
|
Requires-Dist: pymilvus ; extra == 'ann'
|
104
104
|
Requires-Dist: faiss-cpu ; extra == 'ann'
|
@@ -69,7 +69,7 @@ examples/Time-Extractor/TimeUnit.py,sha256=yx-SS9sxSjSUGiu1H8eTbP4vqAHrNyQcddioM
|
|
69
69
|
examples/Time-Extractor/__init__.py,sha256=hjNi8tWPOBTke6GHlxpsOrufCRdAHmYs2yBquql9X7c,156
|
70
70
|
examples/Time-Extractor/setup.py,sha256=ENYhj1_uJ7z_F3jrz8FR8w5u2SEXrZpl5GXEELUymLk,811
|
71
71
|
examples/Time-Extractor/resource/__init__.py,sha256=0HHkZVghckIg5LkGMziooZ8TUqfSQFA6j62BN9KyFp0,91
|
72
|
-
examples/_openaisdk/4v.py,sha256=
|
72
|
+
examples/_openaisdk/4v.py,sha256=kUE4-HoabPrYvAaoiRAMq5rpmpSGeXsUlaxz6Ze1E18,3531
|
73
73
|
examples/_openaisdk/__init__.py,sha256=5TNibGR-ETncXVWoevqYJ0m2yo1GOxRx3hSu2qWAQNo,271
|
74
74
|
examples/_openaisdk/baichuan.py,sha256=xmNFc64T02r9wE0VSOG0B21wJJmlrecKVVCelhs2Dt4,890
|
75
75
|
examples/_openaisdk/bpo.py,sha256=7Jw16TiKFEQvYbt4g-h7QimLBw7xY49w1MthT5OwcTM,5267
|
@@ -91,7 +91,7 @@ examples/_openaisdk/open_router.py,sha256=Z4i_FJIc773JnIdYA3Hhuy1Dq5-DIOIrmkWwbp
|
|
91
91
|
examples/_openaisdk/openai_audio.py,sha256=ZyYslH9RfdJBpNUpjKn_5x0d94_H291Qt31u_6weISc,484
|
92
92
|
examples/_openaisdk/openai_baichuan.py,sha256=4_Gz8FeRrW5Zwnh-KFmaLOXr6sn3AxU47Qd2j8VDiQU,1527
|
93
93
|
examples/_openaisdk/openai_cache.py,sha256=89GbJ1QlqQbVxlUeuFgEbwDYHOkum7BK0zB-CqmDAZU,726
|
94
|
-
examples/_openaisdk/openai_chatfire.py,sha256=
|
94
|
+
examples/_openaisdk/openai_chatfire.py,sha256=XYiluw1SF-4-OVREsUuh-DVr-kmPC7aKoFxAdmydBO8,17211
|
95
95
|
examples/_openaisdk/openai_chatfire_all.py,sha256=DaiI1NfDeK655QvXyczkgXK9Awxp7NBe71LHA7trxGE,4831
|
96
96
|
examples/_openaisdk/openai_deepseek.py,sha256=-1WyTX5EfB8bdVhZ-y2yZQ04fVzujp4OPmOQR6i3QxI,660
|
97
97
|
examples/_openaisdk/openai_doubao.py,sha256=dp0SLvDBYpIJPNs_vnV2GBIEFa9FglNtYvfGKtJ9Bqk,1053
|
@@ -101,16 +101,16 @@ examples/_openaisdk/openai_god.py,sha256=O8fbhyxiIlVR7pTvBTXgQ2QTwfcZ2MkEIyDe_jp
|
|
101
101
|
examples/_openaisdk/openai_groq.py,sha256=_5Ue1yEx0Gp6theFioB_D8kepR0UlqMU96PVGH-LkVY,7363
|
102
102
|
examples/_openaisdk/openai_images.py,sha256=IZJY6h2Aq0HUWMwOWupwsSKVn11SVeiqSmzaiO0384c,5185
|
103
103
|
examples/_openaisdk/openai_json.py,sha256=M4tq_IkzYbmtgbFilGQHmRdJhH0OltiwGk7cK7uc-sQ,1850
|
104
|
-
examples/_openaisdk/openai_modelscope.py,sha256=
|
104
|
+
examples/_openaisdk/openai_modelscope.py,sha256=sOtTaoy56nONKRzEFODa1Rg7YZd81ksEGQNuxL0H858,1390
|
105
105
|
examples/_openaisdk/openai_moon.py,sha256=Y7RrB6SUi9taQOlA50nfGTpQa9ON6XmPmrxtL-hSL8M,1753
|
106
106
|
examples/_openaisdk/openai_oi.py,sha256=8KJ62QgpAZdGWAoYN6AC9M9TrD8JQf7ZO_NAgXZywTo,1414
|
107
107
|
examples/_openaisdk/openai_search.py,sha256=HKRTU6y9j_nUfZgrJt2eZ84d7TVT39WN-dcA_BFkVb4,937
|
108
108
|
examples/_openaisdk/openai_sensenova.py,sha256=TnJpHcD1tG5w_x5DsgFgBRWrU8XUkww0uCebgNFfZDM,3216
|
109
|
-
examples/_openaisdk/openai_siliconflow.py,sha256=
|
109
|
+
examples/_openaisdk/openai_siliconflow.py,sha256=A2CMev2Bw5OwEJQNXGXQKrNs0DzlvrV4hvs7D8AsDKM,1386
|
110
110
|
examples/_openaisdk/openai_step.py,sha256=rwXrGRs5CHhWpNl9oeIHltErp1Or_B3PVKNAoMGY-0c,1054
|
111
111
|
examples/_openaisdk/openai_test.py,sha256=OdtT8qxKbh4S8H2T_zgMShn8VMQ_xSWttfqNSYT2hNw,1905
|
112
|
-
examples/_openaisdk/openai_tune.py,sha256=
|
113
|
-
examples/_openaisdk/openai_zhipu.py,sha256=
|
112
|
+
examples/_openaisdk/openai_tune.py,sha256=D8n3mnlvVpDB_P11sErlibSyYtoFT5aKPUDQhtIANWE,1237
|
113
|
+
examples/_openaisdk/openai_zhipu.py,sha256=NplKPhtA5A8O7o9YkjL8YULzsBDBl341D8Gji7fCnw4,1628
|
114
114
|
examples/_openaisdk/ppu.py,sha256=jPBufoYt2ZrqNKjgbHr49YZI5vBM-32eBYbhbYduhnY,602
|
115
115
|
examples/_openaisdk/rag.py,sha256=NwNHhfi5FZ2XKCmsScjmM5cxCSfJuqx2jV-69ZXh244,1372
|
116
116
|
examples/_openaisdk/rag_.py,sha256=rNTCO83JK6zqQAiY0vlHZRN5DQNT9_nCYtjeh8lTijU,121217
|
@@ -226,7 +226,7 @@ examples/文档智能/__init__.py,sha256=JKHlkF5vTvwFJnFLIT7raQxsvBoK12b8lvVz-c0
|
|
226
226
|
meutils/__init__.py,sha256=X_i77Bvnt4-c4XUwuzGZTvXP2doPtTBqQsHl9DE455E,348
|
227
227
|
meutils/_utils.py,sha256=WGToRl9L6zrvDAW4CLcP8XyQf0YUnVOqBVNdOz9xv84,1768
|
228
228
|
meutils/cache_utils.py,sha256=6vz3G8wZ5iOXH91J-dp7ciU_BuLDzjjQUi4Hl8rrzOY,8425
|
229
|
-
meutils/common.py,sha256=
|
229
|
+
meutils/common.py,sha256=4iFOr2iNyijMdtvJa-a32owTJNQjwTZ9cQ2xjX5vVw0,16542
|
230
230
|
meutils/date_utils.py,sha256=--rh58qfa2iagLjgA0eh1myyvaZ0hgxHiy-WCsrNsuk,2497
|
231
231
|
meutils/dist_utils.py,sha256=3U9VXuVf4_iWtXn6C5Dd5yDDDpzdZxZaokuQmuUcUwY,3640
|
232
232
|
meutils/hash_utils.py,sha256=FwM5f1uuOJD6ePlC8nbzKd4J83ZmZ-If7v5Sv91FlQ4,2514
|
@@ -319,7 +319,7 @@ meutils/apis/baidu/bdaitpzs.py,sha256=50pe09ECSKRJnXhJVMZlwHhGGc4r8yQrVWjq6d6OK0
|
|
319
319
|
meutils/apis/baidu/test.py,sha256=nb9ivelHIw84-d1V-MNGRpGoTpLFsNXPk-TTKpjwOfQ,2058
|
320
320
|
meutils/apis/chatglm/__init__.py,sha256=uFuc9qY-ZjGqbsfcdGZkcEkhjATojWpzk2WXTTujc70,271
|
321
321
|
meutils/apis/chatglm/glm_video.py,sha256=9LA9pyeIcDDHXGhJbZSJfjxrLeNC3SIuCKJwDIXRKR8,14015
|
322
|
-
meutils/apis/chatglm/glm_video_api.py,sha256=
|
322
|
+
meutils/apis/chatglm/glm_video_api.py,sha256=itqXI0l9VbbH_f_NMT21_ju0x63Aah9DPWEZyG7XuHE,3865
|
323
323
|
meutils/apis/chatglm/images.py,sha256=k2EtOpksgAfJb2MD6kLOKKem713kamTIinRmgr8_3n0,1974
|
324
324
|
meutils/apis/chatglm/temp.py,sha256=zYe6JGUHVfb77T_TdNsdmpTs2D9OyqDTUEkblDAIoYY,17811
|
325
325
|
meutils/apis/chatglm/x.py,sha256=lI86Cd6SN4noCN5HM9gRugcVmjHDtxDTV4m-7Bj61N0,24312
|
@@ -328,7 +328,7 @@ meutils/apis/hailuoai/demo.py,sha256=WTnDFL2HgVpAjcn5BljLrbf2y2aATkvvNy75zoEIQkc
|
|
328
328
|
meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-xYIO8,9101
|
329
329
|
meutils/apis/hailuoai/music.py,sha256=S_oi-ZDbocTfbRgREdXtGx50xzUc1PCZGuxmr917E7M,265
|
330
330
|
meutils/apis/hailuoai/upload.py,sha256=22S6W6hGQhUquVKqh7QCkXb6KHDl3iMKKi6Z0AJdFEI,6501
|
331
|
-
meutils/apis/hailuoai/videos.py,sha256=
|
331
|
+
meutils/apis/hailuoai/videos.py,sha256=mQHxIaSIejFetqIFQSV4-y9BKbNq9SgwgMRPbrZhRS0,19338
|
332
332
|
meutils/apis/hailuoai/yy.py,sha256=gJvr7VDa0YPEUkZuETdmCFWWheylDPoMUg8gbS_SVw8,8937
|
333
333
|
meutils/apis/hf/__init__.py,sha256=ZZoRl8yNYekoMhE__67XXBKNSYJaLgjtaa0netjJKUU,271
|
334
334
|
meutils/apis/hf/got_ocr.py,sha256=pZURFpryDh_Ak6PNiARztOzYgkjVrfScJ5-0XzMBrzI,1776
|
@@ -362,15 +362,15 @@ meutils/apis/jiema/24mail.py,sha256=GUszRtoDe3T9q-X4embwT5YhcjgQ3XnkTJMKX93sCF4,
|
|
362
362
|
meutils/apis/jiema/__init__.py,sha256=YBybggoDRYCNYcwJOypxR7MzfTjIhqO7BkGlTt7NDo4,271
|
363
363
|
meutils/apis/jiema/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
|
364
364
|
meutils/apis/jimeng/__init__.py,sha256=a8CE_cOl9jqal0hycwaLm4Mnga8jmZlz9nCze_9bBqA,272
|
365
|
-
meutils/apis/jimeng/common.py,sha256=
|
365
|
+
meutils/apis/jimeng/common.py,sha256=wIduTWmtJJQWIbxDMVvQ9BlDheiGbeROPNuulfiwiNY,8819
|
366
366
|
meutils/apis/jimeng/doubao.py,sha256=vSEaTQHQdyhpHwCoq6CIikDZkUC9ncyTgKxGUC8cMCI,4345
|
367
367
|
meutils/apis/jimeng/doubao_utils.py,sha256=XCHnvwfCOtJmPQuzDOCfKDMP_Pcqh-Y4w2h5f7Y2gzM,5999
|
368
368
|
meutils/apis/jimeng/files.py,sha256=aFKg5iesJNVbXclaMR0yDpnKzjqW1yZxkyp9qrGTybo,5365
|
369
|
-
meutils/apis/jimeng/images.py,sha256=
|
369
|
+
meutils/apis/jimeng/images.py,sha256=Ey4_9eU7i7VbgY3VSXKTq0REsydIU9MCva6rT7oMszg,4017
|
370
370
|
meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vio,271
|
371
371
|
meutils/apis/kling/api.py,sha256=AuVQ9URmrbTlz7dEv_kIyhA9fMTZPL9rF3Td6KxTIMA,2183
|
372
372
|
meutils/apis/kling/images.py,sha256=FcCkvA4x1Po3SuugfQa8klT0Lrj7fq4N8kbzx6luUxI,5095
|
373
|
-
meutils/apis/kling/kolors_virtual_try_on.py,sha256=
|
373
|
+
meutils/apis/kling/kolors_virtual_try_on.py,sha256=iF_eyiofOQthUedl_u8H_u5mQ1CcisDqWSe2x9aiNQ4,3935
|
374
374
|
meutils/apis/kling/kolors_virtual_try_on_web.py,sha256=UNjr-T9waujh2Gg8SSmnlfP3wXsZeYsDdWMabRQaP1E,3951
|
375
375
|
meutils/apis/kling/videos.py,sha256=6z3w0gQHPe3BQNid4ZO2DfYSqvry44EMehG9U0qSB3E,2115
|
376
376
|
meutils/apis/kling/鉴权.py,sha256=1kR67Mb0PxEo4ZxLVJZys4Iru9BUnS_Qqo2cbpLZNCU,842
|
@@ -392,7 +392,8 @@ meutils/apis/oneapi/common.py,sha256=dZeuimzuZXVP_bEMYfTdZUKVJePrOVB0fWYl2dwQwcI
|
|
392
392
|
meutils/apis/oneapi/log.py,sha256=dOmyldX5DyJO7mMw4EzYorTIsdLKqZ3AZiV0z0tEpWE,1377
|
393
393
|
meutils/apis/oneapi/token.py,sha256=32xR3fnsqctZLEj79RKPptQtUvBF8_QtILIbLWM3yx0,1805
|
394
394
|
meutils/apis/oneapi/token_.py,sha256=3NPU1jbjiRbcXIkw8bANcnby3rXq4U2LjU_8W3PaE_4,2560
|
395
|
-
meutils/apis/oneapi/user.py,sha256=
|
395
|
+
meutils/apis/oneapi/user.py,sha256=kFUZAs8IO1w2pyWJdjCKcGmHTzLJ8GgGOZEFzmy0TCM,3477
|
396
|
+
meutils/apis/oneapi/utils.py,sha256=NWnUSMSXSwYK4izP19zG7d3JLOTXDNvDp5-Meofayfs,736
|
396
397
|
meutils/apis/pixverse/__init__.py,sha256=WiboEUfJ_3Hs2WI3OymEspx8_ZSTgMglxTJd97Qk7qo,271
|
397
398
|
meutils/apis/pixverse/pixverse.py,sha256=dvnyYVUXCEY_cLnmX9lvq9TesvplCMCuJmmP7ShchQk,5534
|
398
399
|
meutils/apis/proxy/__init__.py,sha256=by7_6GT3xeDjAWLLqbw8uvGaZ3RdprEW-zJ2DFLOdwA,271
|
@@ -461,7 +462,7 @@ meutils/async_task/tasks/vidu.py,sha256=obBG4_bf1oPIlLxeca1s1dGOnlyam2xYRy-8TrH3
|
|
461
462
|
meutils/async_utils/__init__.py,sha256=IiJLRm258jkM4xAjUKOD7tVwHIemj7_1CuzXCu3TuQU,284
|
462
463
|
meutils/async_utils/asyncer_.py,sha256=S1Sp5WZx_uKM7kJyRVYU8QhmbjOh61JmfN2IN_PJNX4,736
|
463
464
|
meutils/async_utils/background.py,sha256=dl6UaMIFBZDB1uxSZzGFJdSnpt3Xo0flK7gwsokVy78,1464
|
464
|
-
meutils/async_utils/common.py,sha256=
|
465
|
+
meutils/async_utils/common.py,sha256=bfZkUlQz21WHAh2W7SDxFtrvUYNBnRfVxIUgMmT7o1Q,5212
|
465
466
|
meutils/async_utils/test.py,sha256=lkZdgSzzgVg8hYVcaBNEJ3KBvFTEfjbXZVvtknQZsRQ,1155
|
466
467
|
meutils/caches/__init__.py,sha256=2JSElkhHh0vhUCvpBhTEsglw7WdkYj2HsAQutbqiBUM,242
|
467
468
|
meutils/caches/redis_cache.py,sha256=AgiYUjKO8cfm6uuxQ2nWeaRmf9jkv2AIMvkbMvh_nkU,1139
|
@@ -485,25 +486,25 @@ meutils/cmds/subprocess_demo.py,sha256=oTeTIx8k6XwtOT6hZpmy9XNcRErzilqWcdoxcrVcH
|
|
485
486
|
meutils/config_utils/__init__.py,sha256=GhgsStfGJDC8F_YgC6X5Jnj9HkgXJXxeYiJWTAkWKTo,271
|
486
487
|
meutils/config_utils/manager.py,sha256=du-8e9Zdgnrn9e0b4GPR6FGtuQY7DLWNJqgkoU0TZ48,3147
|
487
488
|
meutils/config_utils/lark_utils/__init__.py,sha256=Gf-5Y8uZiqY9jdbfiIboL92MQjOTOo0ZZ245PGxCbaY,297
|
488
|
-
meutils/config_utils/lark_utils/common.py,sha256=
|
489
|
+
meutils/config_utils/lark_utils/common.py,sha256=GsOQ0BbUeken7euMPsycJSxDloEqAqfMDzMeCCRg2AM,14278
|
489
490
|
meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfHOno5NxNAio,293
|
490
491
|
meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
|
491
492
|
meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
|
492
493
|
meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
|
493
|
-
meutils/data/VERSION,sha256=
|
494
|
+
meutils/data/VERSION,sha256=zqr6yaz0tAmphjpfJAUxC29MpvkVkCUkq8ScIUfBEv4,19
|
494
495
|
meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
495
496
|
meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
496
497
|
meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
|
497
498
|
meutils/data/coordinate.py,sha256=VbFtcdho0XG4j-rZD0DgqcIf2_LR2LlbLtfhLXbxiDY,600
|
498
499
|
meutils/data/cowboy-hat-face.webp,sha256=AHi2t-WclDVKWgGEe-oZzI4xKACNlgGWUgd622y0K-E,24814
|
499
500
|
meutils/data/oneapi/FOOTER.md,sha256=UHv39ey2ICocxPoCj-UI_PWyyWxZYLS8zG1inqtWNQ4,448
|
500
|
-
meutils/data/oneapi/NOTICE.md,sha256=
|
501
|
+
meutils/data/oneapi/NOTICE.md,sha256=0R7Gnh2yE9p_MRFx-a3Z4-UgRCJ3USCl0b86cOcc82Q,5220
|
501
502
|
meutils/data/oneapi/__init__.py,sha256=cm2Kq2RDXPfdVMWcoBB77bu00zJpTDd21Rgc6bTlhws,398
|
502
503
|
meutils/db/__init__.py,sha256=HR99rqxoFTWXUHDhLVl33tzIn8M86gigHLmEzOKH1Ec,7637
|
503
504
|
meutils/db/mongo.py,sha256=B-B_t939rxtnNGt0PxhivjIUwinmHPzLUpXsjUIaTkQ,2337
|
504
505
|
meutils/db/neo4j.py,sha256=eYd3jP3COWlOFBaF20UXphW67-HwlZ1t0Q34Cp-j6o0,2168
|
505
|
-
meutils/db/orm.py,sha256=
|
506
|
-
meutils/db/redis_db.py,sha256=
|
506
|
+
meutils/db/orm.py,sha256=MFT2_Cruao_vvVLKC68Pu2PC6vgEnvH4vJhivNhlGoA,5094
|
507
|
+
meutils/db/redis_db.py,sha256=hZ3oicep_EhmwuoY2Eb5l0igeaNzIhvUd_nveodXqNU,2514
|
507
508
|
meutils/decorators/__ai.py,sha256=QAz005-Wa-sp0YUUoelaR1pMbt6hPSBML5j0My6TbEI,1681
|
508
509
|
meutils/decorators/__init__.py,sha256=hgpHo40pfFWYXEnrW74o8W7SIfCD0GHr3gnujBw1hIQ,3284
|
509
510
|
meutils/decorators/cache.py,sha256=-sqhCuiSYZK1UtsRw7bBog19G65O9N27DVTAp_nlBk4,2972
|
@@ -515,6 +516,7 @@ meutils/decorators/decorator_demo.py,sha256=JLCulTW04uYHzLg6jRxVseaAdU-YeyL8Z2p-
|
|
515
516
|
meutils/decorators/demo.py,sha256=EZ9uYz5zGdAqUxa9l2C8gTZqdjY5Uw2uZsAUa9tZXq0,710
|
516
517
|
meutils/decorators/fastapi_decorator.py,sha256=TH5XtzALxDOFVJsK9XMx9xwV9_n9u7cGa9pwHUR218Q,3428
|
517
518
|
meutils/decorators/feishu.py,sha256=0mJSJXIQSc2qYafZzeDPb6XhH6fL8u0pUI9bhOljn1M,3634
|
519
|
+
meutils/decorators/polling.py,sha256=FLkV-OGTJBfDk8xy608TS_Nx9fc3GHx3SET6zmjdg7o,1153
|
518
520
|
meutils/decorators/retry.py,sha256=PV42YxBzzf5r8MKjzfkSyV3r6JiH9R_OBIo_1W2tPqg,6242
|
519
521
|
meutils/decorators/scheduler.py,sha256=NHeUXABx8YpHbxASqAJWEKa3i1AcyvIGcUW461glYKY,1678
|
520
522
|
meutils/decorators/schedulers.py,sha256=pZrqMVXl7levZdUgUYHfjwA8oJIPJvbVcQw5CwhuiWU,2664
|
@@ -574,6 +576,7 @@ meutils/llm/completions/cp.py,sha256=tGf3umHKXDH0KuTfN7BLr8yAvN6MYWLYR5UVaJkJs0c
|
|
574
576
|
meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgdSOyLtQY,5131
|
575
577
|
meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
|
576
578
|
meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
|
579
|
+
meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
|
577
580
|
meutils/llm/completions/oi.py,sha256=DmvzxJfdLA_I3MWcULhFtiUdo90j7V2dLvYvmZ-Tm9U,293
|
578
581
|
meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
|
579
582
|
meutils/llm/completions/tryblend.py,sha256=NfVRktn1QiE2k60PzEI-LmKuxZCc7mtL_KlsrVcZg4k,8957
|
@@ -695,15 +698,15 @@ meutils/schemas/task_types.py,sha256=iLIUIfD5fv3_ByQVhSq-p4Wv65yMtVbNwFievRfTsbI
|
|
695
698
|
meutils/schemas/translator_types.py,sha256=xufNQeyim7RhkzAK_J5_JchZfqaUBDXFwMtrPUu1xzI,627
|
696
699
|
meutils/schemas/tripo3d_types.py,sha256=mQF65HwHYmczRgAIuXK5hGxWDWNYDq-Xu9pja7Dwy4o,1452
|
697
700
|
meutils/schemas/tryblend_types.py,sha256=glZ0diRJvZmfQotcCWYBA832inihy8TvVWxWZ64CzWA,27793
|
698
|
-
meutils/schemas/video_types.py,sha256=
|
701
|
+
meutils/schemas/video_types.py,sha256=UxKg4BT5WGHdzRDqnumWX3dDmZ3M7s6baWqVn_pETtk,1783
|
699
702
|
meutils/schemas/vidu_types.py,sha256=F1ysI-LvO7mlv0uGkqQ_fyUD5g6qs027SV50g-bWdyo,5423
|
700
703
|
meutils/schemas/wechat_types.py,sha256=XtIJpMNBzkqBcU68Qno8bnUfHzDOXwFNCIL-6VYQKOA,9260
|
701
704
|
meutils/schemas/yuanbao_types.py,sha256=ZmB-7_eAuTU3QDonNgy0vcVP4YQNwA5yJ8G4mvfOmUE,11966
|
702
705
|
meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVIU,272
|
703
|
-
meutils/schemas/db/oneapi_types.py,sha256=
|
706
|
+
meutils/schemas/db/oneapi_types.py,sha256=U_foX82tejUT7efCqyMMTLfq-C4LXMXsmwz5pfldwNw,3734
|
704
707
|
meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
|
705
708
|
meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
|
706
|
-
meutils/schemas/oneapi/common.py,sha256=
|
709
|
+
meutils/schemas/oneapi/common.py,sha256=dvnibDVAtLKHurh2zzHC5E4vJCtkY20FRrVT7KGJUQU,23443
|
707
710
|
meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
|
708
711
|
meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
|
709
712
|
meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
|
@@ -728,7 +731,7 @@ meutils/serving/fastapi/utils.py,sha256=H5lQSU7-IfJ2w9FWbaJ34LCbQSaNTFSU7z1pG5wZ
|
|
728
731
|
meutils/serving/fastapi/__demo/__init__.py,sha256=TxXjqy2ZxAkadPxqN92Xq3ixCUYkQ-4X6UxsReRpHhc,271
|
729
732
|
meutils/serving/fastapi/__demo/异步任务.py,sha256=60_ruA4ljlTLIP5zxcejmm9WJ0SDuqpsO49SZK9vA_s,1444
|
730
733
|
meutils/serving/fastapi/dependencies/__init__.py,sha256=shI1EgfH4gFuajmHGlzt_ArdDrFq8DqnUg7ycpFuYl0,245
|
731
|
-
meutils/serving/fastapi/dependencies/auth.py,sha256=
|
734
|
+
meutils/serving/fastapi/dependencies/auth.py,sha256=oCqzC44XsBLTkRu36yAvvR2JmluaubdEFd18FYFaLRk,1645
|
732
735
|
meutils/serving/fastapi/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
733
736
|
meutils/serving/fastapi/exceptions/http_error.py,sha256=JtwHe_1OfJ0fs3F-zVIDvvx4PRBYFYe7gjbbwBk2SWc,2255
|
734
737
|
meutils/serving/fastapi/exceptions/validation_error.py,sha256=Q71wYfzGsVjLA-SQ3R5a8iT0kDG01mwriVUXHhvsTv0,1234
|
@@ -831,9 +834,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
|
|
831
834
|
meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
|
832
835
|
meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
|
833
836
|
meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
|
834
|
-
MeUtils-2024.12.
|
835
|
-
MeUtils-2024.12.
|
836
|
-
MeUtils-2024.12.
|
837
|
-
MeUtils-2024.12.
|
838
|
-
MeUtils-2024.12.
|
839
|
-
MeUtils-2024.12.
|
837
|
+
MeUtils-2024.12.26.22.14.1.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
838
|
+
MeUtils-2024.12.26.22.14.1.dist-info/METADATA,sha256=_P4-wAoIdxW8us12y6oIFwNqjos1ZKHmW7GWGIFbTLE,6202
|
839
|
+
MeUtils-2024.12.26.22.14.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
840
|
+
MeUtils-2024.12.26.22.14.1.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
|
841
|
+
MeUtils-2024.12.26.22.14.1.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
|
842
|
+
MeUtils-2024.12.26.22.14.1.dist-info/RECORD,,
|
examples/_openaisdk/4v.py
CHANGED
@@ -54,7 +54,7 @@ messages = [
|
|
54
54
|
# "text": f"解释 {base64_image}"
|
55
55
|
"text":
|
56
56
|
"""
|
57
|
-
|
57
|
+
一步一步思考,这个极限的,结果是多少
|
58
58
|
"""
|
59
59
|
},
|
60
60
|
# {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}},
|
@@ -76,7 +76,9 @@ response = openai.chat.completions.create(
|
|
76
76
|
# model='gpt-4o',
|
77
77
|
# model='gpt-4o-2024-08-06',
|
78
78
|
# model="deepseek-ai/deepseek-vl2",
|
79
|
-
model="doubao-vision-pro-32k",
|
79
|
+
# model="doubao-vision-pro-32k",
|
80
|
+
# model="qvq-72b-preview",
|
81
|
+
model="gemini-2.0-flash",
|
80
82
|
|
81
83
|
# model="gemini-pro-vision",
|
82
84
|
# model='gemini-1.5-flash-latest',
|
@@ -98,7 +100,7 @@ response = openai.chat.completions.create(
|
|
98
100
|
# model='kimi', # ocr
|
99
101
|
|
100
102
|
messages=messages,
|
101
|
-
max_tokens=
|
103
|
+
max_tokens=1000,
|
102
104
|
temperature=0,
|
103
105
|
# response_format={"type": "json_object"}
|
104
106
|
)
|
@@ -196,6 +196,11 @@ if __name__ == '__main__':
|
|
196
196
|
"o1"
|
197
197
|
]
|
198
198
|
|
199
|
+
models = [
|
200
|
+
# 'doubao-pro-128k',
|
201
|
+
# "ai-search-pro:scholar",
|
202
|
+
"ppu-1"
|
203
|
+
]
|
199
204
|
# check_models(models, api_key=os.getenv("OPENAI_API_KEY"))
|
200
205
|
check_models(models, api_key=os.getenv("OPENAI_API_KEY_OPENAI"))
|
201
206
|
|
@@ -10,6 +10,7 @@
|
|
10
10
|
"""
|
11
11
|
Qwen/Qwen2.5-Coder-32B-InstructQwen/Qwen2.5-Coder-14B-InstructQwen/Qwen2.5-Coder-7B-InstructQwen/Qwen2.5-72B-InstructQwen/Qwen2.5-32B-InstructQwen/Qwen2.5-14B-InstructQwen/Qwen2.5-7B-Instruct
|
12
12
|
|
13
|
+
Qwen/QVQ-72B-Preview
|
13
14
|
"""
|
14
15
|
import os
|
15
16
|
|
@@ -29,9 +30,12 @@ print(client.models.list())
|
|
29
30
|
try:
|
30
31
|
completion = client.chat.completions.create(
|
31
32
|
# model="step-1-8k",
|
32
|
-
model="Qwen/QwQ-32B-Preview",
|
33
|
+
# model="Qwen/QwQ-32B-Preview",
|
34
|
+
# model="Qwen/QVQ-72B-Preview",
|
35
|
+
model="qwen/qvq-72b-preview",
|
36
|
+
|
33
37
|
messages=[
|
34
|
-
{"role": "user", "content": "
|
38
|
+
{"role": "user", "content": "你是谁"}
|
35
39
|
],
|
36
40
|
# top_p=0.7,
|
37
41
|
top_p=None,
|
@@ -30,8 +30,8 @@ model = "01-ai/Yi-1.5-6B-Chat"
|
|
30
30
|
# model = "meta-llama/Meta-Llama-3.1-8B-Instruct"
|
31
31
|
# model = "meta-llama/Meta-Llama-3.1-70B-Instruct"
|
32
32
|
# model = 'meta-llama/Meta-Llama-3.1-405B-Instruct'
|
33
|
+
model = "deepseek-ai/DeepSeek-V2.5"
|
33
34
|
|
34
|
-
model = "meta-llama/Llama-3.3-70B-Instruct".lower()
|
35
35
|
|
36
36
|
# api black-forest-labs/FLUX.1-schnell
|
37
37
|
messages = [
|
@@ -9,13 +9,12 @@
|
|
9
9
|
# @Description :
|
10
10
|
|
11
11
|
|
12
|
-
|
13
|
-
|
14
12
|
from meutils.pipe import *
|
15
13
|
from openai import OpenAI
|
16
14
|
|
17
15
|
client = OpenAI(
|
18
|
-
|
16
|
+
base_url="https://all.chatfire.cn/kimi/v1",
|
17
|
+
api_key="eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ1c2VyLWNlbnRlciIsImV4cCI6MTc0MTQ4ODQyMiwiaWF0IjoxNzMzNzEyNDIyLCJqdGkiOiJjdGI1azloMDUyMmt2YjVnM2Z2ZyIsInR5cCI6InJlZnJlc2giLCJhcHBfaWQiOiJraW1pIiwic3ViIjoiY3RiNWs5aDA1MjJrdmI1ZzNmdWciLCJzcGFjZV9pZCI6ImN0YjVrOWgwNTIya3ZiNWczZnUwIiwiYWJzdHJhY3RfdXNlcl9pZCI6ImN0YjVrOWgwNTIya3ZiNWczZnRnIn0.93kaSswYJR3Bk9QfDKdluh1pzKNBVmISkhK3niV5UpSAM7K5-jGg_thRjMxFEbZDETksMxGL9-UOU7nJCH0GeQ"
|
19
18
|
)
|
20
19
|
|
21
20
|
completion = client.chat.completions.create(
|
@@ -27,9 +26,13 @@ completion = client.chat.completions.create(
|
|
27
26
|
model="gpt-4-turbo",
|
28
27
|
|
29
28
|
messages=[
|
30
|
-
{"role": "user", "content": "
|
29
|
+
{"role": "user", "content": "你是谁"},
|
31
30
|
],
|
32
31
|
max_tokens=10000
|
33
32
|
)
|
34
33
|
|
35
34
|
print(completion)
|
35
|
+
#
|
36
|
+
#
|
37
|
+
# a7yu5a3je@vv.beitekeji.run----9z1kdi0k----emgcbo1m76@163.com
|
38
|
+
# maginfic
|
@@ -16,9 +16,9 @@ from openai import OpenAI, APIStatusError
|
|
16
16
|
os.getenv("ZHIPUAI_API_KEY")
|
17
17
|
|
18
18
|
client = OpenAI(
|
19
|
-
base_url="https://free.chatfire.cn/v1"
|
20
|
-
|
21
|
-
|
19
|
+
# base_url="https://free.chatfire.cn/v1",
|
20
|
+
api_key="e21bd630f681c4d90b390cd609720483.WSFVgA3KkwNCX0mN",
|
21
|
+
base_url="https://open.bigmodel.cn/api/paas/v4/"
|
22
22
|
|
23
23
|
# api_key="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3YmFmYWQzYTRmZDU0OTk3YjNmYmNmYjExMjY5NThmZiIsImV4cCI6MTczODAyNDg4MiwibmJmIjoxNzIyNDcyODgyLCJpYXQiOjE3MjI0NzI4ODIsImp0aSI6IjY5Y2ZiNzgzNjRjODQxYjA5Mjg1OTgxYmY4ODMzZDllIiwidWlkIjoiNjVmMDc1Y2E4NWM3NDFiOGU2ZmRjYjEyIiwidHlwZSI6InJlZnJlc2gifQ.u9pIfuQZ7Y00DB6x3rbWYomwQGEyYDSE-814k67SH74",
|
24
24
|
# base_url="https://any2chat.chatfire.cn/glm/v1"
|
@@ -26,8 +26,8 @@ client = OpenAI(
|
|
26
26
|
|
27
27
|
try:
|
28
28
|
completion = client.chat.completions.create(
|
29
|
-
|
30
|
-
model="xxxxxxxxxxxxx",
|
29
|
+
model="glm-4-flash",
|
30
|
+
# model="xxxxxxxxxxxxx",
|
31
31
|
messages=[
|
32
32
|
{"role": "user", "content": "讲个故事"}
|
33
33
|
],
|
@@ -14,6 +14,8 @@ from meutils.notice.feishu import send_message as _send_message
|
|
14
14
|
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
15
15
|
|
16
16
|
from meutils.schemas.video_types import VideoRequest
|
17
|
+
from meutils.schemas.image_types import ImageRequest, ImagesResponse
|
18
|
+
from meutils.str_utils.regular_expression import parse_url
|
17
19
|
|
18
20
|
send_message = partial(
|
19
21
|
_send_message,
|
@@ -60,6 +62,28 @@ async def get_task(task_id, api_key):
|
|
60
62
|
)
|
61
63
|
return response
|
62
64
|
|
65
|
+
|
66
|
+
async def generate(request: ImageRequest, n: int = 30): # 兼容dalle3
|
67
|
+
request.model = "cogvideox-flash"
|
68
|
+
# request.duration = 10 # 模型后缀
|
69
|
+
|
70
|
+
url = None
|
71
|
+
if urls := parse_url(request.prompt):
|
72
|
+
url = urls[-1]
|
73
|
+
request.prompt = request.prompt.replace(url, "")
|
74
|
+
|
75
|
+
request = VideoRequest(image_url=url, **request.model_dump(exclude_none=True))
|
76
|
+
task_response = await create_task(request)
|
77
|
+
|
78
|
+
for i in range(n):
|
79
|
+
await asyncio.sleep(max(1., n / (i + 1)))
|
80
|
+
response = await get_task(task_response.id, task_response.system_fingerprint)
|
81
|
+
|
82
|
+
logger.debug(response)
|
83
|
+
if response.task_status == "SUCCESS" or response.video_result:
|
84
|
+
return ImagesResponse(data=response.model_dump()["video_result"])
|
85
|
+
|
86
|
+
|
63
87
|
# {
|
64
88
|
# "model": "cogvideox",
|
65
89
|
# "request_id": "8868902201637896192",
|
@@ -78,7 +102,15 @@ async def get_task(task_id, api_key):
|
|
78
102
|
|
79
103
|
# VideoResult
|
80
104
|
if __name__ == '__main__':
|
81
|
-
|
82
105
|
api_key = "e21bd630f681c4d90b390cd609720483.WSFVgA3Kk1wNCX0mN"
|
83
|
-
|
106
|
+
api_key = "7d10426c06afa81e8d7401d97781249c.DbqlSsicRtaUdKXI" # 新号
|
107
|
+
|
108
|
+
request = VideoRequest(
|
109
|
+
model='cogvideox-flash'
|
110
|
+
)
|
111
|
+
# r = arun(create_task(request, api_key=api_key))
|
84
112
|
pass
|
113
|
+
|
114
|
+
request = ImageRequest(prompt="https://oss.ffire.cc/files/kling_watermark.png 让这个女人笑起来")
|
115
|
+
|
116
|
+
arun(generate(request, n=30))
|
meutils/apis/hailuoai/videos.py
CHANGED
@@ -335,7 +335,7 @@ async def get_task(task_id: str, token: str):
|
|
335
335
|
response = VideoResponse(
|
336
336
|
task_id=task_id,
|
337
337
|
base_resp=data.get('statusInfo', {}),
|
338
|
-
videos=data.get('data'
|
338
|
+
videos=(data.get('data') or {}).get("videos")
|
339
339
|
)
|
340
340
|
return response
|
341
341
|
|
meutils/apis/jimeng/common.py
CHANGED
@@ -89,8 +89,8 @@ async def get_credit(token):
|
|
89
89
|
async def check_token(token, threshold: int = 1):
|
90
90
|
try:
|
91
91
|
response = await get_credit(token)
|
92
|
+
logger.debug(bjson(response))
|
92
93
|
credits = sum(response['data']['credit'].values())
|
93
|
-
# logger.debug(credits)
|
94
94
|
return credits >= threshold
|
95
95
|
except Exception as e:
|
96
96
|
return False
|
@@ -244,8 +244,11 @@ async def create_draft_content(request: ImageRequest, token: str):
|
|
244
244
|
if __name__ == '__main__':
|
245
245
|
token = "693701c43e477b7c405cc7e2fef0ddbd"
|
246
246
|
token = "eb4d120829cfd3ee957943f63d6152ed"
|
247
|
-
|
248
|
-
|
247
|
+
token = "dcf7bbc31faed9740b0bf748cd4d2c74"
|
248
|
+
token = "38d7d300b5e0a803431ef88d8d2acfef"
|
249
|
+
token = "916fed81175f5186a2c05375699ea40d"
|
250
|
+
# arun(get_credit(token))
|
251
|
+
arun(check_token(token))
|
249
252
|
|
250
253
|
# arun(get_upload_token(token))
|
251
254
|
#
|
meutils/apis/jimeng/images.py
CHANGED
@@ -70,6 +70,7 @@ async def get_task(task_id, token):
|
|
70
70
|
response = await client.post(url, json=payload)
|
71
71
|
response.raise_for_status()
|
72
72
|
data = response.json()
|
73
|
+
logger.debug(bjson(data))
|
73
74
|
# {'ret': '1015', 'errmsg': 'login error', 'systime': '1734524280', 'logid': '20241218201800AC3267447B287E9E6C46', 'data': None}
|
74
75
|
item_list = (data.get("data") or {}).get(task_id, {}).get("item_list")
|
75
76
|
image_data = map(lambda x: x.get("image", {}).get("large_images"), item_list)
|
@@ -84,13 +85,23 @@ async def get_task(task_id, token):
|
|
84
85
|
)
|
85
86
|
|
86
87
|
|
88
|
+
async def generate(request: ImageRequest):
|
89
|
+
task_response = await create_task(request)
|
90
|
+
for i in range(1, 10):
|
91
|
+
await asyncio.sleep(max(10 / i, 1))
|
92
|
+
response = await get_task(task_response.task_id, task_response.system_fingerprint)
|
93
|
+
logger.debug(response)
|
94
|
+
if data := response.data:
|
95
|
+
return {"data": data}
|
96
|
+
|
97
|
+
|
87
98
|
if __name__ == '__main__':
|
88
|
-
token = "
|
99
|
+
token = "eb4d120829cfd3ee957943f63d6152ed"
|
89
100
|
|
90
|
-
request = ImageRequest(prompt="
|
101
|
+
# request = ImageRequest(prompt="做一个圣诞节的海报", size="1024x1024")
|
91
102
|
# request = ImageRequest(prompt="https://oss.ffire.cc/files/kling_watermark.png 让她带上墨镜", size="1024x1024")
|
92
103
|
|
93
|
-
arun(create_task(request))
|
104
|
+
# task = arun(create_task(request))
|
94
105
|
|
95
106
|
# task_id = "10040025470722"
|
96
107
|
|
@@ -103,3 +114,7 @@ if __name__ == '__main__':
|
|
103
114
|
# task_id = "10082971040514"
|
104
115
|
#
|
105
116
|
# arun(get_task(task_id, token))
|
117
|
+
|
118
|
+
# arun(get_task(task.task_id, task.system_fingerprint))
|
119
|
+
|
120
|
+
arun(generate(ImageRequest(prompt="做一个圣诞节的海报")))
|
@@ -10,10 +10,13 @@
|
|
10
10
|
import jwt
|
11
11
|
|
12
12
|
from meutils.pipe import *
|
13
|
-
from meutils.schemas.task_types import TaskResponse
|
13
|
+
from meutils.schemas.task_types import TaskResponse
|
14
|
+
from meutils.schemas.image_types import ImageRequest, ImagesResponse
|
15
|
+
|
14
16
|
from meutils.schemas.kling_types import API_BASE_URL, TryOnRequest, TaskResponse
|
15
17
|
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
16
18
|
from meutils.decorators.retry import retrying
|
19
|
+
from meutils.str_utils.regular_expression import parse_url
|
17
20
|
|
18
21
|
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=cjTepf"
|
19
22
|
|
@@ -39,7 +42,7 @@ def encode_jwt_token(token):
|
|
39
42
|
######################################################################
|
40
43
|
@alru_cache(ttl=3600)
|
41
44
|
@retrying(title=__name__)
|
42
|
-
async def create_task(request: TryOnRequest, token: Optional[str] = None):
|
45
|
+
async def create_task(request: TryOnRequest, token: Optional[str] = None):
|
43
46
|
token = token or await get_next_token_for_polling(FEISHU_URL)
|
44
47
|
token = encode_jwt_token(token)
|
45
48
|
|
@@ -68,8 +71,23 @@ async def get_task(task_id, token):
|
|
68
71
|
return TaskResponse(**data)
|
69
72
|
|
70
73
|
|
74
|
+
async def generate(request: ImageRequest):
|
75
|
+
human_image, cloth_image = parse_url(request.prompt) # 两张图片
|
76
|
+
|
77
|
+
request = TryOnRequest(human_image=human_image, cloth_image=cloth_image)
|
78
|
+
task_response = await create_task(request)
|
79
|
+
|
80
|
+
for i in range(1, 10):
|
81
|
+
await asyncio.sleep(max(10 / i, 1))
|
82
|
+
|
83
|
+
response = await get_task(task_response.data.task_id, task_response.system_fingerprint)
|
84
|
+
if task_result := response.data.task_result:
|
85
|
+
images = task_result.get('images', [])
|
86
|
+
return ImagesResponse(data=images)
|
87
|
+
|
88
|
+
|
71
89
|
if __name__ == '__main__':
|
72
|
-
request = TryOnRequest()
|
90
|
+
# request = TryOnRequest()
|
73
91
|
# arun(create_task(request))
|
74
92
|
# {
|
75
93
|
# "code": 0,
|
@@ -83,5 +101,11 @@ if __name__ == '__main__':
|
|
83
101
|
# }
|
84
102
|
# }
|
85
103
|
|
86
|
-
token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMmU1NmZkY2ZiODY0MmZmYWEyMjZlZWIxNzY4MzMyMiIsImV4cCI6MTczMzE4OTI4OSwibmJmIjoxNzMzMTAyODg0fQ.YjB792REbuFaUoyUXvd5bpI76_0PBWawDHDjPHOBA5Q'
|
87
|
-
arun(get_task("CjiL9mdJhswAAAAAAG2C6g", token))
|
104
|
+
# token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMmU1NmZkY2ZiODY0MmZmYWEyMjZlZWIxNzY4MzMyMiIsImV4cCI6MTczMzE4OTI4OSwibmJmIjoxNzMzMTAyODg0fQ.YjB792REbuFaUoyUXvd5bpI76_0PBWawDHDjPHOBA5Q'
|
105
|
+
# arun(get_task("CjiL9mdJhswAAAAAAG2C6g", token))
|
106
|
+
|
107
|
+
human_image: str = "https://oss.ffire.cc/files/try-on.png"
|
108
|
+
cloth_image: str = "https://oss.ffire.cc/files/x.png"
|
109
|
+
|
110
|
+
request = ImageRequest(prompt=f"{human_image}\n{cloth_image}")
|
111
|
+
arun(generate(request))
|
meutils/apis/oneapi/user.py
CHANGED
@@ -91,10 +91,10 @@ async def put_user(payload, add_money: float = 0):
|
|
91
91
|
|
92
92
|
if __name__ == '__main__':
|
93
93
|
# api-key => get_one_log => get_user => put_user
|
94
|
-
|
94
|
+
arun(get_user(814))
|
95
95
|
# payload = arun(get_user(924))
|
96
96
|
# print(payload)
|
97
97
|
# arun(put_user(payload, -1))
|
98
98
|
|
99
|
-
arun(get_api_key_log('sk-gpoH1z3G6nHovD8MY40i6xx5tsC1vbh7B3Aao2jmejYNoKhv'))
|
100
|
-
# arun(get_user_money("sk-
|
99
|
+
# arun(get_api_key_log('sk-gpoH1z3G6nHovD8MY40i6xx5tsC1vbh7B3Aao2jmejYNoKhv'))
|
100
|
+
# arun(get_user_money("sk-gpoH1z3G6nHovD8MY40i6xx5tsC1vbh7B3Aao2jmejYNoKhv"))
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : utils
|
5
|
+
# @Time : 2024/12/25 18:13
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
|
13
|
+
from meutils.caches.redis_cache import cache
|
14
|
+
from meutils.db.orm import select_first
|
15
|
+
from meutils.schemas.db.oneapi_types import OneapiTask, OneapiUser, OneapiToken
|
16
|
+
|
17
|
+
|
18
|
+
# engine
|
19
|
+
|
20
|
+
|
21
|
+
@cache()
|
22
|
+
async def token2user(api_key: str):
|
23
|
+
logger.debug(api_key)
|
24
|
+
filter_kwargs = {
|
25
|
+
"key": api_key[3:],
|
26
|
+
}
|
27
|
+
|
28
|
+
return await select_first(OneapiToken, filter_kwargs)
|
29
|
+
|
30
|
+
|
31
|
+
if __name__ == '__main__':
|
32
|
+
arun(token2user('sk-q3uMFm0TFWi5lBQVhGwAWKup28j4omr9vThL4V5ynvdWdeZ8'))
|
meutils/async_utils/common.py
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
import inspect
|
12
12
|
import asyncio
|
13
|
-
from typing import Union, Any, Coroutine, AsyncIterator, Iterator, Iterable, AsyncIterable
|
13
|
+
from typing import Union, Any, Coroutine, AsyncIterator, Iterator, Iterable, AsyncIterable, Optional, Callable
|
14
14
|
|
15
15
|
import numpy as np
|
16
16
|
import pandas as pd
|
@@ -146,6 +146,16 @@ async def arequest(url, method='get', payload=None, **client_params):
|
|
146
146
|
return resp
|
147
147
|
|
148
148
|
|
149
|
+
async def poll(fn, n: int = 30, sleep_fn: Optional[Callable] = None):
|
150
|
+
if sleep_fn is None:
|
151
|
+
sleep_fn = lambda i: max(n / (i + 1), 1) # 预估大概 2~3 *n
|
152
|
+
|
153
|
+
for i in range(n):
|
154
|
+
await asyncio.sleep(sleep_fn(i))
|
155
|
+
if _ := await fn(): # 跳出
|
156
|
+
return _
|
157
|
+
|
158
|
+
|
149
159
|
if __name__ == '__main__':
|
150
160
|
from meutils.pipe import *
|
151
161
|
|
meutils/common.py
CHANGED
@@ -382,5 +382,5 @@ if __name__ == '__main__':
|
|
382
382
|
# with timer():
|
383
383
|
# token = arun(get_next_token(feishu_url))
|
384
384
|
|
385
|
-
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/XfjqszII3hZAEvtTOgecOgv2nye?sheet=c14b34"
|
386
|
-
print(arun(get_series(FEISHU_URL)))
|
385
|
+
# FEISHU_URL = "https://xchatllm.feishu.cn/sheets/XfjqszII3hZAEvtTOgecOgv2nye?sheet=c14b34"
|
386
|
+
# print(arun(get_series(FEISHU_URL)))
|
meutils/data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2024.12.
|
1
|
+
2024.12.26.22.14.01
|
meutils/data/oneapi/NOTICE.md
CHANGED
@@ -31,6 +31,16 @@
|
|
31
31
|
|
32
32
|
</details>
|
33
33
|
|
34
|
+
## 2024-12-24
|
35
|
+
- 上线新模型
|
36
|
+
- doubao-pro-256k:相比Doubao-pro-128k/240628,长文任务效果显著提升10%以上,要点提取、字数遵循、多轮对话上文记忆等能力大幅提升
|
37
|
+
- [qvq-72b-preview](https://mp.weixin.qq.com/s/WzL7tbFUZOgE2IFMeHT-sQ):Qwen开源视觉推理模型QVQ,更睿智地看世界!
|
38
|
+
|
39
|
+
- 增加gemini-2.0配额,支持多模型,默认分组可用
|
40
|
+
- "gemini-2.0-flash"
|
41
|
+
- "gemini-2.0-flash-exp"
|
42
|
+
|
43
|
+
|
34
44
|
## 2024-12-20
|
35
45
|
- 修复SunoV4无水印版本
|
36
46
|
- [异步任务接口文档](https://api.chatfire.cn/docs/api-246593467)
|
meutils/db/orm.py
CHANGED
@@ -97,6 +97,16 @@ async def update_or_insert(entity, filter_kwargs: Optional[dict] = None, update_
|
|
97
97
|
return data
|
98
98
|
|
99
99
|
|
100
|
+
async def select_first(entity, filter_kwargs: Optional[dict] = None):
|
101
|
+
async with AsyncSession(engine) as session:
|
102
|
+
statement = select(entity).filter_by(**filter_kwargs)
|
103
|
+
|
104
|
+
if result := await session.exec(statement):
|
105
|
+
_ = result.first()
|
106
|
+
logger.debug(_)
|
107
|
+
return _
|
108
|
+
|
109
|
+
|
100
110
|
if __name__ == '__main__':
|
101
111
|
pass
|
102
112
|
|
@@ -124,21 +134,46 @@ if __name__ == '__main__':
|
|
124
134
|
#
|
125
135
|
# arun(create_db_and_tables())
|
126
136
|
|
127
|
-
from meutils.schemas.db.oneapi_types import OneapiTask
|
137
|
+
from meutils.schemas.db.oneapi_types import OneapiTask, OneapiUser, OneapiToken
|
138
|
+
|
139
|
+
# filter_kwargs = {
|
140
|
+
# "task_id": "888",
|
141
|
+
# }
|
142
|
+
#
|
143
|
+
#
|
144
|
+
# async def main():
|
145
|
+
# async with AsyncSession(engine) as session:
|
146
|
+
# statement = select(OneapiTask).filter_by(**filter_kwargs)
|
147
|
+
# result = await session.exec(statement)
|
148
|
+
# logger.debug(result)
|
149
|
+
# if result:
|
150
|
+
# logger.debug(result.first())
|
151
|
+
# # await session.commit()
|
152
|
+
#
|
153
|
+
#
|
154
|
+
# arun(update_or_insert(OneapiTask, filter_kwargs))
|
128
155
|
|
129
156
|
filter_kwargs = {
|
130
|
-
"
|
157
|
+
"id": "1",
|
131
158
|
}
|
132
159
|
|
133
160
|
|
134
161
|
async def main():
|
135
162
|
async with AsyncSession(engine) as session:
|
136
|
-
|
163
|
+
# filter_kwargs = {
|
164
|
+
# "id": "1",
|
165
|
+
# }
|
166
|
+
# statement = select(OneapiUser).filter_by(**filter_kwargs)
|
167
|
+
|
168
|
+
filter_kwargs = {
|
169
|
+
"key": "gpoH1z3G6nHovD8MY40i6xx5tsC1vbh7B3Aao2jmejYNoKhv",
|
170
|
+
}
|
171
|
+
statement = select(OneapiToken).filter_by(**filter_kwargs)
|
172
|
+
|
137
173
|
result = await session.exec(statement)
|
138
|
-
logger.debug(result)
|
139
174
|
if result:
|
140
175
|
logger.debug(result.first())
|
141
176
|
# await session.commit()
|
142
177
|
|
143
178
|
|
144
|
-
arun(
|
179
|
+
arun(main())
|
meutils/db/redis_db.py
CHANGED
@@ -28,9 +28,6 @@ if REDIS_URL := os.getenv("REDIS_URL"):
|
|
28
28
|
# redis_client = Redis.from_url(REDIS_URL, **kwargs)
|
29
29
|
# redis_aclient = AsyncRedis.from_url(REDIS_URL, **kwargs)
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
31
|
else:
|
35
32
|
redis_client = Redis(**kwargs) # decode_responses=True
|
36
33
|
redis_aclient = AsyncRedis(**kwargs)
|
@@ -76,9 +73,15 @@ if __name__ == '__main__':
|
|
76
73
|
#
|
77
74
|
# arun(redis_aclient.select(1))
|
78
75
|
|
76
|
+
# async def main():
|
77
|
+
# r = await redis_aclient.select(1)
|
78
|
+
# return await redis_aclient.get(task_id)
|
79
|
+
#
|
80
|
+
#
|
81
|
+
# arun(main())
|
82
|
+
|
79
83
|
async def main():
|
80
|
-
|
81
|
-
return await redis_aclient.get(task_id)
|
84
|
+
return await redis_aclient.lpop("redis_key")
|
82
85
|
|
83
86
|
|
84
87
|
arun(main())
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : polling
|
5
|
+
# @Time : 2024/12/26 14:08
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
import time
|
11
|
+
|
12
|
+
from meutils.pipe import *
|
13
|
+
|
14
|
+
|
15
|
+
def poll(n: int = 30, sleep_fn: Optional[Callable] = None):
|
16
|
+
if sleep_fn is None:
|
17
|
+
sleep_fn = lambda i: max(n / (i + 1), 1) # 预估大概 2~3 *n
|
18
|
+
|
19
|
+
def decorator(fn):
|
20
|
+
is_coroutine = inspect.iscoroutinefunction(fn)
|
21
|
+
|
22
|
+
@wraps(fn)
|
23
|
+
async def wrapper(*args, **kwargs):
|
24
|
+
for i in range(n):
|
25
|
+
await asyncio.sleep(sleep_fn(i))
|
26
|
+
# 根据函数类型选择调用方式
|
27
|
+
result = await fn(*args, **kwargs) if is_coroutine else fn(*args, **kwargs)
|
28
|
+
if result: # 跳出
|
29
|
+
return result
|
30
|
+
return None
|
31
|
+
|
32
|
+
return wrapper
|
33
|
+
|
34
|
+
return decorator
|
35
|
+
|
36
|
+
|
37
|
+
if __name__ == '__main__':
|
38
|
+
@poll(n=5)
|
39
|
+
async def check_something():
|
40
|
+
# 你的检查逻辑
|
41
|
+
|
42
|
+
logger.debug(time.ctime())
|
43
|
+
return {"status": "ok"}
|
44
|
+
|
45
|
+
|
46
|
+
arun(check_something())
|
@@ -77,6 +77,36 @@ class OneapiTask(SQLModel, table=True):
|
|
77
77
|
arbitrary_types_allowed = True
|
78
78
|
|
79
79
|
|
80
|
+
class OneapiUser(SQLModel, table=True):
|
81
|
+
__tablename__ = "users" # 自定义表名
|
82
|
+
|
83
|
+
id: Optional[int] = Field(default=None, primary_key=True)
|
84
|
+
username: Optional[str] = Field(default=None)
|
85
|
+
email: Optional[str] = Field(default=None)
|
86
|
+
|
87
|
+
quota: Optional[int] = Field(default=None)
|
88
|
+
used_quota: Optional[int] = Field(default=None)
|
89
|
+
|
90
|
+
request_count: Optional[int] = Field(default=None)
|
91
|
+
|
92
|
+
access_token: Optional[str] = Field(default=None)
|
93
|
+
|
94
|
+
class Config:
|
95
|
+
arbitrary_types_allowed = True
|
96
|
+
|
97
|
+
|
98
|
+
class OneapiToken(SQLModel, table=True):
|
99
|
+
__tablename__ = "tokens" # 自定义表名
|
100
|
+
|
101
|
+
id: Optional[int] = Field(default=None, primary_key=True)
|
102
|
+
user_id: Optional[int] = Field(default=None)
|
103
|
+
key: Optional[str] = Field(default=None)
|
104
|
+
used_quota: Optional[int] = Field(default=None)
|
105
|
+
|
106
|
+
class Config:
|
107
|
+
arbitrary_types_allowed = True
|
108
|
+
|
109
|
+
|
80
110
|
if __name__ == '__main__':
|
81
111
|
print(Hero())
|
82
112
|
# print(Tasks())
|
meutils/schemas/oneapi/common.py
CHANGED
@@ -321,6 +321,7 @@ MODEL_RATIO = {
|
|
321
321
|
"qwen/qwq-32b-preview": 1,
|
322
322
|
"Qwen/QwQ-32B-Preview": 1,
|
323
323
|
"qwq-32b-preview": 1,
|
324
|
+
"qvq-72b-preview": 2,
|
324
325
|
|
325
326
|
"qwen1.5-7b-chat": 0.05, # 特价
|
326
327
|
"qwen1.5-14b-chat": 0.7,
|
@@ -382,6 +383,9 @@ MODEL_RATIO = {
|
|
382
383
|
"doubao-lite-128k": 0.4,
|
383
384
|
"doubao-lite-32k": 0.15,
|
384
385
|
"doubao-lite-4k": 0.15,
|
386
|
+
|
387
|
+
"doubao-pro-256k": 0.01,
|
388
|
+
|
385
389
|
"doubao-pro-128k": 2.5,
|
386
390
|
"doubao-pro-32k": 0.4,
|
387
391
|
"doubao-pro-4k": 0.4,
|
@@ -463,6 +467,8 @@ MODEL_RATIO = {
|
|
463
467
|
"gemini-1.5-flash-exp-0827": 0.1,
|
464
468
|
"google/gemini-flash-1.5-exp": 0.1, # openrouter免费
|
465
469
|
"google/gemini-flash-1.5-8b-exp": 0.1, # openrouter免费
|
470
|
+
"gemini-2.0-flash": 0.5,
|
471
|
+
"gemini-2.0-flash-exp": 0.5,
|
466
472
|
|
467
473
|
"gemini-1.5-pro-001": 1,
|
468
474
|
"gemini-1.5-pro-002": 1,
|
@@ -625,13 +631,18 @@ COMPLETION_RATIO = {
|
|
625
631
|
"gemini-1.5-pro-002": 4,
|
626
632
|
"gemini-1.5-flash-002": 4,
|
627
633
|
|
634
|
+
"gemini-2.0-flash": 5,
|
635
|
+
"gemini-2.0-flash-exp": 5,
|
636
|
+
|
628
637
|
"hunyuan-a52b-instruct": 5,
|
629
|
-
"qwen2.5-coder-32b-instruct":
|
638
|
+
"qwen2.5-coder-32b-instruct": 3,
|
630
639
|
|
631
640
|
"qwen-turbo-2024-11-01": 3,
|
632
|
-
"qwen/qwq-32b-preview":
|
633
|
-
"Qwen/QwQ-32B-Preview":
|
634
|
-
"qwq-32b-preview":
|
641
|
+
"qwen/qwq-32b-preview": 3,
|
642
|
+
"Qwen/QwQ-32B-Preview": 3,
|
643
|
+
"qwq-32b-preview": 3,
|
644
|
+
"qvq-72b-preview": 3,
|
645
|
+
|
635
646
|
"qwen-long": 5,
|
636
647
|
"qwen-max": 5,
|
637
648
|
"glm-4v-flash": 5,
|
meutils/schemas/video_types.py
CHANGED
@@ -12,9 +12,42 @@ from meutils.pipe import *
|
|
12
12
|
|
13
13
|
|
14
14
|
class VideoRequest(BaseModel):
|
15
|
-
model:
|
15
|
+
model: Literal["cogvideox-flash", "cogvideox"] = "cogvideox-flash"
|
16
|
+
|
16
17
|
prompt: str = "比得兔开小汽车,游走在马路上,脸上的表情充满开心喜悦。"
|
18
|
+
|
19
|
+
"""
|
20
|
+
提供基于其生成内容的图像。如果传入此参数,系统将以该图像为基础进行操作。支持通过URL或Base64编码传入图片。
|
21
|
+
图片要求如下:图片支持.png、jpeg、.jpg 格式、图片大小:不超过5M。image_url和prompt二选一或者同时传入。
|
22
|
+
"""
|
17
23
|
image_url: Optional[str] = None
|
18
24
|
|
25
|
+
"""
|
26
|
+
输出模式,默认为 "quality"。 "quality":质量优先,生成质量高。 "speed":速度优先,生成时间更快,质量相对降低。
|
27
|
+
cogvideox-flash模型不支持选择输出模式。
|
28
|
+
"""
|
29
|
+
quality: Literal["quality", "speed"] = "speed"
|
30
|
+
|
31
|
+
"""是否生成 AI 音效。默认值: False(不生成音效)。"""
|
32
|
+
with_audio: bool = True
|
33
|
+
|
34
|
+
"""
|
35
|
+
默认值: 若不指定,默认生成视频的短边为 1080,长边根据原图片比例缩放。最高支持 4K 分辨率。
|
36
|
+
分辨率选项:720x480、1024x1024、1280x960、960x1280、1920x1080、1080x1920、2048x1080、3840x2160
|
37
|
+
"""
|
38
|
+
size: Literal[
|
39
|
+
'720x480',
|
40
|
+
'1024x1024',
|
41
|
+
'1280x960',
|
42
|
+
'960x1280',
|
43
|
+
'1920x1080',
|
44
|
+
'1080x1920',
|
45
|
+
'2048x1080',
|
46
|
+
'3840x2160'] = "1024x1024"
|
47
|
+
|
48
|
+
duration: Literal[5, 10] = 5
|
49
|
+
|
50
|
+
fps: Literal[30, 60] = 30
|
51
|
+
|
19
52
|
class Config:
|
20
53
|
frozen = True
|
@@ -8,6 +8,7 @@
|
|
8
8
|
# @Software : PyCharm
|
9
9
|
# @Description :
|
10
10
|
|
11
|
+
import numpy as np
|
11
12
|
from typing import Optional, Union
|
12
13
|
|
13
14
|
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
|
@@ -16,10 +17,8 @@ from fastapi import Depends, HTTPException, status
|
|
16
17
|
http_bearer = HTTPBearer()
|
17
18
|
|
18
19
|
|
19
|
-
# get_bearer_token = http_bearer
|
20
|
-
|
21
|
-
|
22
20
|
# 定义获取token的函数
|
21
|
+
|
23
22
|
async def get_bearer_token(
|
24
23
|
auth: Optional[HTTPAuthorizationCredentials] = Depends(http_bearer)
|
25
24
|
) -> Optional[str]:
|
@@ -31,10 +30,39 @@ async def get_bearer_token(
|
|
31
30
|
if auth is None:
|
32
31
|
return None
|
33
32
|
|
34
|
-
|
33
|
+
token = auth.credentials
|
34
|
+
if token.startswith('redis:'): # 初始化吧,太长?
|
35
|
+
pass
|
36
|
+
if ',' in token: # 初始化redis
|
37
|
+
pass
|
38
|
+
elif ',' in token: # 分隔符
|
39
|
+
token = np.random.choice(token.split(','))
|
40
|
+
|
41
|
+
return token
|
42
|
+
|
43
|
+
|
44
|
+
# async def get_next_token(redis_key):
|
45
|
+
# """轮询"""
|
46
|
+
# if api_key := await redis_aclient.lpop(redis_key):
|
47
|
+
# await redis_aclient.rpush(redis_key, api_key)
|
48
|
+
# return api_key
|
49
|
+
|
50
|
+
|
51
|
+
async def get_bearer_token_for_oneapi(
|
52
|
+
auth: Optional[HTTPAuthorizationCredentials] = Depends(http_bearer)
|
53
|
+
) -> Optional[str]:
|
54
|
+
"""
|
55
|
+
# todo: oneapi userinfo apikey info
|
56
|
+
"""
|
57
|
+
if auth is None:
|
58
|
+
return None
|
59
|
+
|
60
|
+
token = auth.credentials
|
35
61
|
|
62
|
+
return token
|
36
63
|
|
37
|
-
# todo: oneapi userinfo apikey info
|
38
64
|
|
39
65
|
if __name__ == '__main__':
|
40
|
-
|
66
|
+
from meutils.pipe import *
|
67
|
+
|
68
|
+
arun(get_bearer_token(HTTPAuthorizationCredentials(scheme="Bearer", credentials="123")))
|
File without changes
|
File without changes
|
{MeUtils-2024.12.23.16.36.51.dist-info → MeUtils-2024.12.26.22.14.1.dist-info}/entry_points.txt
RENAMED
File without changes
|
{MeUtils-2024.12.23.16.36.51.dist-info → MeUtils-2024.12.26.22.14.1.dist-info}/top_level.txt
RENAMED
File without changes
|