mirror of
https://github.com/deepseek-ai/DeepInfer.git
synced 2026-10-28 14:57:09 +08:00
50 lines
2.0 KiB
Python
50 lines
2.0 KiB
Python
"""Public HF integration API, imported lazily from its implementations.
|
|
|
|
Callers outside this package import from here; package internals import directly
|
|
from their sibling modules.
|
|
"""
|
|
|
|
from importlib import import_module
|
|
from typing import TYPE_CHECKING, Any
|
|
|
|
if TYPE_CHECKING:
|
|
from deepinfer.hugging_face.config import load_hf_model_config as load_hf_model_config
|
|
from deepinfer.hugging_face.loading import cover_tied_parameters as cover_tied_parameters
|
|
from deepinfer.hugging_face.loading import prepare_hf_coverage as prepare_hf_coverage
|
|
from deepinfer.hugging_face.loading import validate_hf_shapes as validate_hf_shapes
|
|
from deepinfer.hugging_face.parameters import model_params as model_params
|
|
from deepinfer.hugging_face.processor import build_mm_processor as build_mm_processor
|
|
from deepinfer.hugging_face.processor import load_processor_config as load_processor_config
|
|
from deepinfer.hugging_face.tokenizer import get_hf_tokenizer as get_hf_tokenizer
|
|
from deepinfer.hugging_face.weights import HFCoverage as HFCoverage
|
|
from deepinfer.hugging_face.weights import load_covered_params as load_covered_params
|
|
from deepinfer.hugging_face.weights import log_load_phase as log_load_phase
|
|
|
|
_EXPORTS = {
|
|
"HFCoverage": "weights",
|
|
"build_mm_processor": "processor",
|
|
"cover_tied_parameters": "loading",
|
|
"get_hf_tokenizer": "tokenizer",
|
|
"load_covered_params": "weights",
|
|
"load_hf_model_config": "config",
|
|
"load_processor_config": "processor",
|
|
"log_load_phase": "weights",
|
|
"model_params": "parameters",
|
|
"prepare_hf_coverage": "loading",
|
|
"validate_hf_shapes": "loading",
|
|
}
|
|
|
|
__all__ = list(_EXPORTS)
|
|
|
|
|
|
def __getattr__(name: str) -> Any:
|
|
if name not in _EXPORTS:
|
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
value = getattr(import_module(f"{__name__}.{_EXPORTS[name]}"), name)
|
|
globals()[name] = value
|
|
return value
|
|
|
|
|
|
def __dir__() -> list[str]:
|
|
return sorted(set(globals()) | set(__all__))
|