def __init__(
self,
name: str,
) -> None:
self.name = name
settings_configs = getattr(settings, _CONFIGS_NAME)
if not isinstance(settings_configs, dict) or not settings_configs:
message = f'Your "{_CONFIGS_NAME}" in your "{get_settings_module_name()}" module is configured incorrectly.'
raise DandyError(message)
if 'DEFAULT' not in settings_configs:
message = f'You need a "DEFAULT" in your "{_CONFIGS_NAME}" in your "{get_settings_module_name()}" module.'
raise DandyError(message)
config = settings_configs.get(name)
if config is None:
message = f'The "{name}" in "{_CONFIGS_NAME}" in your "{get_settings_module_name()}" module is not configured.'
raise DandyError(message)
if not isinstance(config, dict):
message = f'the "{_CONFIGS_NAME}" in the "{get_settings_module_name()}" module are configured incorrectly.'
raise DandyError(message)
for key in _DEFAULT_TRANSFER_KEYS:
if key in config:
if config[key] is None or config[key] == '':
message = f'The "{key}" in "{_CONFIGS_NAME}.{name}" in your "{get_settings_module_name()}" cannot be empty.'
raise DandyError(message)
config[key] = config[key] if config.get(key) else settings_configs['DEFAULT'][key]
self._settings_values = {
key.lower(): val
for key, val in config.items()
}
self.http_request_intel = HttpRequestIntel(
method='POST',
url=Url(
host=self.get_settings_value('host', True),
port=self.get_settings_value('port', True),
path_parameters=self.get_settings_value('path_parameters'),
query_parameters=self.get_settings_value('query_parameters'),
),
headers=self.get_settings_value('headers') or {},
bearer_token=self.get_settings_value('api_key') or self.get_settings_value('bearer_token'),
)
self.model = self.get_settings_value('model', True)
self.options = LlmOptions()
self._set_options_from_config()
self.http_request_intel.url.path_parameters = [
'v1',
'chat',
'completions'
]