feat: add function to print model settings as YAML

This commit is contained in:
Paul Gauthier (aider) 2024-09-22 16:54:51 -07:00
parent 129afd0396
commit ea72ad61fe

View file

@ -932,20 +932,32 @@ def print_matching_models(io, search):
def main():
if len(sys.argv) != 2:
print("Usage: python models.py <model_name>")
if len(sys.argv) < 2:
print("Usage: python models.py <model_name> or python models.py --yaml")
sys.exit(1)
model_name = sys.argv[1]
matching_models = fuzzy_match_models(model_name)
if matching_models:
print(f"Matching models for '{model_name}':")
for model in matching_models:
print(model)
if sys.argv[1] == "--yaml":
print_model_settings_as_yaml()
else:
print(f"No matching models found for '{model_name}'.")
model_name = sys.argv[1]
matching_models = fuzzy_match_models(model_name)
if matching_models:
print(f"Matching models for '{model_name}':")
for model in matching_models:
print(model)
else:
print(f"No matching models found for '{model_name}'.")
def print_model_settings_as_yaml():
import yaml
model_settings_list = []
for ms in MODEL_SETTINGS:
model_settings_dict = {field.name: getattr(ms, field.name) for field in fields(ModelSettings)}
model_settings_list.append(model_settings_dict)
print(yaml.dump(model_settings_list, default_flow_style=False))
if __name__ == "__main__":
main()