File size: 642 Bytes
80300e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import json
from pathlib import Path
import torch
from .model import EXLLM, EXLLMConfig
from .tokenizer import HybridTokenizer

def load_release_model(root=None, weights=None):
    root=Path(root or Path(__file__).resolve().parents[1])
    cfg=EXLLMConfig(**json.loads((root/'config.json').read_text(encoding='utf-8')))
    tok=HybridTokenizer.load(root/'tokenizer.json')
    model=EXLLM(cfg)
    path=Path(weights) if weights else root/'weights'/'EXLLM-v1.1-5m-release3.pt'
    checkpoint=torch.load(path,map_location='cpu',weights_only=False)
    model.load_state_dict(checkpoint['model'],strict=True)
    model.eval()
    return model,tok