|
import os
|
|
import re
|
|
import json
|
|
from huggingface_hub import HfApi
|
|
|
|
|
|
|
|
api = HfApi()
|
|
|
|
|
|
input_folder = "../evalita_llm_models_output/"
|
|
output_folder = "../evalita_llm_requests/"
|
|
|
|
|
|
os.makedirs(output_folder, exist_ok=True)
|
|
|
|
|
|
model_pattern = re.compile(r"pretrained=([\w\-./]+)")
|
|
|
|
|
|
for filename in os.listdir(input_folder):
|
|
file_path = os.path.join(input_folder, filename)
|
|
|
|
|
|
with open(file_path, "r", encoding="utf-8") as f:
|
|
content = f.read()
|
|
|
|
|
|
match = model_pattern.search(content)
|
|
if match:
|
|
model_name = match.group(1)
|
|
print(f"Processing model: {model_name}")
|
|
|
|
try:
|
|
|
|
model_info = api.model_info(model_name)
|
|
|
|
|
|
model_data = {
|
|
"model": model_name,
|
|
"base_model": model_info.config.get("architectures", [""])[0] if model_info.config else "",
|
|
"revision": model_info.sha,
|
|
"precision": "bfloat16",
|
|
|
|
|
|
"submitted_time": str(model_info.created_at),
|
|
"model_type": "pretrained",
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
if "/" in model_name:
|
|
dir_name, file_name = model_name.split("/", 1)
|
|
else:
|
|
dir_name, file_name = model_name, model_name
|
|
|
|
|
|
model_output_folder = os.path.join(output_folder, dir_name)
|
|
os.makedirs(model_output_folder, exist_ok=True)
|
|
|
|
|
|
output_file = os.path.join(model_output_folder, f"{file_name}.json")
|
|
with open(output_file, "w", encoding="utf-8") as f:
|
|
json.dump(model_data, f, indent=4)
|
|
|
|
print(f"Saved metadata for {model_name} in {output_file}")
|
|
|
|
except Exception as e:
|
|
print(f"Error retrieving info for {model_name}: {e}")
|
|
|
|
print("Process completed.") |