diff --git a/pyproject.toml b/pyproject.toml index 37d0f09..3a99e91 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,8 +36,8 @@ filelvl = "pyflowx.cli.filelevel:main" foldback = "pyflowx.cli.folderback:main" foldzip = "pyflowx.cli.folderzip:main" gitt = "pyflowx.cli.gittool:main" -hfdown = "pyflowx.cli.hfdownload:main" lscalc = "pyflowx.cli.lscalc:main" +msdown = "pyflowx.cli.llm.msdownload:main" packtool = "pyflowx.cli.packtool:main" pdftool = "pyflowx.cli.pdftool:main" piptool = "pyflowx.cli.piptool:main" diff --git a/src/pyflowx/cli/llm/__init__.py b/src/pyflowx/cli/llm/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/pyflowx/cli/hfdownload.py b/src/pyflowx/cli/llm/msdownload.py similarity index 59% rename from src/pyflowx/cli/hfdownload.py rename to src/pyflowx/cli/llm/msdownload.py index 6ca3ed4..82e55b4 100644 --- a/src/pyflowx/cli/hfdownload.py +++ b/src/pyflowx/cli/llm/msdownload.py @@ -1,36 +1,28 @@ +"""Download from ModelScopeHub.""" + import argparse from pathlib import Path from typing import Literal, get_args import pyflowx as px -from pyflowx.tasks.system import setenv -HFDownloadType = Literal["model", "dataset", "space"] +DownloadType = Literal["model", "dataset", "space"] def main(): - parser = argparse.ArgumentParser(description="Download a model from HuggingFace.") + parser = argparse.ArgumentParser(description="Download a model from ModelScopeHub.") parser.add_argument("name", help="Target name.") - parser.add_argument( - "--type", "-t", nargs="?", default="model", choices=get_args(HFDownloadType), help="Target type." - ) + parser.add_argument("--type", "-t", nargs="?", default="model", choices=get_args(DownloadType), help="Target type.") parser.add_argument("--dir", default=None, help="Download directory.") args = parser.parse_args() if not args.name: parser.error("name is required") - target_name = args.name - - # 创建下载目录 - if args.dir: - download_dir = Path(args.dir) - else: - download_dir = Path.home() / ".models" / target_name.split("/")[-1] + download_dir: Path = Path(args.dir) if args.dir else Path.home() / ".models" / args.name.split("/")[-1] download_dir.mkdir(parents=True, exist_ok=True) graph = px.Graph.from_specs([ - setenv("HF_ENDPOINT", "https://hf-mirror.com"), px.TaskSpec( name="download", cmd=[ @@ -38,11 +30,10 @@ def main(): "modelscope", "download", f"--{args.type}", - target_name, + args.name, "--local_dir", str(download_dir), ], - depends_on=("setenv_hf_endpoint",), verbose=True, ), ])