Skip to content

Commit 1422637

Browse files
authored
Make parameters config optional in RawPyTorchMergeConfig. (#630)
In contrast to `merge-yaml` the `merge-pytorch` configuration has non-nullable `parameters` value ([MergeConfiguration L99](https://github.com/arcee-ai/mergekit/blob/main/mergekit/config.py#L99) vs [RawPyTorchMergeConfig L31](https://github.com/arcee-ai/mergekit/blob/main/mergekit/scripts/merge_raw_pytorch.py#L31)). The change adds possibility to provide empty `parameters` value during `merge-pytorch` and passes all the tests.
1 parent 321dc17 commit 1422637

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

mergekit/scripts/merge_raw_pytorch.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ class InputModelDefinition(BaseModel, frozen=True):
2828

2929
class RawPyTorchMergeConfig(BaseModel, frozen=True):
3030
merge_method: str
31-
parameters: Optional[Dict[str, ParameterSetting]]
3231
models: List[InputModelDefinition]
32+
parameters: Optional[Dict[str, ParameterSetting]] = None
3333
dtype: Optional[str] = None
3434
base_model: Optional[str] = None
3535

@@ -171,7 +171,7 @@ def construct_param_dicts(
171171
):
172172
global_params = {}
173173
for param_def in merge_method.parameters():
174-
if param_def.name in config.parameters:
174+
if config.parameters and param_def.name in config.parameters:
175175
value = evaluate_setting(tensor_name, config.parameters[param_def.name])
176176
if value is not None:
177177
global_params[param_def.name] = value
@@ -194,7 +194,8 @@ def construct_param_dicts(
194194
):
195195
tensor_params[mr][param_def.name] = value
196196
elif value := evaluate_setting(
197-
tensor_name, config.parameters.get(param_def.name, [])
197+
tensor_name,
198+
config.parameters.get(param_def.name, []) if config.parameters else [],
198199
):
199200
tensor_params[mr][param_def.name] = value
200201
elif param_def.required:

0 commit comments

Comments
 (0)