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.
Files changed (60) hide show
  1. bytedance/__init__.py +4 -0
  2. bytedance/jeddak_secure_channel/__init__.py +28 -0
  3. bytedance/jeddak_secure_channel/client.py +305 -0
  4. bytedance/jeddak_secure_channel/config.py +171 -0
  5. bytedance/jeddak_secure_channel/consts.py +5 -0
  6. bytedance/jeddak_secure_channel/crypto/__init__.py +14 -0
  7. bytedance/jeddak_secure_channel/crypto/aes.py +174 -0
  8. bytedance/jeddak_secure_channel/crypto/envelope.py +395 -0
  9. bytedance/jeddak_secure_channel/crypto/rsa.py +164 -0
  10. bytedance/jeddak_secure_channel/error.py +131 -0
  11. bytedance/jeddak_secure_channel/log/__init__.py +23 -0
  12. bytedance/jeddak_secure_channel/log/config.py +31 -0
  13. bytedance/jeddak_secure_channel/log/logger.py +88 -0
  14. bytedance/jeddak_secure_channel/logger_factory.py +134 -0
  15. bytedance/jeddak_secure_channel/ra.py +772 -0
  16. bytedance/jeddak_secure_channel/server.py +745 -0
  17. bytedance/jeddak_secure_channel/service/__init__.py +16 -0
  18. bytedance/jeddak_secure_channel/service/eps.py +133 -0
  19. bytedance/jeddak_secure_channel/service/eps_models.py +47 -0
  20. bytedance/jeddak_secure_channel/service/ras.py +88 -0
  21. bytedance/jeddak_secure_channel/service/tks.py +51 -0
  22. bytedance/jeddak_secure_channel/service/tks_models.py +334 -0
  23. bytedance/jeddak_secure_channel/utils.py +469 -0
  24. bytedance/jeddak_secure_model/model_automation_tool.py +181 -0
  25. bytedance/jeddak_secure_model/model_encryption.py +416 -0
  26. bytedance/jeddak_secure_model/model_hub_admin.py +116 -0
  27. bytedance/jeddak_secure_model/pcc_utils.py +279 -0
  28. bytedance/jeddak_secure_model/rds_utils.py +63 -0
  29. bytedance/tks/attester.py +41 -0
  30. bytedance/tks/client.py +629 -0
  31. bytedance/tks/consts.py +122 -0
  32. bytedance/tks/crypto/aes.py +47 -0
  33. bytedance/tks/crypto/ec.py +39 -0
  34. bytedance/tks/exceptions.py +22 -0
  35. bytedance/volcengine_aicc_sdk/__init__.py +14 -0
  36. bytedance/volcengine_aicc_sdk/aicc_client.py +277 -0
  37. bytedance/volcengine_aicc_sdk/aicc_inference.py +64 -0
  38. bytedance/volcengine_aicc_sdk/ark_inference_client.py +343 -0
  39. bytedance/volcengine_aicc_sdk/asr_inference_client.py +158 -0
  40. bytedance/volcengine_aicc_sdk/asr_websocket_client.py +705 -0
  41. bytedance/volcengine_aicc_sdk/auc_inference_client.py +305 -0
  42. bytedance/volcengine_aicc_sdk/common/__init__.py +0 -0
  43. bytedance/volcengine_aicc_sdk/common/aes.py +136 -0
  44. bytedance/volcengine_aicc_sdk/common/constant.py +4 -0
  45. bytedance/volcengine_aicc_sdk/common/error.py +21 -0
  46. bytedance/volcengine_aicc_sdk/common/log/__init__.py +24 -0
  47. bytedance/volcengine_aicc_sdk/common/log/config.py +31 -0
  48. bytedance/volcengine_aicc_sdk/common/log/logger.py +88 -0
  49. bytedance/volcengine_aicc_sdk/common/tos_utils.py +341 -0
  50. bytedance/volcengine_aicc_sdk/common/utils.py +45 -0
  51. bytedance/volcengine_aicc_sdk/cu_inference_client.py +292 -0
  52. bytedance/volcengine_aicc_sdk/deepseek_inference_client.py +501 -0
  53. bytedance/volcengine_aicc_sdk/secure_http_client.py +406 -0
  54. bytedance/volcengine_aicc_sdk/seedance_inference_client.py +500 -0
  55. bytedance/volcengine_aicc_sdk/seedream_inference_client.py +213 -0
  56. volcengine_python_sdk_aicc-0.0.41.dist-info/METADATA +79 -0
  57. volcengine_python_sdk_aicc-0.0.41.dist-info/RECORD +60 -0
  58. volcengine_python_sdk_aicc-0.0.41.dist-info/WHEEL +5 -0
  59. volcengine_python_sdk_aicc-0.0.41.dist-info/licenses/LICENSE +202 -0
  60. 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