jenbenarye commited on
Commit
801c17a
·
1 Parent(s): a1375c8

script to create, load and save adapters metadata

Browse files
Files changed (1) hide show
  1. ml/adapter_metadata.py +41 -0
ml/adapter_metadata.py ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from dataclasses import dataclass
2
+ from datetime import datetime
3
+ from typing import List, Dict
4
+ import json
5
+
6
+ @dataclass
7
+ class AdapterMetadata:
8
+ """Metadata for tracking adapter training history"""
9
+ training_timestamp: str # ISO format timestamp
10
+ training_params: Dict # Training parameters used
11
+ model_name: str # Base model name
12
+ language: str # Language of the adapter
13
+ version: str # Version of the adapter
14
+
15
+ # Create class instance from a dictionary
16
+ @classmethod
17
+ def from_dict(cls, data: Dict):
18
+ return cls(**data)
19
+
20
+ # Convert class instance to a dictionary
21
+ def to_dict(self) -> Dict:
22
+ return {
23
+ "training_timestamp": self.training_timestamp,
24
+ "dataset_entries": self.dataset_entries,
25
+ "training_params": self.training_params,
26
+ "model_name": self.model_name,
27
+ "language": self.language,
28
+ "version": self.version
29
+ }
30
+
31
+ # Save metadata to a JSON file
32
+ def save(self, filepath: str):
33
+ with open(filepath, 'w') as f:
34
+ json.dump(self.to_dict(), f, indent=2)
35
+
36
+ # Load metadata from a JSON file
37
+ @classmethod
38
+ def load(cls, filepath: str):
39
+ with open(filepath, 'r') as f:
40
+ data = json.load(f)
41
+ return cls.from_dict(data)