This document explains how to configure models in EnIGMA+ using the new YAML-based configuration system.
EnIGMA+ now uses a centralized YAML configuration file (models_config.yaml) to define all supported models and their properties. This makes it easy to add new models without modifying the Python code.
The configuration file is organized by provider:
openai_models- OpenAI and OpenAI-compatible modelsanthropic_models- Anthropic Claude modelsgroq_models- Groq-hosted modelstogether_models- Together AI modelsdeepseek_models- DeepSeek-specific modelsbedrock_models- Amazon Bedrock modelsspecial_models- Human, replay, and test models
Each provider section also has an optional _shortcuts section for friendly aliases.
Each model can have the following properties:
max_context- Maximum context window size in tokens
cost_per_input_token- Cost per input token in USDcost_per_output_token- Cost per output token in USDmax_tokens- Maximum tokens to generate (for models that need this)
openai_models:
my-new-model:
max_context: 32768
cost_per_input_token: 1e-06
cost_per_output_token: 2e-06openai_shortcuts:
my-model: my-new-modelopenai_models:
"/path/to/my/local/model":
max_context: 32768
# cost defaults to 0.0- All GPT models (GPT-3.5, GPT-4, GPT-4o, O1)
- Local and fine-tuned models
- Custom model paths
- DeepSeek reasoner models
- Claude Instant, Claude 2.x, Claude 3.x series
- Claude 3.5 Sonnet
- Llama models (3, 3.1 series)
- Gemma models
- Mixtral models
- Llama 2 series
- Mistral models
- RedPajama models
- DeepSeek Coder
- Other DeepSeek-specific models
- AWS Bedrock-hosted models
- Cross-region Anthropic models
EnIGMA+ focuses on turn-based evaluation rather than cost-based limits. This means:
- Pricing is optional - Models default to 0.0 cost
- Step limits are used -
per_instance_step_limitparameter controls turns - Fair comparison - All models get the same number of interaction turns
openai_models:
gpt-4-custom:
max_context: 128000
cost_per_input_token: 1e-05
cost_per_output_token: 3e-05
openai_shortcuts:
gpt4-custom: gpt-4-customopenai_models:
"/home/user/my-local-model":
max_context: 32768
# No cost specified - defaults to 0.0
openai_shortcuts:
my-local: "/home/user/my-local-model"groq_models:
new-groq-model:
max_context: 8192
# Free model - no cost specified
groq_shortcuts:
new-groq: new-groq-modelOnce configured, use models with their name or shortcut:
# Using full model name
python run.py --model_name gpt-4-1106-preview
# Using shortcut
python run.py --model_name gpt4
# Using custom model
python run.py --model_name my-local
# Turn-based evaluation (EnIGMA+ default)
python run.py --model_name gpt4 --per_instance_step_limit 40- No code changes needed - Add models without touching Python files
- Centralized configuration - All model info in one place
- Pricing optional - Perfect for turn-based evaluation
- Easy maintenance - Update model pricing/context without code changes
- Flexible shortcuts - Create friendly aliases for complex model names
- Provider organization - Models grouped by API provider for clarity
If you have custom models from the old system:
- Add them to the appropriate section in
models_config.yaml - Set
cost_per_input_token: 0.0andcost_per_output_token: 0.0for free models - Add shortcuts if desired
- Test with
python run.py --model_name your-model --help