open-human-feedback-chat / ml /adapter_metadata.py
jenbenarye
script to create, load and save adapters metadata
801c17a
from dataclasses import dataclass
from datetime import datetime
from typing import List, Dict
import json
@dataclass
class AdapterMetadata:
"""Metadata for tracking adapter training history"""
training_timestamp: str # ISO format timestamp
training_params: Dict # Training parameters used
model_name: str # Base model name
language: str # Language of the adapter
version: str # Version of the adapter
# Create class instance from a dictionary
@classmethod
def from_dict(cls, data: Dict):
return cls(**data)
# Convert class instance to a dictionary
def to_dict(self) -> Dict:
return {
"training_timestamp": self.training_timestamp,
"dataset_entries": self.dataset_entries,
"training_params": self.training_params,
"model_name": self.model_name,
"language": self.language,
"version": self.version
}
# Save metadata to a JSON file
def save(self, filepath: str):
with open(filepath, 'w') as f:
json.dump(self.to_dict(), f, indent=2)
# Load metadata from a JSON file
@classmethod
def load(cls, filepath: str):
with open(filepath, 'r') as f:
data = json.load(f)
return cls.from_dict(data)