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.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():
|
||||
parser = argparse.ArgumentParser()
|
||||
|
||||
# complex sub commands
|
||||
subparsers = parser.add_subparsers(dest="subcommand", required=True)
|
||||
|
||||
serve_parser = subparsers.add_parser(
|
||||
@@ -22,5 +31,12 @@ def main():
|
||||
)
|
||||
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.func(args, extra_argv)
|
||||
|
||||
@@ -2,7 +2,9 @@ import hashlib
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import subprocess
|
||||
import tempfile
|
||||
from functools import lru_cache
|
||||
from typing import Optional
|
||||
|
||||
import filelock
|
||||
@@ -150,3 +152,22 @@ def get_model_path(extra_argv):
|
||||
"Please provide the path to the model."
|
||||
)
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user