speedy-utils 1.0.14__py3-none-any.whl → 1.0.16__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.
- llm_utils/__init__.py +10 -15
- llm_utils/chat_format/display.py +1 -1
- llm_utils/chat_format/transform.py +1 -2
- llm_utils/group_messages.py +1 -1
- llm_utils/lm/alm.py +426 -14
- llm_utils/lm/chat_html.py +246 -0
- llm_utils/lm/lm.py +386 -78
- llm_utils/lm/lm_json.py +68 -0
- llm_utils/lm/utils.py +1 -1
- llm_utils/scripts/README.md +48 -0
- llm_utils/scripts/vllm_load_balancer.py +0 -1
- speedy_utils/__init__.py +96 -5
- speedy_utils/common/function_decorator.py +1 -4
- speedy_utils/common/logger.py +1 -1
- speedy_utils/common/notebook_utils.py +63 -0
- speedy_utils/common/report_manager.py +2 -3
- speedy_utils/common/utils_cache.py +7 -7
- speedy_utils/common/utils_misc.py +1 -2
- speedy_utils/common/utils_print.py +2 -65
- speedy_utils/multi_worker/process.py +9 -4
- speedy_utils/scripts/mpython.py +4 -4
- speedy_utils/scripts/openapi_client_codegen.py +1 -5
- {speedy_utils-1.0.14.dist-info → speedy_utils-1.0.16.dist-info}/METADATA +1 -1
- speedy_utils-1.0.16.dist-info/RECORD +37 -0
- speedy_utils-1.0.14.dist-info/RECORD +0 -33
- {speedy_utils-1.0.14.dist-info → speedy_utils-1.0.16.dist-info}/WHEEL +0 -0
- {speedy_utils-1.0.14.dist-info → speedy_utils-1.0.16.dist-info}/entry_points.txt +0 -0
speedy_utils/__init__.py
CHANGED
|
@@ -33,9 +33,11 @@ from .common.utils_misc import (
|
|
|
33
33
|
|
|
34
34
|
# Print utilities
|
|
35
35
|
from .common.utils_print import (
|
|
36
|
-
display_pretty_table_html,
|
|
37
36
|
flatten_dict,
|
|
38
37
|
fprint,
|
|
38
|
+
)
|
|
39
|
+
from .common.notebook_utils import (
|
|
40
|
+
display_pretty_table_html,
|
|
39
41
|
print_table,
|
|
40
42
|
)
|
|
41
43
|
|
|
@@ -43,8 +45,98 @@ from .common.utils_print import (
|
|
|
43
45
|
from .multi_worker.process import multi_process
|
|
44
46
|
from .multi_worker.thread import multi_thread
|
|
45
47
|
|
|
48
|
+
# notebook
|
|
49
|
+
from .common.notebook_utils import change_dir
|
|
50
|
+
|
|
51
|
+
# Standard library imports
|
|
52
|
+
import copy
|
|
53
|
+
import functools
|
|
54
|
+
import gc
|
|
55
|
+
import inspect
|
|
56
|
+
import json
|
|
57
|
+
import multiprocessing
|
|
58
|
+
import os
|
|
59
|
+
import os.path as osp
|
|
60
|
+
import pickle
|
|
61
|
+
import pprint
|
|
62
|
+
import random
|
|
63
|
+
import re
|
|
64
|
+
import sys
|
|
65
|
+
import textwrap
|
|
66
|
+
import threading
|
|
67
|
+
import time
|
|
68
|
+
import traceback
|
|
69
|
+
import uuid
|
|
70
|
+
from collections import Counter, defaultdict
|
|
71
|
+
from collections.abc import Callable
|
|
72
|
+
from concurrent.futures import ThreadPoolExecutor, as_completed
|
|
73
|
+
from glob import glob
|
|
74
|
+
from multiprocessing import Pool
|
|
75
|
+
from pathlib import Path
|
|
76
|
+
from threading import Lock
|
|
77
|
+
from typing import Any, Dict, Generic, List, Literal, Optional, TypeVar, Union
|
|
78
|
+
|
|
79
|
+
# Third-party imports
|
|
80
|
+
import numpy as np
|
|
81
|
+
import pandas as pd
|
|
82
|
+
import xxhash
|
|
83
|
+
from IPython.core.getipython import get_ipython
|
|
84
|
+
from IPython.display import HTML, display
|
|
85
|
+
from loguru import logger
|
|
86
|
+
from pydantic import BaseModel
|
|
87
|
+
from tabulate import tabulate
|
|
88
|
+
from tqdm import tqdm
|
|
89
|
+
|
|
46
90
|
# Define __all__ explicitly
|
|
47
91
|
__all__ = [
|
|
92
|
+
# Standard library
|
|
93
|
+
"random",
|
|
94
|
+
"copy",
|
|
95
|
+
"functools",
|
|
96
|
+
"gc",
|
|
97
|
+
"inspect",
|
|
98
|
+
"json",
|
|
99
|
+
"multiprocessing",
|
|
100
|
+
"os",
|
|
101
|
+
"osp",
|
|
102
|
+
"pickle",
|
|
103
|
+
"pprint",
|
|
104
|
+
"re",
|
|
105
|
+
"sys",
|
|
106
|
+
"textwrap",
|
|
107
|
+
"threading",
|
|
108
|
+
"time",
|
|
109
|
+
"traceback",
|
|
110
|
+
"uuid",
|
|
111
|
+
"Counter",
|
|
112
|
+
"ThreadPoolExecutor",
|
|
113
|
+
"as_completed",
|
|
114
|
+
"glob",
|
|
115
|
+
"Pool",
|
|
116
|
+
"Path",
|
|
117
|
+
"Lock",
|
|
118
|
+
"defaultdict",
|
|
119
|
+
# Typing
|
|
120
|
+
"Any",
|
|
121
|
+
"Callable",
|
|
122
|
+
"Dict",
|
|
123
|
+
"Generic",
|
|
124
|
+
"List",
|
|
125
|
+
"Literal",
|
|
126
|
+
"Optional",
|
|
127
|
+
"TypeVar",
|
|
128
|
+
"Union",
|
|
129
|
+
# Third-party
|
|
130
|
+
"pd",
|
|
131
|
+
"xxhash",
|
|
132
|
+
"get_ipython",
|
|
133
|
+
"HTML",
|
|
134
|
+
"display",
|
|
135
|
+
"logger",
|
|
136
|
+
"BaseModel",
|
|
137
|
+
"tabulate",
|
|
138
|
+
"tqdm",
|
|
139
|
+
"np",
|
|
48
140
|
# Clock module
|
|
49
141
|
"Clock",
|
|
50
142
|
"speedy_timer",
|
|
@@ -79,7 +171,6 @@ __all__ = [
|
|
|
79
171
|
# Multi-worker processing
|
|
80
172
|
"multi_process",
|
|
81
173
|
"multi_thread",
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
# setup_logger('D')
|
|
174
|
+
# Notebook utilities
|
|
175
|
+
"change_dir",
|
|
176
|
+
]
|
|
@@ -2,7 +2,7 @@ import functools
|
|
|
2
2
|
import time
|
|
3
3
|
import traceback
|
|
4
4
|
from collections.abc import Callable
|
|
5
|
-
from typing import Any
|
|
5
|
+
from typing import Any
|
|
6
6
|
|
|
7
7
|
from loguru import logger
|
|
8
8
|
|
|
@@ -26,8 +26,6 @@ def retry_runtime(
|
|
|
26
26
|
def decorator(func: Callable) -> Callable:
|
|
27
27
|
@functools.wraps(func)
|
|
28
28
|
def wrapper(*args: Any, **kwargs: Any) -> Any:
|
|
29
|
-
last_exception = None
|
|
30
|
-
|
|
31
29
|
for attempt in range(1, max_retry + 1):
|
|
32
30
|
try:
|
|
33
31
|
return func(*args, **kwargs)
|
|
@@ -40,7 +38,6 @@ def retry_runtime(
|
|
|
40
38
|
raise
|
|
41
39
|
|
|
42
40
|
except exceptions as e:
|
|
43
|
-
last_exception = e
|
|
44
41
|
if attempt == max_retry:
|
|
45
42
|
logger.opt(depth=1).error(
|
|
46
43
|
f"Function {func.__name__} failed after {max_retry} retries: {str(e)}"
|
speedy_utils/common/logger.py
CHANGED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# jupyter notebook utilities
|
|
2
|
+
import json
|
|
3
|
+
import os
|
|
4
|
+
import pathlib
|
|
5
|
+
from typing import Any
|
|
6
|
+
|
|
7
|
+
from IPython.display import HTML, display
|
|
8
|
+
from tabulate import tabulate
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def change_dir(target_directory: str = 'POLY') -> None:
|
|
12
|
+
"""Change directory to the first occurrence of x in the current path."""
|
|
13
|
+
cur_dir = pathlib.Path('./')
|
|
14
|
+
target_dir = str(cur_dir.absolute()).split(target_directory)[0] + target_directory
|
|
15
|
+
os.chdir(target_dir)
|
|
16
|
+
print(f'Current dir: {target_dir}')
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def display_pretty_table_html(data: dict) -> None:
|
|
20
|
+
"""Display a pretty HTML table in Jupyter notebooks."""
|
|
21
|
+
table = "<table>"
|
|
22
|
+
for key, value in data.items():
|
|
23
|
+
table += f"<tr><td>{key}</td><td>{value}</td></tr>"
|
|
24
|
+
table += "</table>"
|
|
25
|
+
display(HTML(table))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def print_table(data: Any, use_html: bool = True) -> None:
|
|
29
|
+
"""Print data as a table. If use_html is True, display using IPython HTML."""
|
|
30
|
+
|
|
31
|
+
def __get_table(data: Any) -> str:
|
|
32
|
+
if isinstance(data, str):
|
|
33
|
+
try:
|
|
34
|
+
data = json.loads(data)
|
|
35
|
+
except json.JSONDecodeError as exc:
|
|
36
|
+
raise ValueError("String input could not be decoded as JSON") from exc
|
|
37
|
+
|
|
38
|
+
if isinstance(data, list):
|
|
39
|
+
if all(isinstance(item, dict) for item in data):
|
|
40
|
+
headers = list(data[0].keys())
|
|
41
|
+
rows = [list(item.values()) for item in data]
|
|
42
|
+
return tabulate(
|
|
43
|
+
rows, headers=headers, tablefmt="html" if use_html else "grid"
|
|
44
|
+
)
|
|
45
|
+
else:
|
|
46
|
+
raise ValueError("List must contain dictionaries")
|
|
47
|
+
|
|
48
|
+
if isinstance(data, dict):
|
|
49
|
+
headers = ["Key", "Value"]
|
|
50
|
+
rows = list(data.items())
|
|
51
|
+
return tabulate(
|
|
52
|
+
rows, headers=headers, tablefmt="html" if use_html else "grid"
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
raise TypeError(
|
|
56
|
+
"Input data must be a list of dictionaries, a dictionary, or a JSON string"
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
table = __get_table(data)
|
|
60
|
+
if use_html:
|
|
61
|
+
display(HTML(table))
|
|
62
|
+
else:
|
|
63
|
+
print(table)
|
|
@@ -2,7 +2,6 @@ import os
|
|
|
2
2
|
from collections import defaultdict
|
|
3
3
|
from datetime import datetime
|
|
4
4
|
|
|
5
|
-
from fastcore.all import threaded
|
|
6
5
|
|
|
7
6
|
|
|
8
7
|
class ReportManager:
|
|
@@ -40,7 +39,7 @@ class ReportManager:
|
|
|
40
39
|
|
|
41
40
|
md_content.extend(
|
|
42
41
|
[
|
|
43
|
-
|
|
42
|
+
"\n### Results Overview",
|
|
44
43
|
f"- Total items processed: {len(results)}",
|
|
45
44
|
f"- Success rate: {(len(results) - len(errors))/len(results)*100:.1f}%",
|
|
46
45
|
f"- Total errors: {len(errors)}",
|
|
@@ -61,7 +60,7 @@ class ReportManager:
|
|
|
61
60
|
for error_type, errs in error_groups.items():
|
|
62
61
|
md_content.extend(
|
|
63
62
|
[
|
|
64
|
-
|
|
63
|
+
"\n<details>",
|
|
65
64
|
f"<summary><b>{error_type}</b> ({len(errs)} occurrences)</summary>\n",
|
|
66
65
|
"| Index | Input | Error Message |",
|
|
67
66
|
"|-------|-------|---------------|",
|
|
@@ -5,7 +5,8 @@ import os
|
|
|
5
5
|
import os.path as osp
|
|
6
6
|
import pickle
|
|
7
7
|
import uuid
|
|
8
|
-
from
|
|
8
|
+
from threading import Lock
|
|
9
|
+
from typing import Any, Literal
|
|
9
10
|
|
|
10
11
|
import cachetools
|
|
11
12
|
import pandas as pd
|
|
@@ -13,12 +14,11 @@ import xxhash
|
|
|
13
14
|
from loguru import logger
|
|
14
15
|
from pydantic import BaseModel
|
|
15
16
|
|
|
16
|
-
from .utils_io import dump_json_or_pickle, load_json_or_pickle
|
|
17
|
-
from .utils_misc import mkdir_or_exist
|
|
17
|
+
from src.speedy_utils.common.utils_io import dump_json_or_pickle, load_json_or_pickle
|
|
18
|
+
from src.speedy_utils.common.utils_misc import mkdir_or_exist
|
|
18
19
|
|
|
19
20
|
SPEED_CACHE_DIR = osp.join(osp.expanduser("~"), ".cache/speedy_cache")
|
|
20
21
|
LRU_MEM_CACHE = cachetools.LRUCache(maxsize=128_000)
|
|
21
|
-
from threading import Lock
|
|
22
22
|
|
|
23
23
|
thread_locker = Lock()
|
|
24
24
|
|
|
@@ -80,9 +80,9 @@ def identify(obj: Any, depth=0, max_depth=2) -> str:
|
|
|
80
80
|
elif obj is None:
|
|
81
81
|
return identify("None", depth + 1, max_depth)
|
|
82
82
|
else:
|
|
83
|
-
primitive_types = [int, float, str, bool]
|
|
84
|
-
if not type(obj) in primitive_types:
|
|
85
|
-
|
|
83
|
+
# primitive_types = [int, float, str, bool]
|
|
84
|
+
# if not type(obj) in primitive_types:
|
|
85
|
+
# logger.warning(f"Unknown type: {type(obj)}")
|
|
86
86
|
return xxhash.xxh64_hexdigest(fast_serialize(obj), seed=0)
|
|
87
87
|
|
|
88
88
|
|
|
@@ -1,32 +1,13 @@
|
|
|
1
1
|
# utils/utils_print.py
|
|
2
2
|
|
|
3
3
|
import copy
|
|
4
|
-
import inspect
|
|
5
|
-
import json
|
|
6
4
|
import pprint
|
|
7
|
-
import re
|
|
8
|
-
import sys
|
|
9
5
|
import textwrap
|
|
10
|
-
import
|
|
11
|
-
from collections import OrderedDict
|
|
12
|
-
from typing import Annotated, Any, Dict, List, Literal, Optional
|
|
6
|
+
from typing import Any
|
|
13
7
|
|
|
14
|
-
from IPython.display import HTML, display
|
|
15
|
-
from loguru import logger
|
|
16
8
|
from tabulate import tabulate
|
|
17
9
|
|
|
18
|
-
from .
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def display_pretty_table_html(data: dict) -> None:
|
|
22
|
-
"""
|
|
23
|
-
Display a pretty HTML table in Jupyter notebooks.
|
|
24
|
-
"""
|
|
25
|
-
table = "<table>"
|
|
26
|
-
for key, value in data.items():
|
|
27
|
-
table += f"<tr><td>{key}</td><td>{value}</td></tr>"
|
|
28
|
-
table += "</table>"
|
|
29
|
-
display(HTML(table))
|
|
10
|
+
from .notebook_utils import display_pretty_table_html
|
|
30
11
|
|
|
31
12
|
|
|
32
13
|
# Flattening the dictionary using "." notation for keys
|
|
@@ -166,51 +147,7 @@ def fprint(
|
|
|
166
147
|
printer.pprint(processed_data)
|
|
167
148
|
|
|
168
149
|
|
|
169
|
-
def print_table(data: Any, use_html: bool = True) -> None:
|
|
170
|
-
"""
|
|
171
|
-
Print data as a table. If use_html is True, display using IPython HTML.
|
|
172
|
-
"""
|
|
173
|
-
|
|
174
|
-
def __get_table(data: Any) -> str:
|
|
175
|
-
if isinstance(data, str):
|
|
176
|
-
try:
|
|
177
|
-
data = json.loads(data)
|
|
178
|
-
except json.JSONDecodeError as exc:
|
|
179
|
-
raise ValueError("String input could not be decoded as JSON") from exc
|
|
180
|
-
|
|
181
|
-
if isinstance(data, list):
|
|
182
|
-
if all(isinstance(item, dict) for item in data):
|
|
183
|
-
headers = list(data[0].keys())
|
|
184
|
-
rows = [list(item.values()) for item in data]
|
|
185
|
-
return tabulate(
|
|
186
|
-
rows, headers=headers, tablefmt="html" if use_html else "grid"
|
|
187
|
-
)
|
|
188
|
-
else:
|
|
189
|
-
raise ValueError("List must contain dictionaries")
|
|
190
|
-
|
|
191
|
-
if isinstance(data, dict):
|
|
192
|
-
headers = ["Key", "Value"]
|
|
193
|
-
rows = list(data.items())
|
|
194
|
-
return tabulate(
|
|
195
|
-
rows, headers=headers, tablefmt="html" if use_html else "grid"
|
|
196
|
-
)
|
|
197
|
-
|
|
198
|
-
raise TypeError(
|
|
199
|
-
"Input data must be a list of dictionaries, a dictionary, or a JSON string"
|
|
200
|
-
)
|
|
201
|
-
|
|
202
|
-
table = __get_table(data)
|
|
203
|
-
if use_html:
|
|
204
|
-
display(HTML(table))
|
|
205
|
-
else:
|
|
206
|
-
print(table)
|
|
207
|
-
|
|
208
|
-
|
|
209
150
|
__all__ = [
|
|
210
|
-
"display_pretty_table_html",
|
|
211
151
|
"flatten_dict",
|
|
212
152
|
"fprint",
|
|
213
|
-
"print_table",
|
|
214
|
-
# "setup_logger",
|
|
215
|
-
# "log",
|
|
216
153
|
]
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import inspect
|
|
2
1
|
import multiprocessing
|
|
3
2
|
import os
|
|
4
|
-
import time
|
|
5
3
|
import traceback
|
|
6
|
-
from collections.abc import Callable, Iterable, Iterator
|
|
4
|
+
from collections.abc import Callable, Iterable, Iterator
|
|
7
5
|
from concurrent.futures import ProcessPoolExecutor, as_completed
|
|
8
6
|
from itertools import islice
|
|
9
|
-
from typing import Any,
|
|
7
|
+
from typing import Any, TypeVar, cast
|
|
10
8
|
|
|
11
9
|
T = TypeVar("T")
|
|
12
10
|
|
|
@@ -75,6 +73,7 @@ def multi_process(
|
|
|
75
73
|
timeout: float | None = None,
|
|
76
74
|
stop_on_error: bool = True,
|
|
77
75
|
process_update_interval=10,
|
|
76
|
+
for_loop: bool = False,
|
|
78
77
|
**fixed_kwargs,
|
|
79
78
|
) -> list[Any]:
|
|
80
79
|
"""
|
|
@@ -95,6 +94,12 @@ def multi_process(
|
|
|
95
94
|
substitute failing result with ``None``.
|
|
96
95
|
**fixed_kwargs – static keyword args forwarded to every ``func()`` call.
|
|
97
96
|
"""
|
|
97
|
+
if for_loop:
|
|
98
|
+
ret = []
|
|
99
|
+
for arg in inputs:
|
|
100
|
+
ret.append(func(arg, **fixed_kwargs))
|
|
101
|
+
return ret
|
|
102
|
+
|
|
98
103
|
if workers is None:
|
|
99
104
|
workers = os.cpu_count() or 1
|
|
100
105
|
if inflight is None:
|
speedy_utils/scripts/mpython.py
CHANGED
|
@@ -5,7 +5,6 @@ import multiprocessing # Import multiprocessing module
|
|
|
5
5
|
import os
|
|
6
6
|
import shlex # To properly escape command line arguments
|
|
7
7
|
import shutil
|
|
8
|
-
import subprocess
|
|
9
8
|
|
|
10
9
|
taskset_path = shutil.which("taskset")
|
|
11
10
|
|
|
@@ -80,11 +79,12 @@ def main():
|
|
|
80
79
|
cmd_str = shlex.join(args.cmd)
|
|
81
80
|
|
|
82
81
|
gpus = args.gpus.split(",")
|
|
83
|
-
gpus = [gpu for gpu in gpus if not
|
|
82
|
+
gpus = [gpu for gpu in gpus if gpu not in args.ignore_gpus.split(",")]
|
|
84
83
|
num_gpus = len(gpus)
|
|
85
84
|
|
|
86
85
|
cpu_per_process = max(args.total_cpu // args.total_fold, 1)
|
|
87
86
|
cmds = []
|
|
87
|
+
path_python = shutil.which("python")
|
|
88
88
|
for i in range(args.total_fold):
|
|
89
89
|
gpu = gpus[i % num_gpus]
|
|
90
90
|
cpu_start = (i * cpu_per_process) % args.total_cpu
|
|
@@ -92,10 +92,10 @@ def main():
|
|
|
92
92
|
ENV = f"CUDA_VISIBLE_DEVICES={gpu} MP_ID={i} MP_TOTAL={args.total_fold}"
|
|
93
93
|
if taskset_path:
|
|
94
94
|
fold_cmd = (
|
|
95
|
-
f"{ENV} {taskset_path} -c {cpu_start}-{cpu_end}
|
|
95
|
+
f"{ENV} {taskset_path} -c {cpu_start}-{cpu_end} {path_python} {cmd_str}"
|
|
96
96
|
)
|
|
97
97
|
else:
|
|
98
|
-
fold_cmd = f"{ENV}
|
|
98
|
+
fold_cmd = f"{ENV} {path_python} {cmd_str}"
|
|
99
99
|
|
|
100
100
|
cmds.append(fold_cmd)
|
|
101
101
|
|
|
@@ -10,12 +10,8 @@ Usage:
|
|
|
10
10
|
|
|
11
11
|
import argparse
|
|
12
12
|
import json
|
|
13
|
-
import os
|
|
14
|
-
import signal
|
|
15
|
-
import subprocess
|
|
16
13
|
import sys
|
|
17
|
-
import
|
|
18
|
-
from typing import Any, Dict, List, Optional
|
|
14
|
+
from typing import Any, Dict, List
|
|
19
15
|
|
|
20
16
|
|
|
21
17
|
def pascal_case(s: str) -> str:
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
llm_utils/__init__.py,sha256=0y7y1ia3jyvY3qgOnVp1xCqwMT5UYgw_cSAU_9AjHUo,650
|
|
2
|
+
llm_utils/chat_format/__init__.py,sha256=8dBIUqFJvkgQYedxBtcyxt-4tt8JxAKVap2JlTXmgaM,737
|
|
3
|
+
llm_utils/chat_format/display.py,sha256=qaEGADGP8iQFzWOuzEO7_HyrqAFdEnUfkHAH28b0ym0,9772
|
|
4
|
+
llm_utils/chat_format/transform.py,sha256=8TZhvUS5DrjUeMNtDIuWY54B_QZ7jjpXEL9c8F5z79w,5400
|
|
5
|
+
llm_utils/chat_format/utils.py,sha256=xTxN4HrLHcRO2PfCTR43nH1M5zCa7v0kTTdzAcGkZg0,1229
|
|
6
|
+
llm_utils/group_messages.py,sha256=8CU9nKOja3xeuhdrX5CvYVveSqSKb2zQ0eeNzA88aTQ,3621
|
|
7
|
+
llm_utils/lm/__init__.py,sha256=e8eCWlLo39GZjq9CokludZGHYVZ7BnbWZ6GOJoiWGzE,110
|
|
8
|
+
llm_utils/lm/alm.py,sha256=06QVT7iWAa8Rz48oRmnzkS-dJYOiJ0zSfKqEhZY11S8,30825
|
|
9
|
+
llm_utils/lm/chat_html.py,sha256=PiI8rTzQ_JUYuoANj6ZNTEiWZKJY_utVQwA_B036M2s,8669
|
|
10
|
+
llm_utils/lm/lm.py,sha256=FMiAhltqUNZdzGejMBPqGfQ3PE-fUoIGW8hfjTO_fNo,31035
|
|
11
|
+
llm_utils/lm/lm_json.py,sha256=3Gv1tKhbKACoQXfcLDtO-PyJKmo7WuN33zKk7qAY7iE,1970
|
|
12
|
+
llm_utils/lm/utils.py,sha256=GMvs64DRzVnXAki4SZ-A6mx2Fi9IgeF11BA-5FB-CYg,4777
|
|
13
|
+
llm_utils/scripts/README.md,sha256=yuOLnLa2od2jp4wVy3rV0rESeiV3o8zol5MNMsZx0DY,999
|
|
14
|
+
llm_utils/scripts/vllm_load_balancer.py,sha256=qsVhQ3ubJ3JnOAu4psHB1PyKy9muX-mZZkFqepH8WcU,17507
|
|
15
|
+
llm_utils/scripts/vllm_serve.py,sha256=CbW_3Y9Vt7eQYoGGPT3yj1nhbLYOc3b1LdJBy1sVX-Y,11976
|
|
16
|
+
speedy_utils/__init__.py,sha256=kxQk4PGS3Xkxnerm0YqjF6GKTpgoaTc1vudKid-2c_A,3388
|
|
17
|
+
speedy_utils/all.py,sha256=A9jiKGjo950eg1pscS9x38OWAjKGyusoAN5mrfweY4E,3090
|
|
18
|
+
speedy_utils/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
+
speedy_utils/common/clock.py,sha256=3n4FkCW0dz46O8By09V5Pve1DSMgpLDRbWEVRryryeQ,7423
|
|
20
|
+
speedy_utils/common/function_decorator.py,sha256=BspJ0YuGL6elS7lWBAgELZ-sCfED_1N2P5fgH-fCRUQ,2132
|
|
21
|
+
speedy_utils/common/logger.py,sha256=JqW9gG4ujfq4RldNeYP2p52BYgCwjkYeGGYyzLn6mfY,6422
|
|
22
|
+
speedy_utils/common/notebook_utils.py,sha256=7tFXMaE365ubrD9VCwDoZe7oBqZ2qG5t_Vla4Qvg1M8,2062
|
|
23
|
+
speedy_utils/common/report_manager.py,sha256=sEuwLcyYpYlj9uxIsC8yiAu1eirydkQIldKRtFStswI,3894
|
|
24
|
+
speedy_utils/common/utils_cache.py,sha256=Fp1vvi19q4xIcXi7ZuVjk49gOqdl3i7bv2Z6UnERMjM,8424
|
|
25
|
+
speedy_utils/common/utils_io.py,sha256=d7PKz5tOPrwHDr7GXuYmILvjXJOFEwfzAEIuUcYaI60,4790
|
|
26
|
+
speedy_utils/common/utils_misc.py,sha256=cdEuBBpiB1xpuzj0UBDHDuTIerqsMIw37ENq6EXliOw,1795
|
|
27
|
+
speedy_utils/common/utils_print.py,sha256=iQqnOYw2EFC8TqeSDbrcnIQAUKT7FbB8Mec8b2aGAzw,4833
|
|
28
|
+
speedy_utils/multi_worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
29
|
+
speedy_utils/multi_worker/process.py,sha256=BI-sgzzQ0_N8kOfaS_3ZAGZ3d6panYzJ3-BGZthY4dQ,6824
|
|
30
|
+
speedy_utils/multi_worker/thread.py,sha256=9pXjvgjD0s0Hp0cZ6I3M0ndp1OlYZ1yvqbs_bcun_Kw,12775
|
|
31
|
+
speedy_utils/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
|
+
speedy_utils/scripts/mpython.py,sha256=73PHm1jqbCt2APN4xuNjD0VDKwzOj4EZsViEMQiZU2g,3853
|
|
33
|
+
speedy_utils/scripts/openapi_client_codegen.py,sha256=f2125S_q0PILgH5dyzoKRz7pIvNEjCkzpi4Q4pPFRZE,9683
|
|
34
|
+
speedy_utils-1.0.16.dist-info/METADATA,sha256=LhbJApTXjZ1eVVW50D26grUhI_H2BJiw9hU7DI2bezY,7392
|
|
35
|
+
speedy_utils-1.0.16.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
36
|
+
speedy_utils-1.0.16.dist-info/entry_points.txt,sha256=T1t85jwx8fK6m5msdkBGIXH5R5Kd0zSL0S6erXERPzg,237
|
|
37
|
+
speedy_utils-1.0.16.dist-info/RECORD,,
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
llm_utils/__init__.py,sha256=JcRRsx6dtGLD8nwIz90Iowj6PLOO2_hUi254VbDpc_I,773
|
|
2
|
-
llm_utils/chat_format/__init__.py,sha256=8dBIUqFJvkgQYedxBtcyxt-4tt8JxAKVap2JlTXmgaM,737
|
|
3
|
-
llm_utils/chat_format/display.py,sha256=a3zWzo47SUf4i-uic-dwf-vxtu6gZWLbnJrszjjZjQ8,9801
|
|
4
|
-
llm_utils/chat_format/transform.py,sha256=328V18FOgRQzljAl9Mh8NF4Tl-N3cZZIPmAwHQspXCY,5461
|
|
5
|
-
llm_utils/chat_format/utils.py,sha256=xTxN4HrLHcRO2PfCTR43nH1M5zCa7v0kTTdzAcGkZg0,1229
|
|
6
|
-
llm_utils/group_messages.py,sha256=wyiZzs7O8yK2lyIakV2x-1CrrWVT12sjnP1vVnmPet4,3606
|
|
7
|
-
llm_utils/lm/__init__.py,sha256=e8eCWlLo39GZjq9CokludZGHYVZ7BnbWZ6GOJoiWGzE,110
|
|
8
|
-
llm_utils/lm/alm.py,sha256=mJvB6uAzfakIjA7We19-VJNI9UKKkdfqeef1rJlKR9A,15773
|
|
9
|
-
llm_utils/lm/lm.py,sha256=3mzLYKRbo50XjHp6_WuqkfG2HqTwmozXtQjYQC81m28,19516
|
|
10
|
-
llm_utils/lm/utils.py,sha256=-fDNueiXKQI6RDoNHJYNyORomf2XlCf2doJZ3GEV2Io,4762
|
|
11
|
-
llm_utils/scripts/vllm_load_balancer.py,sha256=17zaq8RJseikHVoAibGOz0p_MCLcNlnhZDkk7g4cuLc,17519
|
|
12
|
-
llm_utils/scripts/vllm_serve.py,sha256=CbW_3Y9Vt7eQYoGGPT3yj1nhbLYOc3b1LdJBy1sVX-Y,11976
|
|
13
|
-
speedy_utils/__init__.py,sha256=I2bSfDIE9yRF77tnHW0vqfExDA2m1gUx4AH8C9XmGtg,1707
|
|
14
|
-
speedy_utils/all.py,sha256=A9jiKGjo950eg1pscS9x38OWAjKGyusoAN5mrfweY4E,3090
|
|
15
|
-
speedy_utils/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
speedy_utils/common/clock.py,sha256=3n4FkCW0dz46O8By09V5Pve1DSMgpLDRbWEVRryryeQ,7423
|
|
17
|
-
speedy_utils/common/function_decorator.py,sha256=r_r42qCWuNcu0_aH7musf2BWvcJfgZrD81G28mDcolw,2226
|
|
18
|
-
speedy_utils/common/logger.py,sha256=NIOlhhACpcc0BUTSJ8oDYrLp23J2gW_KJFyRVdLN2tY,6432
|
|
19
|
-
speedy_utils/common/report_manager.py,sha256=dgGfS_fHbZiQMsLzkgnj0OfB758t1x6B4MhjsetSl9A,3930
|
|
20
|
-
speedy_utils/common/utils_cache.py,sha256=gXX5qTXpCG3qDgjnOsSvxM4LkQurmcsg4QRv_zOBG1E,8378
|
|
21
|
-
speedy_utils/common/utils_io.py,sha256=d7PKz5tOPrwHDr7GXuYmILvjXJOFEwfzAEIuUcYaI60,4790
|
|
22
|
-
speedy_utils/common/utils_misc.py,sha256=nsQOu2jcplcFHVQ1CnOjEpNcdxIINveGxB493Cqo63U,1812
|
|
23
|
-
speedy_utils/common/utils_print.py,sha256=QRaL2QPbks4Mtol_gJy3ZdahgUfzUEtcOp4--lBlzYI,6709
|
|
24
|
-
speedy_utils/multi_worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
-
speedy_utils/multi_worker/process.py,sha256=XwQlffxzRFnCVeKjDNBZDwFfUQHiJiuFA12MRGJVru8,6708
|
|
26
|
-
speedy_utils/multi_worker/thread.py,sha256=9pXjvgjD0s0Hp0cZ6I3M0ndp1OlYZ1yvqbs_bcun_Kw,12775
|
|
27
|
-
speedy_utils/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
28
|
-
speedy_utils/scripts/mpython.py,sha256=ZzkBWI5Xw3vPoMx8xQt2x4mOFRjtwWqfvAJ5_ngyWgw,3816
|
|
29
|
-
speedy_utils/scripts/openapi_client_codegen.py,sha256=4Y1HO8Uht-hCfHEVxY6TlSeTOcZZRVwJ-SBu-bFsAOk,9747
|
|
30
|
-
speedy_utils-1.0.14.dist-info/METADATA,sha256=MqB1t1UxDPGzEOTI6DN3HEWHTw3AeikdAoN6udMCoyc,7392
|
|
31
|
-
speedy_utils-1.0.14.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
32
|
-
speedy_utils-1.0.14.dist-info/entry_points.txt,sha256=T1t85jwx8fK6m5msdkBGIXH5R5Kd0zSL0S6erXERPzg,237
|
|
33
|
-
speedy_utils-1.0.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|