Load recommended model metadata from JSON
This commit is contained in:
@@ -2,7 +2,9 @@
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from dataclasses import dataclass
|
||||
from importlib.resources import files
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
@@ -43,6 +45,25 @@ class ModelPreset:
|
||||
return None
|
||||
|
||||
|
||||
def _load_model_metadata() -> dict[str, dict]:
|
||||
try:
|
||||
raw = files("meshnet_node").joinpath("model_metadata.json").read_text()
|
||||
data = json.loads(raw)
|
||||
except Exception:
|
||||
return {}
|
||||
models = data.get("models", {})
|
||||
if not isinstance(models, dict):
|
||||
return {}
|
||||
return {
|
||||
str(repo): metadata
|
||||
for repo, metadata in models.items()
|
||||
if isinstance(metadata, dict)
|
||||
}
|
||||
|
||||
|
||||
_MODEL_METADATA = _load_model_metadata()
|
||||
|
||||
|
||||
CURATED_MODELS: list[ModelPreset] = [
|
||||
ModelPreset(
|
||||
name="Qwen2.5-0.5B-Instruct",
|
||||
@@ -132,29 +153,8 @@ CURATED_MODELS: list[ModelPreset] = [
|
||||
vram_nf4=500.0,
|
||||
vram_int8=1000.0,
|
||||
vram_bf16=2000.0,
|
||||
description="Moonshot/Unsloth coding-focused MoE model; 1T total, 32B activated",
|
||||
metadata={
|
||||
"architecture": "Mixture-of-Experts (MoE)",
|
||||
"total_parameters": "1T",
|
||||
"activated_parameters": "32B",
|
||||
"num_layers": 61,
|
||||
"dense_layers": 1,
|
||||
"attention_hidden_dimension": 7168,
|
||||
"moe_hidden_dimension_per_expert": 2048,
|
||||
"attention_heads": 64,
|
||||
"experts": 384,
|
||||
"selected_experts_per_token": 8,
|
||||
"shared_experts": 1,
|
||||
"vocabulary_size": 160000,
|
||||
"context_length": 256000,
|
||||
"attention_mechanism": "MLA",
|
||||
"activation_function": "SwiGLU",
|
||||
"vision_encoder": "MoonViT",
|
||||
"vision_encoder_parameters": "400M",
|
||||
"license": "modified-mit",
|
||||
"native_quantization": "int4",
|
||||
"recommended_engines": ["vLLM", "SGLang", "KTransformers"],
|
||||
},
|
||||
description="Large coding-focused MoE model",
|
||||
metadata=_MODEL_METADATA.get("unsloth/Kimi-K2.7-Code"),
|
||||
),
|
||||
]
|
||||
|
||||
|
||||
32
packages/node/meshnet_node/model_metadata.json
Normal file
32
packages/node/meshnet_node/model_metadata.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"models": {
|
||||
"unsloth/Kimi-K2.7-Code": {
|
||||
"architecture": "Mixture-of-Experts (MoE)",
|
||||
"total_parameters": "1T",
|
||||
"activated_parameters": "32B",
|
||||
"num_layers": 61,
|
||||
"dense_layers": 1,
|
||||
"attention_hidden_dimension": 7168,
|
||||
"moe_hidden_dimension_per_expert": 2048,
|
||||
"attention_heads": 64,
|
||||
"experts": 384,
|
||||
"selected_experts_per_token": 8,
|
||||
"shared_experts": 1,
|
||||
"vocabulary_size": 160000,
|
||||
"context_length": 256000,
|
||||
"attention_mechanism": "MLA",
|
||||
"activation_function": "SwiGLU",
|
||||
"vision_encoder": "MoonViT",
|
||||
"vision_encoder_parameters": "400M",
|
||||
"license": "modified-mit",
|
||||
"native_quantization": "int4",
|
||||
"download_size_gb": 595,
|
||||
"recommended_short_name": "kimi-k2.7",
|
||||
"recommended_engines": [
|
||||
"vLLM",
|
||||
"SGLang",
|
||||
"KTransformers"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -27,3 +27,6 @@ meshnet-node = "meshnet_node.cli:main"
|
||||
[tool.setuptools.packages.find]
|
||||
where = ["."]
|
||||
include = ["meshnet_node*"]
|
||||
|
||||
[tool.setuptools.package-data]
|
||||
meshnet_node = ["*.json"]
|
||||
|
||||
Reference in New Issue
Block a user