Skip to content

Commit 6b10c19

Browse files
【Feature】add fd commit/branch info when start server (#2752)
* add_commit_config * fix --------- Co-authored-by: Jiang-Jia-Jun <163579578+Jiang-Jia-Jun@users.noreply.github.com>
1 parent f4f1d8d commit 6b10c19

File tree

1 file changed

+65
-2
lines changed

1 file changed

+65
-2
lines changed

fastdeploy/engine/config.py

Lines changed: 65 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import json
1818
import os
1919
from datetime import datetime
20+
from dataclasses import dataclass
2021
from typing import Any, Dict, List, Literal, Optional
2122

2223
from fastdeploy import envs
@@ -467,7 +468,63 @@ def print(self):
467468
llm_logger.info("Parallel Configuration Information :")
468469
for k, v in self.__dict__.items():
469470
llm_logger.info("{:<20}:{:<6}{}".format(k, "", v))
470-
llm_logger.info("==================")
471+
llm_logger.info(
472+
"=============================================================")
473+
474+
475+
@dataclass
476+
class CommitConfig:
477+
"""
478+
Configuration for tracking version information from version.txt
479+
480+
Attributes:
481+
fastdeploy_commit: Full FastDeploy git commit hash
482+
paddle_version: PaddlePaddle version string
483+
paddle_commit: PaddlePaddle git commit hash
484+
cuda_version: CUDA version string
485+
compiler_version: CXX compiler version string
486+
"""
487+
fastdeploy_commit: str = ""
488+
paddle_version: str = ""
489+
paddle_commit: str = ""
490+
cuda_version: str = ""
491+
compiler_version: str = ""
492+
493+
def __post_init__(self):
494+
"""Automatically load version info when initialized"""
495+
self._load_from_version_file()
496+
497+
def _load_from_version_file(self, file_path: str = "fastdeploy/version.txt"):
498+
"""Internal method to load version info from file"""
499+
try:
500+
with open(file_path, 'r') as f:
501+
for line in f:
502+
line = line.strip()
503+
if line.startswith("fastdeploy GIT COMMIT ID:"):
504+
self.fastdeploy_commit = line.split(":")[1].strip()
505+
elif line.startswith("Paddle version:"):
506+
self.paddle_version = line.split(":")[1].strip()
507+
elif line.startswith("Paddle GIT COMMIT ID:"):
508+
self.paddle_commit = line.split(":")[1].strip()
509+
elif line.startswith("CUDA version:"):
510+
self.cuda_version = line.split(":")[1].strip()
511+
elif line.startswith("CXX compiler version:"):
512+
self.compiler_version = line.split(":")[1].strip()
513+
except FileNotFoundError:
514+
llm_logger.info(f"Warning: Version file not found at {file_path}")
515+
except Exception as e:
516+
llm_logger.info(f"Warning: Could not read version file - {str(e)}")
517+
518+
def print(self):
519+
"""
520+
print all config
521+
522+
"""
523+
llm_logger.info("Fasedeploy Commit Information :")
524+
for k, v in self.__dict__.items():
525+
llm_logger.info("{:<20}:{:<6}{}".format(k, "", v))
526+
llm_logger.info(
527+
"=============================================================")
471528

472529

473530
class Config:
@@ -502,6 +559,7 @@ def __init__(
502559
cache_config: CacheConfig,
503560
scheduler_config: SchedulerConfig,
504561
parallel_config: ParallelConfig,
562+
commit_config: CommitConfig = CommitConfig(),
505563
model_name_or_path: str = None,
506564
tokenizer: str = None,
507565
tensor_parallel_size: int = 8,
@@ -559,6 +617,7 @@ def __init__(
559617
self.cache_config = cache_config
560618
self.scheduler_config = scheduler_config
561619
self.parallel_config = parallel_config
620+
self.commit_config = commit_config
562621
self.model_name_or_path = model_name_or_path
563622
self.tokenizer = tokenizer
564623
self.max_num_batched_tokens = max_num_batched_tokens
@@ -756,7 +815,11 @@ def print(self, file=None):
756815
if k == "generation_config" and v is not None:
757816
for gck, gcv in v.to_dict().items():
758817
llm_logger.info("{:<20}:{:<6}{}".format(gck, "", gcv))
759-
elif k == "cache_config" or k == "model_config" or k == "scheduler_config" or k == "parallel_config":
818+
elif (k == "cache_config" or
819+
k == "model_config" or
820+
k == "scheduler_config" or
821+
k == "parallel_config" or
822+
k == "commit_config"):
760823
v.print()
761824
else:
762825
llm_logger.info("{:<20}:{:<6}{}".format(k, "", v))

0 commit comments

Comments
 (0)