volcengine-python-sdk-aicc 0.0.41__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.
- bytedance/__init__.py +4 -0
- bytedance/jeddak_secure_channel/__init__.py +28 -0
- bytedance/jeddak_secure_channel/client.py +305 -0
- bytedance/jeddak_secure_channel/config.py +171 -0
- bytedance/jeddak_secure_channel/consts.py +5 -0
- bytedance/jeddak_secure_channel/crypto/__init__.py +14 -0
- bytedance/jeddak_secure_channel/crypto/aes.py +174 -0
- bytedance/jeddak_secure_channel/crypto/envelope.py +395 -0
- bytedance/jeddak_secure_channel/crypto/rsa.py +164 -0
- bytedance/jeddak_secure_channel/error.py +131 -0
- bytedance/jeddak_secure_channel/log/__init__.py +23 -0
- bytedance/jeddak_secure_channel/log/config.py +31 -0
- bytedance/jeddak_secure_channel/log/logger.py +88 -0
- bytedance/jeddak_secure_channel/logger_factory.py +134 -0
- bytedance/jeddak_secure_channel/ra.py +772 -0
- bytedance/jeddak_secure_channel/server.py +745 -0
- bytedance/jeddak_secure_channel/service/__init__.py +16 -0
- bytedance/jeddak_secure_channel/service/eps.py +133 -0
- bytedance/jeddak_secure_channel/service/eps_models.py +47 -0
- bytedance/jeddak_secure_channel/service/ras.py +88 -0
- bytedance/jeddak_secure_channel/service/tks.py +51 -0
- bytedance/jeddak_secure_channel/service/tks_models.py +334 -0
- bytedance/jeddak_secure_channel/utils.py +469 -0
- bytedance/jeddak_secure_model/model_automation_tool.py +181 -0
- bytedance/jeddak_secure_model/model_encryption.py +416 -0
- bytedance/jeddak_secure_model/model_hub_admin.py +116 -0
- bytedance/jeddak_secure_model/pcc_utils.py +279 -0
- bytedance/jeddak_secure_model/rds_utils.py +63 -0
- bytedance/tks/attester.py +41 -0
- bytedance/tks/client.py +629 -0
- bytedance/tks/consts.py +122 -0
- bytedance/tks/crypto/aes.py +47 -0
- bytedance/tks/crypto/ec.py +39 -0
- bytedance/tks/exceptions.py +22 -0
- bytedance/volcengine_aicc_sdk/__init__.py +14 -0
- bytedance/volcengine_aicc_sdk/aicc_client.py +277 -0
- bytedance/volcengine_aicc_sdk/aicc_inference.py +64 -0
- bytedance/volcengine_aicc_sdk/ark_inference_client.py +343 -0
- bytedance/volcengine_aicc_sdk/asr_inference_client.py +158 -0
- bytedance/volcengine_aicc_sdk/asr_websocket_client.py +705 -0
- bytedance/volcengine_aicc_sdk/auc_inference_client.py +305 -0
- bytedance/volcengine_aicc_sdk/common/__init__.py +0 -0
- bytedance/volcengine_aicc_sdk/common/aes.py +136 -0
- bytedance/volcengine_aicc_sdk/common/constant.py +4 -0
- bytedance/volcengine_aicc_sdk/common/error.py +21 -0
- bytedance/volcengine_aicc_sdk/common/log/__init__.py +24 -0
- bytedance/volcengine_aicc_sdk/common/log/config.py +31 -0
- bytedance/volcengine_aicc_sdk/common/log/logger.py +88 -0
- bytedance/volcengine_aicc_sdk/common/tos_utils.py +341 -0
- bytedance/volcengine_aicc_sdk/common/utils.py +45 -0
- bytedance/volcengine_aicc_sdk/cu_inference_client.py +292 -0
- bytedance/volcengine_aicc_sdk/deepseek_inference_client.py +501 -0
- bytedance/volcengine_aicc_sdk/secure_http_client.py +406 -0
- bytedance/volcengine_aicc_sdk/seedance_inference_client.py +500 -0
- bytedance/volcengine_aicc_sdk/seedream_inference_client.py +213 -0
- volcengine_python_sdk_aicc-0.0.41.dist-info/METADATA +79 -0
- volcengine_python_sdk_aicc-0.0.41.dist-info/RECORD +60 -0
- volcengine_python_sdk_aicc-0.0.41.dist-info/WHEEL +5 -0
- volcengine_python_sdk_aicc-0.0.41.dist-info/licenses/LICENSE +202 -0
- volcengine_python_sdk_aicc-0.0.41.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
__all__ = [
|
|
2
|
+
"DEBUG",
|
|
3
|
+
"INFO",
|
|
4
|
+
"WARNING",
|
|
5
|
+
"ERROR",
|
|
6
|
+
"CRITICAL",
|
|
7
|
+
"FORMAT",
|
|
8
|
+
"LogConfig"
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
# Log level constants
|
|
12
|
+
DEBUG = "DEBUG"
|
|
13
|
+
INFO = "INFO"
|
|
14
|
+
WARNING = "WARNING"
|
|
15
|
+
ERROR = "ERROR"
|
|
16
|
+
CRITICAL = "CRITICAL"
|
|
17
|
+
# Log output format
|
|
18
|
+
FORMAT = "{time:YYYY-MM-DD HH:mm:ss} | {level} | {file.path}:{line} | {message}"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class LogConfig:
|
|
22
|
+
"""Log configuration class."""
|
|
23
|
+
|
|
24
|
+
def __init__(self):
|
|
25
|
+
self.rotation = 100 # Size limit for log files in MB
|
|
26
|
+
self.retention = 7 # Days to retain log files
|
|
27
|
+
self.compression = "zip"
|
|
28
|
+
self.dir = "jsc_log"
|
|
29
|
+
self.filename = "jsc.log"
|
|
30
|
+
self.format = FORMAT
|
|
31
|
+
self.level = INFO
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
__all__ = [
|
|
2
|
+
"debug",
|
|
3
|
+
"info",
|
|
4
|
+
"warning",
|
|
5
|
+
"error",
|
|
6
|
+
"critical",
|
|
7
|
+
"init_log_config"
|
|
8
|
+
]
|
|
9
|
+
|
|
10
|
+
import os.path
|
|
11
|
+
import sys
|
|
12
|
+
from typing import Any
|
|
13
|
+
|
|
14
|
+
from loguru import logger
|
|
15
|
+
|
|
16
|
+
from . import LogConfig, FORMAT
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def init_log_config(*configs: LogConfig):
|
|
20
|
+
"""Initialize logging configuration with given configs."""
|
|
21
|
+
logger.remove()
|
|
22
|
+
|
|
23
|
+
log_level = "INFO"
|
|
24
|
+
if os.environ.get("log_level"):
|
|
25
|
+
log_level = os.environ.get("log_level")
|
|
26
|
+
if os.environ.get("LOG_LEVEL"):
|
|
27
|
+
log_level = os.environ.get("LOG_LEVEL")
|
|
28
|
+
|
|
29
|
+
logger.add(sink=sys.stdout, format=FORMAT, level=log_level)
|
|
30
|
+
|
|
31
|
+
for config in configs:
|
|
32
|
+
if not config.dir:
|
|
33
|
+
config.dir = os.environ.get("LOG_DIR", "aicc_log")
|
|
34
|
+
|
|
35
|
+
if not config.filename:
|
|
36
|
+
config.filename = "jsc.log"
|
|
37
|
+
|
|
38
|
+
os.makedirs(config.dir, exist_ok=True)
|
|
39
|
+
fullpath = os.path.join(config.dir, config.filename)
|
|
40
|
+
|
|
41
|
+
if config.rotation <= 0:
|
|
42
|
+
config.rotation = 100
|
|
43
|
+
rotation = f"{config.rotation} MB"
|
|
44
|
+
|
|
45
|
+
if config.retention <= 0:
|
|
46
|
+
config.retention = 7
|
|
47
|
+
retention = f"{config.retention} days"
|
|
48
|
+
|
|
49
|
+
logger.add(
|
|
50
|
+
sink=fullpath,
|
|
51
|
+
rotation=rotation,
|
|
52
|
+
retention=retention,
|
|
53
|
+
compression=config.compression,
|
|
54
|
+
format=config.format,
|
|
55
|
+
level=config.level
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def msg_proc(message: str) -> str:
|
|
60
|
+
if message:
|
|
61
|
+
return f"[jsc]:{message}"
|
|
62
|
+
else:
|
|
63
|
+
return message
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
def debug(message: str, *args: Any, **kwargs: Any) -> None:
|
|
67
|
+
"""Log debug message."""
|
|
68
|
+
logger.opt(depth=1).debug(msg_proc(message), *args, **kwargs)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def info(message: str, *args: Any, **kwargs: Any) -> None:
|
|
72
|
+
"""Log info message."""
|
|
73
|
+
logger.opt(depth=1).info(msg_proc(message), *args, **kwargs)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
def warning(message: str, *args: Any, **kwargs: Any) -> None:
|
|
77
|
+
"""Log warning message."""
|
|
78
|
+
logger.opt(depth=1).warning(msg_proc(message), *args, **kwargs)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
def error(message: str, *args: Any, **kwargs: Any) -> None:
|
|
82
|
+
"""Log error message."""
|
|
83
|
+
logger.opt(depth=1).error(msg_proc(message), *args, **kwargs)
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def critical(message: str, *args: Any, **kwargs: Any) -> None:
|
|
87
|
+
"""Log critical message."""
|
|
88
|
+
logger.opt(depth=1).critical(msg_proc(message), *args, **kwargs)
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import multiprocessing
|
|
3
|
+
import os
|
|
4
|
+
import sys
|
|
5
|
+
|
|
6
|
+
mutex = multiprocessing.Lock()
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Factory(object):
|
|
10
|
+
@staticmethod
|
|
11
|
+
def init(*args):
|
|
12
|
+
"""
|
|
13
|
+
Initialize a global instance
|
|
14
|
+
:param args:
|
|
15
|
+
:return:
|
|
16
|
+
"""
|
|
17
|
+
pass
|
|
18
|
+
|
|
19
|
+
@staticmethod
|
|
20
|
+
def get_global_instance():
|
|
21
|
+
"""
|
|
22
|
+
Get the global instance
|
|
23
|
+
:return:
|
|
24
|
+
"""
|
|
25
|
+
pass
|
|
26
|
+
|
|
27
|
+
@staticmethod
|
|
28
|
+
def get_instance(*args):
|
|
29
|
+
"""
|
|
30
|
+
Get an instance
|
|
31
|
+
:param args:
|
|
32
|
+
:return:
|
|
33
|
+
"""
|
|
34
|
+
pass
|
|
35
|
+
|
|
36
|
+
@staticmethod
|
|
37
|
+
def _raise_value_error(invalid_type, invalid_value):
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
:param invalid_type: str
|
|
41
|
+
:param invalid_value: str
|
|
42
|
+
:return:
|
|
43
|
+
"""
|
|
44
|
+
raise ValueError("invalid {}: {}".format(invalid_type, invalid_value))
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class LoggerFactory(Factory):
|
|
48
|
+
logger = None
|
|
49
|
+
root_dir = ""
|
|
50
|
+
task_logger_level = ""
|
|
51
|
+
local_logger = {}
|
|
52
|
+
|
|
53
|
+
@staticmethod
|
|
54
|
+
def init():
|
|
55
|
+
top_logger_level = os.getenv("TOP_LOGGER_LEVEL", "DEBUG").strip('"')
|
|
56
|
+
log_path = os.getenv("LOGDIR", f"./jsc_log").strip('"')
|
|
57
|
+
task_logger_level = os.getenv("TASK_LOGGER_LEVEL", "DEBUG").strip('"')
|
|
58
|
+
|
|
59
|
+
LoggerFactory.task_logger_level = task_logger_level
|
|
60
|
+
|
|
61
|
+
try:
|
|
62
|
+
import bytedlogger
|
|
63
|
+
|
|
64
|
+
bytedlogger.config_default()
|
|
65
|
+
LoggerFactory.logger = logging.getLogger("top")
|
|
66
|
+
except ImportError:
|
|
67
|
+
LoggerFactory.logger = logging.getLogger("top")
|
|
68
|
+
LoggerFactory.logger.setLevel(top_logger_level)
|
|
69
|
+
|
|
70
|
+
if log_path is None or log_path == "":
|
|
71
|
+
log_path = "/home/jeddak/log"
|
|
72
|
+
print(f"Root logger path is not set, use log_path {log_path}")
|
|
73
|
+
|
|
74
|
+
print(f"log_path: {log_path}")
|
|
75
|
+
LoggerFactory.root_dir = log_path
|
|
76
|
+
|
|
77
|
+
if not os.path.exists(log_path):
|
|
78
|
+
os.makedirs(log_path)
|
|
79
|
+
|
|
80
|
+
top_logger_path = os.path.join(log_path, "top.log")
|
|
81
|
+
|
|
82
|
+
fh = logging.FileHandler(top_logger_path, mode="a")
|
|
83
|
+
fh.setLevel(top_logger_level)
|
|
84
|
+
formatter = logging.Formatter(
|
|
85
|
+
"%(asctime)s - %(levelname)s - %(filename)s:%(lineno)d - %(message)s"
|
|
86
|
+
)
|
|
87
|
+
fh.setFormatter(formatter)
|
|
88
|
+
LoggerFactory.logger.addHandler(fh)
|
|
89
|
+
# LoggerFactory.logger.addHandler(logging.StreamHandler(sys.stdout))
|
|
90
|
+
|
|
91
|
+
@staticmethod
|
|
92
|
+
def get_global_instance():
|
|
93
|
+
if LoggerFactory.logger is None:
|
|
94
|
+
LoggerFactory.init()
|
|
95
|
+
return LoggerFactory.logger
|
|
96
|
+
|
|
97
|
+
@staticmethod
|
|
98
|
+
def attach_logger(logger, log_path, log_file_name, logger_level, _formatter):
|
|
99
|
+
with mutex:
|
|
100
|
+
if not os.path.exists(log_path):
|
|
101
|
+
os.makedirs(log_path)
|
|
102
|
+
logger.setLevel(logger_level)
|
|
103
|
+
_fh = logging.FileHandler(log_file_name, mode="a")
|
|
104
|
+
_fh.setLevel(logger_level)
|
|
105
|
+
# _formatter = logging.Formatter(
|
|
106
|
+
# f'%(asctime)s - %(levelname)s - %(filename)s:%(lineno)d - {logger_str} - %(message)s')
|
|
107
|
+
_fh.setFormatter(_formatter)
|
|
108
|
+
|
|
109
|
+
logger.addHandler(_fh)
|
|
110
|
+
logger.addHandler(logging.StreamHandler(sys.stdout))
|
|
111
|
+
return logger
|
|
112
|
+
|
|
113
|
+
@staticmethod
|
|
114
|
+
def get_local_instance(log_id="jsc_log"):
|
|
115
|
+
if LoggerFactory.logger is None:
|
|
116
|
+
LoggerFactory.init()
|
|
117
|
+
|
|
118
|
+
logger_name = log_id
|
|
119
|
+
if logger_name in LoggerFactory.local_logger:
|
|
120
|
+
return LoggerFactory.local_logger[logger_name]
|
|
121
|
+
|
|
122
|
+
log_path = os.path.join(LoggerFactory.root_dir, log_id)
|
|
123
|
+
log_file_name = os.path.join(log_path, logger_name + ".log")
|
|
124
|
+
|
|
125
|
+
_logger = logging.getLogger(log_id)
|
|
126
|
+
|
|
127
|
+
_formatter = logging.Formatter(
|
|
128
|
+
f"%(asctime)s - %(levelname)s - %(filename)s:%(lineno)d - {logger_name} - %(message)s"
|
|
129
|
+
)
|
|
130
|
+
_logger = LoggerFactory.attach_logger(
|
|
131
|
+
_logger, log_path, log_file_name, LoggerFactory.task_logger_level, _formatter
|
|
132
|
+
)
|
|
133
|
+
LoggerFactory.local_logger[logger_name] = _logger
|
|
134
|
+
return _logger
|