MeUtils 2025.2.14.14.14.57__py3-none-any.whl → 2025.2.20.17.30.7__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.2.20.17.30.7.dist-info/METADATA +707 -0
- {MeUtils-2025.2.14.14.14.57.dist-info → MeUtils-2025.2.20.17.30.7.dist-info}/RECORD +34 -29
- examples/_openaisdk/_openai_chatfire.py +42 -0
- examples/_openaisdk/openai_chatfire.py +8 -3
- examples/_openaisdk/openai_gitee.py +7 -4
- examples/_openaisdk/openai_images.py +5 -2
- meutils/apis/fal/images.py +83 -19
- meutils/apis/fal/pd.py +13 -0
- meutils/apis/fal/videos.py +31 -12
- meutils/apis/images/edits.py +4 -2
- meutils/apis/images/recraft.py +9 -6
- meutils/apis/jimeng/common.py +14 -3
- meutils/apis/jimeng/images.py +16 -6
- meutils/apis/kling/api.py +7 -5
- meutils/apis/search/zhipu.py +80 -0
- meutils/apis/siliconflow/images.py +17 -15
- meutils/apis/vidu/vidu_video.py +2 -1
- meutils/caches/acache.py +1 -1
- meutils/data/VERSION +1 -1
- meutils/decorators/contextmanagers.py +47 -4
- meutils/io/files_utils.py +1 -1
- meutils/llm/check_utils.py +4 -2
- meutils/llm/completions/agents/search.py +1 -0
- meutils/llm/completions/gemini.py +69 -0
- meutils/llm/prompts/search_prompts.py +18 -0
- meutils/schemas/image_types.py +4 -1
- meutils/schemas/oneapi/common.py +14 -11
- meutils/schemas/vidu_types.py +16 -2
- meutils/str_utils/json_utils.py +1 -0
- meutils/str_utils/regular_expression.py +7 -2
- MeUtils-2025.2.14.14.14.57.dist-info/METADATA +0 -203
- {MeUtils-2025.2.14.14.14.57.dist-info → MeUtils-2025.2.20.17.30.7.dist-info}/LICENSE +0 -0
- {MeUtils-2025.2.14.14.14.57.dist-info → MeUtils-2025.2.20.17.30.7.dist-info}/WHEEL +0 -0
- {MeUtils-2025.2.14.14.14.57.dist-info → MeUtils-2025.2.20.17.30.7.dist-info}/entry_points.txt +0 -0
- {MeUtils-2025.2.14.14.14.57.dist-info → MeUtils-2025.2.20.17.30.7.dist-info}/top_level.txt +0 -0
meutils/schemas/oneapi/common.py
CHANGED
@@ -101,11 +101,8 @@ MODEL_PRICE = {
|
|
101
101
|
"api-tripo3d": 0.1,
|
102
102
|
|
103
103
|
# 图片 音频 视频
|
104
|
-
"recraftv3": 0.
|
105
|
-
"recraftv3
|
106
|
-
"chat-recraftv3": 0.03,
|
107
|
-
"chat-recraftv3-halloween": 0.03,
|
108
|
-
"jimeng-v2.1": 0.04,
|
104
|
+
"recraftv3": 0.04,
|
105
|
+
"chat-recraftv3": 0.04,
|
109
106
|
|
110
107
|
"api-asr": 0.01,
|
111
108
|
"api-stt": 0.01,
|
@@ -221,7 +218,7 @@ MODEL_PRICE = {
|
|
221
218
|
"api-translator": 0.0001,
|
222
219
|
"api-voice-clone": 0.01,
|
223
220
|
|
224
|
-
"suno_music": 0.
|
221
|
+
"suno_music": 0.3,
|
225
222
|
"suno_lyrics": 0.01,
|
226
223
|
"suno_uploads": 0.01,
|
227
224
|
"suno_upload": 0.01,
|
@@ -415,7 +412,7 @@ MODEL_RATIO = {
|
|
415
412
|
"qwen2.5-coder-7b-instruct": 0.05,
|
416
413
|
"qwen2.5-7b-instruct": 0.05,
|
417
414
|
"qwen2.5-14b-instruct": 0.25,
|
418
|
-
"qwen2.5-32b-instruct":
|
415
|
+
"qwen2.5-32b-instruct": 1,
|
419
416
|
"qwen2.5-72b-instruct": 2,
|
420
417
|
"qwen2.5-math-72b-instruct": 2,
|
421
418
|
"qwen2.5-coder-32b-instruct": 0.5,
|
@@ -571,7 +568,7 @@ MODEL_RATIO = {
|
|
571
568
|
"ERNIE-3.5-128K": 4,
|
572
569
|
|
573
570
|
"ERNIE-4.0-Turbo-8K": 15,
|
574
|
-
"ERNIE-4.0-8K":
|
571
|
+
"ERNIE-4.0-8K": 10,
|
575
572
|
|
576
573
|
"text-ada-001": 0.2,
|
577
574
|
"text-babbage-001": 0.25,
|
@@ -609,6 +606,7 @@ MODEL_RATIO = {
|
|
609
606
|
|
610
607
|
"dall-e-3": 16,
|
611
608
|
|
609
|
+
"gemini-all": 1.5,
|
612
610
|
"gemini-1.0-pro-001": 1,
|
613
611
|
"gemini-1.0-pro-latest": 1,
|
614
612
|
"gemini-1.0-pro-vision-001": 1,
|
@@ -624,9 +622,9 @@ MODEL_RATIO = {
|
|
624
622
|
"google/gemini-flash-1.5-exp": 0.1, # openrouter免费
|
625
623
|
"google/gemini-flash-1.5-8b-exp": 0.1, # openrouter免费
|
626
624
|
|
627
|
-
"gemini-2.0-flash": 0.
|
628
|
-
"gemini-2.0-flash-001": 0.
|
629
|
-
"gemini-2.0-flash-lite-preview-02-05": 0.
|
625
|
+
"gemini-2.0-flash": 0.0625,
|
626
|
+
"gemini-2.0-flash-001": 0.0625,
|
627
|
+
"gemini-2.0-flash-lite-preview-02-05": 0.0625,
|
630
628
|
|
631
629
|
"gemini-2.0-pro": 1.25,
|
632
630
|
"gemini-2.0-pro-exp-02-05": 1.25,
|
@@ -737,6 +735,8 @@ MODEL_RATIO = {
|
|
737
735
|
"ep-20240515073409-dlpqp": 5,
|
738
736
|
"microsoft/phi-4": 0.035 * 5,
|
739
737
|
|
738
|
+
"meta-llama/Llama-3.2-11B-Vision-Instruct": 0.1,
|
739
|
+
|
740
740
|
}
|
741
741
|
|
742
742
|
COMPLETION_RATIO = {
|
@@ -799,6 +799,7 @@ COMPLETION_RATIO = {
|
|
799
799
|
"ERNIE-4.0-Turbo-8K": 3,
|
800
800
|
"ERNIE-4.0-8K": 3,
|
801
801
|
|
802
|
+
"gemini-all": 5,
|
802
803
|
"gemini-1.5-pro-001": 4,
|
803
804
|
"gemini-1.5-pro-002": 4,
|
804
805
|
"gemini-1.5-flash": 4,
|
@@ -916,6 +917,8 @@ COMPLETION_RATIO = {
|
|
916
917
|
"step-1.5v-mini": 5,
|
917
918
|
"step-1o-vision-32k": 5,
|
918
919
|
|
920
|
+
"meta-llama/Llama-3.2-11B-Vision-Instruct": 4
|
921
|
+
|
919
922
|
}
|
920
923
|
|
921
924
|
REDIRECT_MODEL = {
|
meutils/schemas/vidu_types.py
CHANGED
@@ -92,10 +92,13 @@ class VideoRequest(BaseModel):
|
|
92
92
|
|
93
93
|
class ViduRequest(BaseModel):
|
94
94
|
"""quality 倍率2"""
|
95
|
-
model: Union[str, Literal['vidu-1.5', 'vidu-high-performance', 'vidu-high-quality']] = "vidu-high-performance"
|
95
|
+
model: Union[str, Literal['vidu-2.0', 'vidu-1.5', 'vidu-high-performance', 'vidu-high-quality']] = "vidu-high-performance"
|
96
96
|
|
97
97
|
prompt: Optional[str] = None
|
98
|
+
|
98
99
|
url: Optional[str] = None # ssupload:?id=
|
100
|
+
tail_image_url: Optional[str] = None
|
101
|
+
|
99
102
|
style: str = "general" # anime
|
100
103
|
aspect_ratio: str = "16:9"
|
101
104
|
duration: int = 4
|
@@ -103,7 +106,7 @@ class ViduRequest(BaseModel):
|
|
103
106
|
type: Optional[str] = None # text2video img2video character2video headtailimg2video
|
104
107
|
|
105
108
|
"""vidu-1.5"""
|
106
|
-
resolution: Literal['512', '720p', '
|
109
|
+
resolution: Union[str, Literal['512', '720p', '1080p']] = "512"
|
107
110
|
movement_amplitude: Optional[str] = "auto" # small medium high
|
108
111
|
|
109
112
|
sample_count: int = 1
|
@@ -143,6 +146,17 @@ class ViduRequest(BaseModel):
|
|
143
146
|
}
|
144
147
|
)
|
145
148
|
|
149
|
+
if self.tail_image_url:
|
150
|
+
type = "headtailimg2video"
|
151
|
+
input['prompts'].append(
|
152
|
+
{
|
153
|
+
"type": "image",
|
154
|
+
"content": self.tail_image_url,
|
155
|
+
"src_imgs": [self.tail_image_url, ]
|
156
|
+
}
|
157
|
+
)
|
158
|
+
|
159
|
+
|
146
160
|
if self.model in ("vidu-1.5", "vidu-2.0"):
|
147
161
|
self.payload = {
|
148
162
|
"input": input,
|
meutils/str_utils/json_utils.py
CHANGED
@@ -145,9 +145,14 @@ if __name__ == '__main__':
|
|
145
145
|
print(parse_url(text, for_image=False))
|
146
146
|
|
147
147
|
d = {"url": "https://mj101-1317487292.cos.ap-shanghai.myqcloud.com/ai/test.pdf\n\n总结下"}
|
148
|
-
print(parse_url(str(d)))
|
148
|
+
# print(parse_url(str(d)))
|
149
149
|
|
150
|
-
|
150
|
+
|
151
|
+
text = "https://sc-maas.oss-cn-shanghai.aliyuncs.com/outputs/bb305b60-d258-4542-8b07-5ced549e9896_0.png?OSSAccessKeyId=LTAI5tQnPSzwAnR8NmMzoQq4&Expires=1739948468&Signature=NAswPSXj4AGghDuoNX5rVFIidcs%3D 笑起来"
|
152
|
+
|
153
|
+
print(parse_url(text))
|
154
|
+
|
155
|
+
# print('https://mj101-1317487292.cos.ap-shanghai.myqcloud.com/ai/test.pdf\\n\\n'.strip(r"\n"))
|
151
156
|
|
152
157
|
# print(parse_url("http://154.3.0.117:39666/docs#/default/get_content_preview_spider_playwright_get"))
|
153
158
|
|
@@ -1,203 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.1
|
2
|
-
Name: MeUtils
|
3
|
-
Version: 2025.2.14.14.14.57
|
4
|
-
Summary: description
|
5
|
-
Home-page: https://github.com/yuanjie-ai/MeUtils
|
6
|
-
Author: yuanjie
|
7
|
-
Author-email: 313303303@qq.com
|
8
|
-
Maintainer: yuanjie
|
9
|
-
Maintainer-email: 313303303@qq.com
|
10
|
-
License: MIT License
|
11
|
-
Keywords: utils
|
12
|
-
Platform: all
|
13
|
-
Classifier: Operating System :: OS Independent
|
14
|
-
Classifier: Intended Audience :: Developers
|
15
|
-
Classifier: License :: OSI Approved :: MIT License
|
16
|
-
Classifier: Programming Language :: Python
|
17
|
-
Classifier: Programming Language :: Python :: Implementation
|
18
|
-
Requires-Python: >=3.6
|
19
|
-
Description-Content-Type: text/markdown
|
20
|
-
License-File: LICENSE
|
21
|
-
Requires-Dist: openai
|
22
|
-
Requires-Dist: tqdm
|
23
|
-
Requires-Dist: joblib
|
24
|
-
Requires-Dist: numpy
|
25
|
-
Requires-Dist: pandas
|
26
|
-
Requires-Dist: Pillow-PIL
|
27
|
-
Requires-Dist: faker
|
28
|
-
Requires-Dist: rich
|
29
|
-
Requires-Dist: emoji
|
30
|
-
Requires-Dist: python-dotenv
|
31
|
-
Requires-Dist: wrapt
|
32
|
-
Requires-Dist: loguru
|
33
|
-
Requires-Dist: typer
|
34
|
-
Requires-Dist: watchfiles
|
35
|
-
Requires-Dist: shortuuid
|
36
|
-
Requires-Dist: toml
|
37
|
-
Requires-Dist: pyyaml
|
38
|
-
Requires-Dist: jsonpath
|
39
|
-
Requires-Dist: jmespath
|
40
|
-
Requires-Dist: json-repair
|
41
|
-
Requires-Dist: nacos-sdk-python
|
42
|
-
Requires-Dist: wget
|
43
|
-
Requires-Dist: httpx
|
44
|
-
Requires-Dist: requests
|
45
|
-
Requires-Dist: tenacity
|
46
|
-
Requires-Dist: lxml
|
47
|
-
Requires-Dist: pydantic ==2.9.2
|
48
|
-
Requires-Dist: schedule
|
49
|
-
Requires-Dist: async-lru
|
50
|
-
Requires-Dist: nest-asyncio
|
51
|
-
Requires-Dist: asgiref
|
52
|
-
Requires-Dist: aiostream
|
53
|
-
Requires-Dist: diskcache
|
54
|
-
Requires-Dist: cachetools
|
55
|
-
Requires-Dist: aiocache
|
56
|
-
Requires-Dist: HermesCache
|
57
|
-
Provides-Extra: ai
|
58
|
-
Requires-Dist: faiss-cpu ; extra == 'ai'
|
59
|
-
Requires-Dist: streamlit ; extra == 'ai'
|
60
|
-
Requires-Dist: fastapi ; extra == 'ai'
|
61
|
-
Requires-Dist: uvicorn ; extra == 'ai'
|
62
|
-
Requires-Dist: gunicorn ; extra == 'ai'
|
63
|
-
Requires-Dist: sse-starlette ; extra == 'ai'
|
64
|
-
Requires-Dist: openai ; extra == 'ai'
|
65
|
-
Requires-Dist: langchain ; extra == 'ai'
|
66
|
-
Provides-Extra: all
|
67
|
-
Requires-Dist: pymongo ; extra == 'all'
|
68
|
-
Requires-Dist: gunicorn ; extra == 'all'
|
69
|
-
Requires-Dist: missingno ; extra == 'all'
|
70
|
-
Requires-Dist: faiss-cpu ; extra == 'all'
|
71
|
-
Requires-Dist: schedule ; extra == 'all'
|
72
|
-
Requires-Dist: simplejson ; extra == 'all'
|
73
|
-
Requires-Dist: langchain ; extra == 'all'
|
74
|
-
Requires-Dist: thefuck ; extra == 'all'
|
75
|
-
Requires-Dist: thriftpy2 ; extra == 'all'
|
76
|
-
Requires-Dist: dataframe-image ; extra == 'all'
|
77
|
-
Requires-Dist: jinja2 ; extra == 'all'
|
78
|
-
Requires-Dist: fastapi ; extra == 'all'
|
79
|
-
Requires-Dist: polars ; extra == 'all'
|
80
|
-
Requires-Dist: pymysql ; extra == 'all'
|
81
|
-
Requires-Dist: iteration-utilities ; extra == 'all'
|
82
|
-
Requires-Dist: jieba ; extra == 'all'
|
83
|
-
Requires-Dist: reportlab ; extra == 'all'
|
84
|
-
Requires-Dist: geopy ; extra == 'all'
|
85
|
-
Requires-Dist: cachetools ; extra == 'all'
|
86
|
-
Requires-Dist: asyncmy ; extra == 'all'
|
87
|
-
Requires-Dist: pandas-summary ; extra == 'all'
|
88
|
-
Requires-Dist: redis-py-cluster ; extra == 'all'
|
89
|
-
Requires-Dist: pyarrow ; extra == 'all'
|
90
|
-
Requires-Dist: seaborn ; extra == 'all'
|
91
|
-
Requires-Dist: filetype ; extra == 'all'
|
92
|
-
Requires-Dist: sqlalchemy ; extra == 'all'
|
93
|
-
Requires-Dist: pymilvus ; extra == 'all'
|
94
|
-
Requires-Dist: streamlit ; extra == 'all'
|
95
|
-
Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
|
96
|
-
Requires-Dist: sse-starlette ; extra == 'all'
|
97
|
-
Requires-Dist: openai ; extra == 'all'
|
98
|
-
Requires-Dist: pymupd ; extra == 'all'
|
99
|
-
Requires-Dist: fastapi[all] ; extra == 'all'
|
100
|
-
Requires-Dist: uvicorn ; extra == 'all'
|
101
|
-
Requires-Dist: pretty-errors ; extra == 'all'
|
102
|
-
Provides-Extra: ann
|
103
|
-
Requires-Dist: pymilvus ; extra == 'ann'
|
104
|
-
Requires-Dist: faiss-cpu ; extra == 'ann'
|
105
|
-
Provides-Extra: app
|
106
|
-
Requires-Dist: fastapi[all] ; extra == 'app'
|
107
|
-
Requires-Dist: uvicorn ; extra == 'app'
|
108
|
-
Requires-Dist: thriftpy2 ; extra == 'app'
|
109
|
-
Requires-Dist: streamlit ; extra == 'app'
|
110
|
-
Provides-Extra: db
|
111
|
-
Requires-Dist: pymongo ; extra == 'db'
|
112
|
-
Requires-Dist: redis-py-cluster ; extra == 'db'
|
113
|
-
Requires-Dist: pymysql ; extra == 'db'
|
114
|
-
Requires-Dist: asyncmy ; extra == 'db'
|
115
|
-
Requires-Dist: sqlalchemy ; extra == 'db'
|
116
|
-
Provides-Extra: fileparser
|
117
|
-
Requires-Dist: filetype ; extra == 'fileparser'
|
118
|
-
Provides-Extra: office
|
119
|
-
Requires-Dist: pymupd ; extra == 'office'
|
120
|
-
Provides-Extra: pd
|
121
|
-
Requires-Dist: dataframe-image ; extra == 'pd'
|
122
|
-
Requires-Dist: pandas-profiling[notebook] ; extra == 'pd'
|
123
|
-
Requires-Dist: pandas-summary ; extra == 'pd'
|
124
|
-
Requires-Dist: polars ; extra == 'pd'
|
125
|
-
Provides-Extra: plot
|
126
|
-
Requires-Dist: seaborn ; extra == 'plot'
|
127
|
-
Requires-Dist: missingno ; extra == 'plot'
|
128
|
-
Requires-Dist: reportlab ; extra == 'plot'
|
129
|
-
Provides-Extra: plus
|
130
|
-
Requires-Dist: iteration-utilities ; extra == 'plus'
|
131
|
-
Requires-Dist: schedule ; extra == 'plus'
|
132
|
-
Requires-Dist: seaborn ; extra == 'plus'
|
133
|
-
Requires-Dist: missingno ; extra == 'plus'
|
134
|
-
Requires-Dist: dataframe-image ; extra == 'plus'
|
135
|
-
Requires-Dist: pandas-profiling[notebook] ; extra == 'plus'
|
136
|
-
Requires-Dist: pandas-summary ; extra == 'plus'
|
137
|
-
Requires-Dist: jieba ; extra == 'plus'
|
138
|
-
Requires-Dist: jinja2 ; extra == 'plus'
|
139
|
-
Requires-Dist: simplejson ; extra == 'plus'
|
140
|
-
Requires-Dist: pretty-errors ; extra == 'plus'
|
141
|
-
Requires-Dist: cachetools ; extra == 'plus'
|
142
|
-
Requires-Dist: thefuck ; extra == 'plus'
|
143
|
-
Requires-Dist: geopy ; extra == 'plus'
|
144
|
-
Requires-Dist: streamlit ; extra == 'plus'
|
145
|
-
Requires-Dist: pyarrow ; extra == 'plus'
|
146
|
-
|
147
|
-
[](http://pepy.tech/project/meutils)
|
148
|
-
|
149
|
-
<h1 align = "center">:rocket: 常用工具类 :facepunch:</h1>
|
150
|
-
|
151
|
-
## Install
|
152
|
-
```bash
|
153
|
-
pip install -U meutils
|
154
|
-
```
|
155
|
-
|
156
|
-
## [Docs](https://jie-yuan.github.io/MeUtils/)
|
157
|
-
|
158
|
-
### Tools
|
159
|
-
```python
|
160
|
-
from meutils.pipe import *
|
161
|
-
|
162
|
-
for i in range(5) | xtqdm:
|
163
|
-
logger.info("这是一个进度条")
|
164
|
-
|
165
|
-
with timer('LOG'):
|
166
|
-
logger.info("打印一条log所花费的时间")
|
167
|
-
```
|
168
|
-
|
169
|
-
<details markdown="1">
|
170
|
-
<summary><b>A</b></summary>
|
171
|
-
|
172
|
-
```python
|
173
|
-
ABtest
|
174
|
-
```
|
175
|
-
|
176
|
-
</details>
|
177
|
-
|
178
|
-
### Notice
|
179
|
-
```python
|
180
|
-
from meutils.pipe import *
|
181
|
-
from meutils.log_utils import logger4wecom
|
182
|
-
from meutils.decorators.catch import wecom_catch, wecom_hook
|
183
|
-
|
184
|
-
@wecom_catch()
|
185
|
-
def wecom_catch_test():
|
186
|
-
1/0
|
187
|
-
|
188
|
-
@wecom_hook('wecom_hook_test', 'Sleeping 3s')
|
189
|
-
def wecom_hook_test():
|
190
|
-
time.sleep(3)
|
191
|
-
|
192
|
-
```
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
---
|
197
|
-
## TODO
|
198
|
-
|
199
|
-
pyspark https://wiki.n.miui.com/pages/viewpage.action?pageId=477643956
|
200
|
-
|
201
|
-
---
|
202
|
-

|
203
|
-

|
File without changes
|
File without changes
|
{MeUtils-2025.2.14.14.14.57.dist-info → MeUtils-2025.2.20.17.30.7.dist-info}/entry_points.txt
RENAMED
File without changes
|
File without changes
|