FileToLink / Thunder /utils /config_parser.py
Hermes Agent
Strip quotes from MULTI_TOKEN values
ffda32c
Raw
History Blame Contribute Delete
1.16 kB
# 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 {}