synth_ai.core.config.base
Base configuration classes for Synth AI SDK.
This module defines the base config class that all job configs inherit from,
ensuring consistent handling of common fields like API keys and backend URLs.
Classes
BaseJobConfig
Base class for all job configuration dataclasses.
This class provides common functionality shared across all job types
(prompt learning, SFT, RL, research agent). Subclasses should inherit
from this and add job-specific fields.
The base class ensures consistent handling of:
- Backend URL resolution
- API key validation
- Common configuration patterns
resolve_credentials
- Tuple of (backend_url, api_key)
ConfigError: If required credentials cannot be resolved
validate
- List of validation error messages (empty if valid)
ConfigValidator
Base class for configuration validators.
Validators provide a way to validate and normalize configuration
before it’s used to create jobs. This is useful for:
- Type checking
- Value validation
- Default value injection
- Cross-field validation
validate() method to perform
job-specific validation logic.
Methods:
require_field
config: Configuration dictfield_name: Name of required fieldfield_type: Optional type(s) to validate against
- The field value
ConfigError: If field is missing or wrong type
validate_positive
value: Value to checkfield_name: Name for error message
ConfigError: If value is not positive