cli: support sglang version (#17250)
This commit is contained in:
@@ -2,10 +2,19 @@ import argparse
|
|||||||
|
|
||||||
from sglang.cli.generate import generate
|
from sglang.cli.generate import generate
|
||||||
from sglang.cli.serve import serve
|
from sglang.cli.serve import serve
|
||||||
|
from sglang.cli.utils import get_git_commit_hash
|
||||||
|
from sglang.version import __version__
|
||||||
|
|
||||||
|
|
||||||
|
def version(args, extra_argv):
|
||||||
|
print(f"sglang version: {__version__}")
|
||||||
|
print(f"git revision: {get_git_commit_hash()[:7]}")
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
|
||||||
|
# complex sub commands
|
||||||
subparsers = parser.add_subparsers(dest="subcommand", required=True)
|
subparsers = parser.add_subparsers(dest="subcommand", required=True)
|
||||||
|
|
||||||
serve_parser = subparsers.add_parser(
|
serve_parser = subparsers.add_parser(
|
||||||
@@ -22,5 +31,12 @@ def main():
|
|||||||
)
|
)
|
||||||
generate_parser.set_defaults(func=generate)
|
generate_parser.set_defaults(func=generate)
|
||||||
|
|
||||||
|
# simple commands
|
||||||
|
version_parser = subparsers.add_parser(
|
||||||
|
"version",
|
||||||
|
help="Show the version information.",
|
||||||
|
)
|
||||||
|
version_parser.set_defaults(func=version)
|
||||||
|
|
||||||
args, extra_argv = parser.parse_known_args()
|
args, extra_argv = parser.parse_known_args()
|
||||||
args.func(args, extra_argv)
|
args.func(args, extra_argv)
|
||||||
|
|||||||
@@ -2,7 +2,9 @@ import hashlib
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import subprocess
|
||||||
import tempfile
|
import tempfile
|
||||||
|
from functools import lru_cache
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
import filelock
|
import filelock
|
||||||
@@ -150,3 +152,22 @@ def get_model_path(extra_argv):
|
|||||||
"Please provide the path to the model."
|
"Please provide the path to the model."
|
||||||
)
|
)
|
||||||
return model_path
|
return model_path
|
||||||
|
|
||||||
|
|
||||||
|
@lru_cache(maxsize=1)
|
||||||
|
def get_git_commit_hash() -> str:
|
||||||
|
try:
|
||||||
|
commit_hash = os.environ.get("SGLANG_GIT_COMMIT")
|
||||||
|
if not commit_hash:
|
||||||
|
commit_hash = (
|
||||||
|
subprocess.check_output(
|
||||||
|
["git", "rev-parse", "HEAD"], stderr=subprocess.DEVNULL
|
||||||
|
)
|
||||||
|
.strip()
|
||||||
|
.decode("utf-8")
|
||||||
|
)
|
||||||
|
_CACHED_COMMIT_HASH = commit_hash
|
||||||
|
return commit_hash
|
||||||
|
except (subprocess.CalledProcessError, FileNotFoundError):
|
||||||
|
_CACHED_COMMIT_HASH = "N/A"
|
||||||
|
return "N/A"
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ class ComponentLoader(ABC):
|
|||||||
"""
|
"""
|
||||||
gpu_mem_before_loading = current_platform.get_available_gpu_memory()
|
gpu_mem_before_loading = current_platform.get_available_gpu_memory()
|
||||||
logger.info(
|
logger.info(
|
||||||
"Loading %s. avail mem: %.2f GB",
|
"Loading %s from %s. avail mem: %.2f GB",
|
||||||
module_name,
|
module_name,
|
||||||
component_model_path,
|
component_model_path,
|
||||||
gpu_mem_before_loading,
|
gpu_mem_before_loading,
|
||||||
|
|||||||
@@ -1,6 +1,24 @@
|
|||||||
try:
|
try:
|
||||||
from sglang._version import __version__, __version_tuple__
|
from sglang._version import __version__, __version_tuple__
|
||||||
except ImportError:
|
except ImportError:
|
||||||
# Fallback for development without build
|
try:
|
||||||
__version__ = "0.0.0.dev0"
|
import importlib.metadata
|
||||||
__version_tuple__ = (0, 0, 0, "dev0")
|
|
||||||
|
__version__ = importlib.metadata.version("sglang")
|
||||||
|
__version_tuple__ = tuple(__version__.split("."))
|
||||||
|
except Exception:
|
||||||
|
try:
|
||||||
|
import pathlib
|
||||||
|
|
||||||
|
from setuptools_scm import get_version
|
||||||
|
|
||||||
|
# point to the directory containing pyproject.toml.
|
||||||
|
project_root = pathlib.Path(__file__).parent.parent.parent
|
||||||
|
__version__ = get_version(
|
||||||
|
root=str(project_root), fallback_version="0.0.0.dev0"
|
||||||
|
)
|
||||||
|
__version_tuple__ = tuple(__version__.split("."))
|
||||||
|
except Exception:
|
||||||
|
# Fallback for development without build
|
||||||
|
__version__ = "0.0.0.dev0"
|
||||||
|
__version_tuple__ = (0, 0, 0, "dev0")
|
||||||
|
|||||||
Reference in New Issue
Block a user