diff --git a/aider/main.py b/aider/main.py index 25b023fc9..9d843644d 100644 --- a/aider/main.py +++ b/aider/main.py @@ -343,7 +343,15 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F model_def_files = list(map(str, model_def_files)) model_def_files = list(dict.fromkeys(model_def_files)) print(f"model_def_files: {model_def_files}") - models.register_models(model_def_files) + try: + model_files_loaded=models.register_models(model_def_files) + if len(model_files_loaded) > 0: + io.tool_output(f"Loaded {len(model_files_loaded)} model files") + for model_file in model_files_loaded: + io.tool_output(f" - {model_file}") + except Exception as e: + io.tool_error(f"Error loading model info/cost: {e}") + return 1 main_model = models.Model(args.model, weak_model=args.weak_model) diff --git a/aider/models.py b/aider/models.py index 1a96bb5b3..852aac7ba 100644 --- a/aider/models.py +++ b/aider/models.py @@ -427,18 +427,21 @@ class Model: return res def register_models(model_def_fnames): + model_files_loaded = [] for model_def_fname in model_def_fnames: if not os.path.exists(model_def_fname): continue - print(f"Registering model definition from {model_def_fname}") + model_files_loaded.append(model_def_fname) try: with open(model_def_fname, "r") as model_def_file: model_def = json.load(model_def_file) except json.JSONDecodeError as e: - print(f"Error opening/decoding model definition: {e}") + raise Exception(f"Error loading model definition from {model_def_fname}: {e}") litellm.register_model(model_def) + return model_files_loaded + def validate_variables(vars): missing = [] for var in vars: