persadian commited on
Commit
6ffc4da
·
verified ·
1 Parent(s): eae2525

Create validator.py

Browse files
Files changed (1) hide show
  1. validator.py +40 -0
validator.py ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import json
2
+
3
+ def validate_dfqs(model_info: dict):
4
+
5
+ score = 0
6
+ report = {}
7
+
8
+ # RULE 1: architecture check
9
+ if "MoE" in model_info.get("architecture", ""):
10
+ score += 25
11
+ report["architecture"] = "PASS"
12
+ else:
13
+ report["architecture"] = "FAIL"
14
+
15
+ # RULE 2: size constraint (DFQS class boundary)
16
+ if model_info.get("size_gb", 0) <= 80:
17
+ score += 25
18
+ report["compression"] = "PASS"
19
+ else:
20
+ report["compression"] = "FAIL"
21
+
22
+ # RULE 3: runtime compatibility
23
+ if model_info.get("runtime") in ["llama.cpp", "gguf"]:
24
+ score += 25
25
+ report["runtime"] = "PASS"
26
+ else:
27
+ report["runtime"] = "FAIL"
28
+
29
+ # RULE 4: CPU feasibility flag
30
+ if model_info.get("cpu_feasible", False):
31
+ score += 25
32
+ report["cpu_feasibility"] = "PASS"
33
+ else:
34
+ report["cpu_feasibility"] = "FAIL"
35
+
36
+ return {
37
+ "dfqs_score": score,
38
+ "report": report,
39
+ "compliant": score == 100
40
+ }