Files
mlc-ai--mlc-llm/tests/python/support/test_cli_convert_weight.py
T
wehub-resource-sync 770d92cb1f
Lint / lint (push) Has been cancelled
Build Docs / Deploy Docs (push) Has been cancelled
Windows CI / Windows (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:23:58 +08:00

70 lines
2.4 KiB
Python

import json
import tempfile
from pathlib import Path
import pytest
from mlc_llm.cli import convert_weight as convert_weight_cli
pytestmark = [pytest.mark.unittest]
def test_convert_weight_cli_passes_lora_adapter(monkeypatch):
with tempfile.TemporaryDirectory() as tmp_dir:
temp_path = Path(tmp_dir)
config_path = temp_path / "config.json"
source_dir = temp_path / "source"
source_dir.mkdir(parents=True, exist_ok=True)
source_index = source_dir / "pytorch_model.bin.index.json"
adapter_dir = temp_path / "adapter"
adapter_dir.mkdir(parents=True, exist_ok=True)
output_dir = temp_path / "output"
config_path.write_text(json.dumps({}), encoding="utf-8")
source_index.write_text(json.dumps({"weight_map": {}}), encoding="utf-8")
def _fake_detect_device(device):
return device
def _fake_detect_weight(_weight_path, _config_json_path, _weight_format):
return source_index, "huggingface-torch"
def _fake_detect_model_type(_model_type, _config):
return "dummy"
monkeypatch.setattr(convert_weight_cli, "detect_config", Path)
monkeypatch.setattr(convert_weight_cli, "detect_device", _fake_detect_device)
monkeypatch.setattr(convert_weight_cli, "detect_weight", _fake_detect_weight)
monkeypatch.setattr(convert_weight_cli, "detect_model_type", _fake_detect_model_type)
monkeypatch.setattr(convert_weight_cli, "MODELS", {"dummy": object()})
monkeypatch.setattr(convert_weight_cli, "QUANTIZATION", {"q0f16": object()})
call_args = {}
def _fake_convert_weight(**kwargs):
call_args.update(kwargs)
monkeypatch.setattr(convert_weight_cli, "convert_weight", _fake_convert_weight)
convert_weight_cli.main(
[
str(config_path),
"--quantization",
"q0f16",
"--model-type",
"dummy",
"--source",
str(source_dir),
"--source-format",
"auto",
"--output",
str(output_dir),
"--lora-adapter",
str(adapter_dir),
]
)
assert call_args["lora_adapter"] == adapter_dir
assert call_args["source"] == source_index
assert call_args["source_format"] == "huggingface-torch"