MeUtils 2024.11.29.18.57.29__py3-none-any.whl → 2024.11.29.20.22.18__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.11.29.18.57.29.dist-info → MeUtils-2024.11.29.20.22.18.dist-info}/METADATA +29 -29
- {MeUtils-2024.11.29.18.57.29.dist-info → MeUtils-2024.11.29.20.22.18.dist-info}/RECORD +14 -13
- meutils/apis/kling/kolors_virtual_try_on.py +1 -1
- meutils/async_task/tasks/kling.py +1 -1
- meutils/async_task/tasks/replicateai.py +24 -0
- meutils/async_task/tasks/test.py +22 -9
- meutils/async_task/utils.py +45 -3
- meutils/data/VERSION +1 -1
- meutils/schemas/db/oneapi_types.py +4 -1
- meutils/schemas/task_types.py +7 -3
- {MeUtils-2024.11.29.18.57.29.dist-info → MeUtils-2024.11.29.20.22.18.dist-info}/LICENSE +0 -0
- {MeUtils-2024.11.29.18.57.29.dist-info → MeUtils-2024.11.29.20.22.18.dist-info}/WHEEL +0 -0
- {MeUtils-2024.11.29.18.57.29.dist-info → MeUtils-2024.11.29.20.22.18.dist-info}/entry_points.txt +0 -0
- {MeUtils-2024.11.29.18.57.29.dist-info → MeUtils-2024.11.29.20.22.18.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: MeUtils
|
3
|
-
Version: 2024.11.29.
|
3
|
+
Version: 2024.11.29.20.22.18
|
4
4
|
Summary: description
|
5
5
|
Home-page: https://github.com/yuanjie-ai/MeUtils
|
6
6
|
Author: yuanjie
|
@@ -61,42 +61,42 @@ Requires-Dist: sse-starlette ; extra == 'ai'
|
|
61
61
|
Requires-Dist: openai ; extra == 'ai'
|
62
62
|
Requires-Dist: langchain ; extra == 'ai'
|
63
63
|
Provides-Extra: all
|
64
|
-
Requires-Dist: pretty-errors ; extra == 'all'
|
65
|
-
Requires-Dist: jieba ; extra == 'all'
|
66
|
-
Requires-Dist: jinja2 ; extra == 'all'
|
67
|
-
Requires-Dist: redis-py-cluster ; extra == 'all'
|
68
64
|
Requires-Dist: uvicorn ; extra == 'all'
|
69
|
-
Requires-Dist:
|
70
|
-
Requires-Dist: seaborn ; extra == 'all'
|
71
|
-
Requires-Dist: sqlalchemy ; extra == 'all'
|
65
|
+
Requires-Dist: polars ; extra == 'all'
|
72
66
|
Requires-Dist: geopy ; extra == 'all'
|
73
|
-
Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
|
74
|
-
Requires-Dist: sse-starlette ; extra == 'all'
|
75
|
-
Requires-Dist: thriftpy2 ; extra == 'all'
|
76
|
-
Requires-Dist: missingno ; extra == 'all'
|
77
|
-
Requires-Dist: fastapi[all] ; extra == 'all'
|
78
|
-
Requires-Dist: streamlit ; extra == 'all'
|
79
|
-
Requires-Dist: fastapi ; extra == 'all'
|
80
67
|
Requires-Dist: pymysql ; extra == 'all'
|
81
|
-
Requires-Dist:
|
82
|
-
Requires-Dist: pymupd ; extra == 'all'
|
68
|
+
Requires-Dist: pymilvus ; extra == 'all'
|
83
69
|
Requires-Dist: jmespath ; extra == 'all'
|
84
|
-
Requires-Dist:
|
70
|
+
Requires-Dist: fastapi[all] ; extra == 'all'
|
71
|
+
Requires-Dist: pymupd ; extra == 'all'
|
72
|
+
Requires-Dist: asyncmy ; extra == 'all'
|
73
|
+
Requires-Dist: gunicorn ; extra == 'all'
|
74
|
+
Requires-Dist: jieba ; extra == 'all'
|
75
|
+
Requires-Dist: schedule ; extra == 'all'
|
76
|
+
Requires-Dist: sqlalchemy ; extra == 'all'
|
77
|
+
Requires-Dist: thefuck ; extra == 'all'
|
85
78
|
Requires-Dist: pandas-summary ; extra == 'all'
|
86
|
-
Requires-Dist:
|
87
|
-
Requires-Dist: openai ; extra == 'all'
|
88
|
-
Requires-Dist: langchain ; extra == 'all'
|
89
|
-
Requires-Dist: cachetools ; extra == 'all'
|
79
|
+
Requires-Dist: missingno ; extra == 'all'
|
90
80
|
Requires-Dist: filetype ; extra == 'all'
|
91
|
-
Requires-Dist: iteration-utilities ; extra == 'all'
|
92
81
|
Requires-Dist: dataframe-image ; extra == 'all'
|
93
|
-
Requires-Dist:
|
94
|
-
Requires-Dist:
|
95
|
-
Requires-Dist:
|
96
|
-
Requires-Dist: pymilvus ; extra == 'all'
|
97
|
-
Requires-Dist: gunicorn ; extra == 'all'
|
82
|
+
Requires-Dist: langchain ; extra == 'all'
|
83
|
+
Requires-Dist: seaborn ; extra == 'all'
|
84
|
+
Requires-Dist: fastapi ; extra == 'all'
|
98
85
|
Requires-Dist: faiss-cpu ; extra == 'all'
|
99
|
-
Requires-Dist:
|
86
|
+
Requires-Dist: pretty-errors ; extra == 'all'
|
87
|
+
Requires-Dist: iteration-utilities ; extra == 'all'
|
88
|
+
Requires-Dist: pyarrow ; extra == 'all'
|
89
|
+
Requires-Dist: redis-py-cluster ; extra == 'all'
|
90
|
+
Requires-Dist: sse-starlette ; extra == 'all'
|
91
|
+
Requires-Dist: pymongo ; extra == 'all'
|
92
|
+
Requires-Dist: thriftpy2 ; extra == 'all'
|
93
|
+
Requires-Dist: simplejson ; extra == 'all'
|
94
|
+
Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
|
95
|
+
Requires-Dist: jinja2 ; extra == 'all'
|
96
|
+
Requires-Dist: cachetools ; extra == 'all'
|
97
|
+
Requires-Dist: streamlit ; extra == 'all'
|
98
|
+
Requires-Dist: reportlab ; extra == 'all'
|
99
|
+
Requires-Dist: openai ; extra == 'all'
|
100
100
|
Provides-Extra: ann
|
101
101
|
Requires-Dist: pymilvus ; extra == 'ann'
|
102
102
|
Requires-Dist: faiss-cpu ; extra == 'ann'
|
@@ -350,7 +350,7 @@ meutils/apis/jiema/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,36
|
|
350
350
|
meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vio,271
|
351
351
|
meutils/apis/kling/api.py,sha256=AuVQ9URmrbTlz7dEv_kIyhA9fMTZPL9rF3Td6KxTIMA,2183
|
352
352
|
meutils/apis/kling/images.py,sha256=FcCkvA4x1Po3SuugfQa8klT0Lrj7fq4N8kbzx6luUxI,5095
|
353
|
-
meutils/apis/kling/kolors_virtual_try_on.py,sha256=
|
353
|
+
meutils/apis/kling/kolors_virtual_try_on.py,sha256=xn9zwUjdqRZAuCQ7vxFrTK01b6ScyhF4aMxEkm8-CG4,2818
|
354
354
|
meutils/apis/kling/videos.py,sha256=6z3w0gQHPe3BQNid4ZO2DfYSqvry44EMehG9U0qSB3E,2115
|
355
355
|
meutils/apis/kling/鉴权.py,sha256=1kR67Mb0PxEo4ZxLVJZys4Iru9BUnS_Qqo2cbpLZNCU,842
|
356
356
|
meutils/apis/kuaishou/__init__.py,sha256=fDzJvVQl_CxHyiL3bCPH9x7gOLYfK6QuW2iQ33eez7c,243
|
@@ -419,12 +419,13 @@ meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpML
|
|
419
419
|
meutils/async_task/celery_config.py,sha256=-p8-uGQq0HFFifZWZY6duCxEDcPJpWA4A_Rnz-WNysU,3430
|
420
420
|
meutils/async_task/common.py,sha256=ZJ4e0CsEJf1ppPmGSwPCwhZBAkUL5xsi_t1ny-bJuko,845
|
421
421
|
meutils/async_task/demo_create_tasks.py,sha256=DBUxi8lp4iJZrubn6XztRHB4DuZDEXpohSxCH6NMKuc,2219
|
422
|
-
meutils/async_task/utils.py,sha256=
|
422
|
+
meutils/async_task/utils.py,sha256=IAcGmXUn-L7oJ-i66p-KJCtpNFMQY7lBXGe2ausNljg,3957
|
423
423
|
meutils/async_task/通用设计.py,sha256=kGdrJHJu9VoOkyGHREn0KUtBTibAaLIcG0O6hEJNhLA,3232
|
424
424
|
meutils/async_task/tasks/__init__.py,sha256=flHRXJMdts_9az9T9V1c5l3Y-gaDD88COWrARr4WAKU,246
|
425
425
|
meutils/async_task/tasks/_all.py,sha256=Vz63k9yvgj-IBGjekm0u2t571TTT0nMRMqcPvPqJAbY,533
|
426
|
-
meutils/async_task/tasks/kling.py,sha256=
|
427
|
-
meutils/async_task/tasks/
|
426
|
+
meutils/async_task/tasks/kling.py,sha256=4n898Xxv_TgohxqCbsfKt0Jkm6VL3nWY_QkHLckXEx8,925
|
427
|
+
meutils/async_task/tasks/replicateai.py,sha256=wbxx6kB7GQZPnKRE6J6r1mEv3wO8X7XaGaNMC5rBVoE,716
|
428
|
+
meutils/async_task/tasks/test.py,sha256=IhLJo-s9_gakTkvY7mjjkWtP3IIbb5KLHJpBkrXxIwU,2316
|
428
429
|
meutils/async_task/tasks/vidu.py,sha256=obBG4_bf1oPIlLxeca1s1dGOnlyam2xYRy-8TrH3ZTk,620
|
429
430
|
meutils/async_utils/__init__.py,sha256=IiJLRm258jkM4xAjUKOD7tVwHIemj7_1CuzXCu3TuQU,284
|
430
431
|
meutils/async_utils/asyncer_.py,sha256=S1Sp5WZx_uKM7kJyRVYU8QhmbjOh61JmfN2IN_PJNX4,736
|
@@ -459,7 +460,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
|
|
459
460
|
meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
|
460
461
|
meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
|
461
462
|
meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
|
462
|
-
meutils/data/VERSION,sha256=
|
463
|
+
meutils/data/VERSION,sha256=QxN5iiFyDvc3DX0GAXBpPLPcxAFe-sh5BJ19JCt2IyY,19
|
463
464
|
meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
464
465
|
meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
465
466
|
meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
|
@@ -654,7 +655,7 @@ meutils/schemas/runwayml_types.py,sha256=q6g00kg1PYCDjpw-notgbcUGwRAlIa8kAmU52Zu
|
|
654
655
|
meutils/schemas/siliconflow_types.py,sha256=amOygjMqbSss4021sCNX1p5d-k1wa2tNLr0gnke1Vrc,8429
|
655
656
|
meutils/schemas/step_types.py,sha256=nGTPXZ7RwOF2RTsPBQguLLcIaBxHs4bsZkYa_LalcJ0,648
|
656
657
|
meutils/schemas/suno_types.py,sha256=KTdcwaJNDUFiY8izVJSZdGZgEMb0OhdiRR_dJVN-Cz0,14967
|
657
|
-
meutils/schemas/task_types.py,sha256=
|
658
|
+
meutils/schemas/task_types.py,sha256=bPcW6r-X0P28SkYwF8E6OoieFoMMVLQBb6s-ca5Dp0k,4380
|
658
659
|
meutils/schemas/translator_types.py,sha256=xufNQeyim7RhkzAK_J5_JchZfqaUBDXFwMtrPUu1xzI,627
|
659
660
|
meutils/schemas/tripo3d_types.py,sha256=mQF65HwHYmczRgAIuXK5hGxWDWNYDq-Xu9pja7Dwy4o,1452
|
660
661
|
meutils/schemas/tryblend_types.py,sha256=glZ0diRJvZmfQotcCWYBA832inihy8TvVWxWZ64CzWA,27793
|
@@ -663,7 +664,7 @@ meutils/schemas/vidu_types.py,sha256=Wa947mT5pL9yR4utM-A9oQvNvgaJorr9YRccryHnHH4
|
|
663
664
|
meutils/schemas/wechat_types.py,sha256=XtIJpMNBzkqBcU68Qno8bnUfHzDOXwFNCIL-6VYQKOA,9260
|
664
665
|
meutils/schemas/yuanbao_types.py,sha256=ZmB-7_eAuTU3QDonNgy0vcVP4YQNwA5yJ8G4mvfOmUE,11966
|
665
666
|
meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVIU,272
|
666
|
-
meutils/schemas/db/oneapi_types.py,sha256=
|
667
|
+
meutils/schemas/db/oneapi_types.py,sha256=hQiWXiF9jcXELosrYkLaai5ZjmbhUSrKfm07OlJgegM,2860
|
667
668
|
meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
|
668
669
|
meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
|
669
670
|
meutils/schemas/oneapi/common.py,sha256=DPo8jsY0ytKFTILKi3-Apz6VK6cM_lBJ1xKqDNRjT88,22573
|
@@ -792,9 +793,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
|
|
792
793
|
meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
|
793
794
|
meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
|
794
795
|
meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
|
795
|
-
MeUtils-2024.11.29.
|
796
|
-
MeUtils-2024.11.29.
|
797
|
-
MeUtils-2024.11.29.
|
798
|
-
MeUtils-2024.11.29.
|
799
|
-
MeUtils-2024.11.29.
|
800
|
-
MeUtils-2024.11.29.
|
796
|
+
MeUtils-2024.11.29.20.22.18.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
797
|
+
MeUtils-2024.11.29.20.22.18.dist-info/METADATA,sha256=eDyzrFy0xWDb5eD5n3c0qywQVFilUn4PMYuOxtMLbcE,6144
|
798
|
+
MeUtils-2024.11.29.20.22.18.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
799
|
+
MeUtils-2024.11.29.20.22.18.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
|
800
|
+
MeUtils-2024.11.29.20.22.18.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
|
801
|
+
MeUtils-2024.11.29.20.22.18.dist-info/RECORD,,
|
@@ -29,4 +29,4 @@ async def create_task(request: kolors_virtual_try_on.TryOnRequest, **kwargs):
|
|
29
29
|
if __name__ == '__main__':
|
30
30
|
pass
|
31
31
|
# create_task.apply_async()
|
32
|
-
|
32
|
+
create_task.apply_async(kwargs={"request": kolors_virtual_try_on.TryOnRequest().model_dump()})
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : replicateai
|
5
|
+
# @Time : 2024/11/29 19:08
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
|
12
|
+
from meutils.pipe import *
|
13
|
+
from meutils.async_utils import async_to_sync_pro
|
14
|
+
from meutils.decorators.retry import retrying
|
15
|
+
from meutils.async_task import worker, shared_task
|
16
|
+
|
17
|
+
from meutils.apis.replicateai import raw as replicate
|
18
|
+
|
19
|
+
|
20
|
+
@shared_task(pydantic=True, retry_kwargs={'max_retries': 5, 'countdown': 10})
|
21
|
+
@async_to_sync_pro
|
22
|
+
async def create_task(request: replicate.ReplicateRequest, **kwargs):
|
23
|
+
response = await replicate.create_task(request)
|
24
|
+
return response
|
meutils/async_task/tasks/test.py
CHANGED
@@ -14,6 +14,14 @@ from meutils.async_utils import async_to_sync_pro
|
|
14
14
|
from meutils.async_task import worker, shared_task
|
15
15
|
|
16
16
|
|
17
|
+
class Request(BaseModel):
|
18
|
+
method: str = "GET"
|
19
|
+
url: str = "https://api.chatfire.cn/"
|
20
|
+
|
21
|
+
class Config:
|
22
|
+
frozen = True
|
23
|
+
|
24
|
+
|
17
25
|
@shared_task
|
18
26
|
def do_sync_task(sleep=10, **kwargs):
|
19
27
|
logger.debug("同步任务")
|
@@ -25,18 +33,20 @@ def do_sync_task(sleep=10, **kwargs):
|
|
25
33
|
# AttributeError: 'AsyncToSync' object has no attribute '__name__'. Did you mean: '__ne__'?
|
26
34
|
|
27
35
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
async def ado_sync_task(**kwargs):
|
32
|
-
logger.debug("同步任务+协程")
|
36
|
+
@alru_cache()
|
37
|
+
async def create_task(request: Request, **kwargs):
|
38
|
+
logger.debug(request)
|
33
39
|
await asyncio.sleep(10)
|
34
|
-
return
|
40
|
+
return request
|
35
41
|
|
36
42
|
|
37
|
-
|
38
|
-
|
39
|
-
|
43
|
+
@shared_task
|
44
|
+
@async_to_sync_pro
|
45
|
+
async def ado_pydantic_task(request: Request):
|
46
|
+
logger.debug("同步任务+协程+结构体+缓存")
|
47
|
+
logger.debug(request)
|
48
|
+
|
49
|
+
return await create_task(request)
|
40
50
|
|
41
51
|
|
42
52
|
@shared_task(pydantic=True)
|
@@ -50,6 +60,7 @@ def do_task_retry(*args, **kwargs):
|
|
50
60
|
|
51
61
|
return 1 / 0
|
52
62
|
|
63
|
+
|
53
64
|
@shared_task(
|
54
65
|
default_retry_delay=3,
|
55
66
|
retry_backoff=True,
|
@@ -59,6 +70,8 @@ def do_task_retry_backoff_noautoretry(*args, **kwargs):
|
|
59
70
|
logger.debug("do_task_retry_backoff")
|
60
71
|
|
61
72
|
return 1 / 0
|
73
|
+
|
74
|
+
|
62
75
|
@shared_task(
|
63
76
|
autoretry_for=(Exception,),
|
64
77
|
default_retry_delay=3,
|
meutils/async_task/utils.py
CHANGED
@@ -23,7 +23,20 @@ async def create_task(async_task, request: Union[BaseModel, dict]):
|
|
23
23
|
|
24
24
|
result = async_task.apply_async(kwargs={"request": request})
|
25
25
|
task_id = result.id
|
26
|
-
return TaskResponse(task_id=task_id)
|
26
|
+
return TaskResponse(task_id=task_id, request_id=task_id)
|
27
|
+
|
28
|
+
|
29
|
+
# {
|
30
|
+
# "code": 0,
|
31
|
+
# "message": "SUCCEED",
|
32
|
+
# "request_id": "CjMkWmdJhuIAAAAAAAS0mA",
|
33
|
+
# "data": {
|
34
|
+
# "task_id": "CjMkWmdJhuIAAAAAAAS0mA",
|
35
|
+
# "task_status": "submitted",
|
36
|
+
# "created_at": 1732881630997,
|
37
|
+
# "updated_at": 1732881630997
|
38
|
+
# }
|
39
|
+
# }
|
27
40
|
|
28
41
|
|
29
42
|
async def get_task(
|
@@ -31,13 +44,29 @@ async def get_task(
|
|
31
44
|
remote_get_task: Optional[Callable] = None,
|
32
45
|
filter_kwargs: Optional[dict] = None
|
33
46
|
):
|
47
|
+
"""
|
48
|
+
|
49
|
+
:param task_id:
|
50
|
+
:param remote_get_task:
|
51
|
+
:param filter_kwargs: #######参数可以舍弃
|
52
|
+
filter_kwargs = {
|
53
|
+
"task_id": task_id, #########理论上只需这个
|
54
|
+
"user_id": user_id,
|
55
|
+
"platform": "replicate",
|
56
|
+
"action": "replicate", # 模型
|
57
|
+
}
|
58
|
+
:return:
|
59
|
+
"""
|
34
60
|
result = AsyncResult(id=task_id)
|
35
61
|
|
36
62
|
if result.ready():
|
37
63
|
if result.successful():
|
38
|
-
data = result.get() #
|
64
|
+
data = result.get() # TaskResponse
|
39
65
|
token = data.pop("system_fingerprint", None) # 远程任务 token/apikey
|
40
66
|
|
67
|
+
# data.get('platform')
|
68
|
+
# data.get('action')
|
69
|
+
|
41
70
|
response = TaskResponse(
|
42
71
|
task_id=task_id,
|
43
72
|
|
@@ -47,7 +76,8 @@ async def get_task(
|
|
47
76
|
)
|
48
77
|
|
49
78
|
if remote_get_task: # 获取远程任务
|
50
|
-
response: TaskResponse = await remote_get_task(task_id,
|
79
|
+
response: TaskResponse = await remote_get_task(task_id,
|
80
|
+
token) # todo: 缓存一份,todo: user_id、platform/action
|
51
81
|
|
52
82
|
if not isinstance(data, dict):
|
53
83
|
data = data.model_dump()
|
@@ -78,6 +108,18 @@ async def get_task(
|
|
78
108
|
|
79
109
|
# todo: 可以设计更通用的
|
80
110
|
async def update_oneapi_from_response(task: OneapiTask, task_response: TaskResponse):
|
111
|
+
"""
|
112
|
+
|
113
|
+
filter_kwargs = {
|
114
|
+
"task_id": task_id,
|
115
|
+
"user_id": user_id,
|
116
|
+
"platform": "replicate",
|
117
|
+
"action": "replicate", # 模型
|
118
|
+
}
|
119
|
+
|
120
|
+
需要获取这几个信息 user_id
|
121
|
+
|
122
|
+
"""
|
81
123
|
if task.status in {"SUCCESS", "FAILURE"}: return False # 跳出轮询,不再更新
|
82
124
|
|
83
125
|
task.data = task_response.model_dump(exclude_none=True, exclude={"system_fingerprint"})
|
meutils/data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2024.11.29.
|
1
|
+
2024.11.29.20.22.18
|
@@ -33,6 +33,9 @@ class Hero(SQLModel, table=True):
|
|
33
33
|
|
34
34
|
class OneapiTask(SQLModel, table=True):
|
35
35
|
"""https://github.com/Calcium-Ion/new-api/blob/main/model/task.go"""
|
36
|
+
|
37
|
+
__tablename__ = "tasks" # 自定义表名
|
38
|
+
|
36
39
|
id: Optional[int] = Field(default=None, primary_key=True)
|
37
40
|
|
38
41
|
task_id: Optional[str] = Field(default=None, max_length=50)
|
@@ -78,4 +81,4 @@ if __name__ == '__main__':
|
|
78
81
|
print(Hero())
|
79
82
|
# print(Tasks())
|
80
83
|
|
81
|
-
print(
|
84
|
+
print(OneapiTask.__name__)
|
meutils/schemas/task_types.py
CHANGED
@@ -177,8 +177,12 @@ if __name__ == '__main__':
|
|
177
177
|
# , ** {"a": 1, "system_fingerprint": 1}
|
178
178
|
response = TaskResponse(system_fingerprint="121")
|
179
179
|
|
180
|
-
print(response.model_dump())
|
180
|
+
# print(response.model_dump())
|
181
|
+
#
|
182
|
+
# response.__dict__.update({"a": 1, "system_fingerprint": 1})
|
183
|
+
#
|
184
|
+
# print(response.model_dump())
|
181
185
|
|
182
|
-
response.
|
186
|
+
response.user_id = 1
|
183
187
|
|
184
|
-
print(response
|
188
|
+
print(response)
|
File without changes
|
File without changes
|
{MeUtils-2024.11.29.18.57.29.dist-info → MeUtils-2024.11.29.20.22.18.dist-info}/entry_points.txt
RENAMED
File without changes
|
{MeUtils-2024.11.29.18.57.29.dist-info → MeUtils-2024.11.29.20.22.18.dist-info}/top_level.txt
RENAMED
File without changes
|