Files
llm-registry/tools/generate-registry.py
2025-09-27 18:26:34 +01:00

35 lines
1.1 KiB
Python

#!/usr/bin/env python3
import os
import sys
import yaml
import json
def collect_models(models_root):
registry = []
for root, dirs, files in os.walk(models_root):
if "model.yaml" in files:
model_path = os.path.join(root, "model.yaml")
try:
with open(model_path, 'r', encoding='utf-8') as f:
model_data = yaml.safe_load(f)
registry.append(model_data)
except Exception as e:
print(f"❌ Failed to parse {model_path}: {e}", file=sys.stderr)
return registry
if __name__ == "__main__":
repo_root = os.path.abspath(os.path.join(os.path.dirname(__file__), ".."))
models_root = os.path.join(repo_root, "models")
output_path = os.path.join(repo_root, "registry.json")
if not os.path.isdir(models_root):
print(f"❌ Models directory not found: {models_root}")
sys.exit(1)
registry = collect_models(models_root)
with open(output_path, 'w', encoding='utf-8') as f:
json.dump(registry, f, indent=2, ensure_ascii=False)
print(f"✅ Registry written to {output_path} with {len(registry)} models.")