Spaces:
Running
Running
File size: 1,163 Bytes
1a1e2eb 3a67739 1a1e2eb 3a67739 ffda32c d3ac0b2 ffda32c 3a67739 1a1e2eb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | # Thunder/utils/config_parser.py
import os
from typing import Dict, Optional
from Thunder.utils.logger import logger
class TokenParser:
def __init__(self, config_file: Optional[str] = None):
self.tokens: Dict[int, str] = {}
self.config_file = config_file
def parse_from_env(self) -> Dict[int, str]:
try:
multi_tokens = {
key: value.strip(" '\"")
for key, value in os.environ.items()
if key.startswith("MULTI_TOKEN") and value.strip(" '\"")
}
if not multi_tokens:
return {}
sorted_tokens = sorted(
multi_tokens.items(),
key=lambda item: int(''.join(filter(str.isdigit, item[0])) or 0)
)
self.tokens = {
index + 1: token
for index, (_, token) in enumerate(sorted_tokens)
}
return self.tokens
except Exception as e:
logger.error(f"Error in parse_from_env: {e}", exc_info=True)
return {}
|