From 9f18a842836022b58c8e8c4a3b401c1ede92974d Mon Sep 17 00:00:00 2001 From: ymq1 Date: Wed, 2 Jul 2025 15:13:59 +0800 Subject: [PATCH] bugfix --- llmengine/base_triple.py | 19 ++++++------- llmengine/triple.py | 43 +++++++++++++----------------- test/connection/connection.service | 14 ++++++++++ test/entities/entities.service | 14 ++++++++++ test/triples/triples.service | 14 ++++++++++ 5 files changed, 68 insertions(+), 36 deletions(-) create mode 100644 test/connection/connection.service create mode 100644 test/entities/entities.service create mode 100644 test/triples/triples.service diff --git a/llmengine/base_triple.py b/llmengine/base_triple.py index d7e39af..27adfaa 100644 --- a/llmengine/base_triple.py +++ b/llmengine/base_triple.py @@ -1,18 +1,15 @@ import torch from abc import ABC, abstractmethod -import logging +from appPublic.log import debug import os -logger = logging.getLogger(__name__) - model_pathMap = {} - def llm_register(model_key: str, Klass): """Register a triplet extractor class for a given model key.""" global model_pathMap model_pathMap[model_key] = Klass - logger.debug(f"Registered {Klass.__name__} for model_key: {model_key}") + debug(f"Registered {Klass.__name__} for model_key: {model_key}") def get_llm_class(model_path: str): @@ -20,7 +17,7 @@ def get_llm_class(model_path: str): for k, klass in model_pathMap.items(): if k in model_path: return klass - logger.debug(f"No class found for model_path: {model_path}, model_pathMap: {model_pathMap}") + debug(f"No class found for model_path: {model_path}, model_pathMap: {model_pathMap}") return None @@ -31,19 +28,19 @@ class BaseTripleExtractor(ABC): self.model_path = model_path self.model_name = os.path.basename(model_path) self.model = None - logger.debug(f"Initialized BaseTripleExtractor with model_path: {model_path}") + debug(f"Initialized BaseTripleExtractor with model_path: {model_path}") def use_mps_if_possible(self): """Select device (MPS, CUDA, or CPU).""" if torch.backends.mps.is_available(): device = torch.device("mps") - logger.debug("Using MPS device") + debug("Using MPS device") elif torch.cuda.is_available(): device = torch.device("cuda") - logger.debug("Using CUDA device") + debug("Using CUDA device") else: device = torch.device("cpu") - logger.debug("Using CPU device") + debug("Using CPU device") if self.model is not None: self.model = self.model.to(device) return device @@ -51,4 +48,4 @@ class BaseTripleExtractor(ABC): @abstractmethod async def extract_triplets(self, text: str) -> list: """Extract triplets from text.""" - pass \ No newline at end of file + pass diff --git a/llmengine/triple.py b/llmengine/triple.py index a40e9eb..2ecaa73 100644 --- a/llmengine/triple.py +++ b/llmengine/triple.py @@ -7,30 +7,25 @@ from typing import List from base_triple import get_llm_class from mrebeltriple import MRebelTripleExtractor from appPublic.registerfunction import RegisterFunction -from appPublic.log import debug, exception +from appPublic.log import debug, exception, error, info +from appPublic.jsonConfig import getConfig from ahserver.serverenv import ServerEnv from ahserver.globalEnv import stream_response from ahserver.webapp import webserver import aiohttp.web # 配置日志 -logger = logging.getLogger('llmengine_triple') -logger.setLevel(logging.DEBUG) -log_file = '/share/wangmeihua/rag/logs/llmengine_triple.log' -os.makedirs(os.path.dirname(log_file), exist_ok=True) -formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') -for handler in (logging.FileHandler(log_file, encoding='utf-8'), logging.StreamHandler()): - handler.setFormatter(formatter) - logger.addHandler(handler) - # 加载配置文件 -CONFIG_PATH = os.getenv('CONFIG_PATH', '/share/wangmeihua/rag/conf/milvusconfig.yaml') -try: - with open(CONFIG_PATH, 'r', encoding='utf-8') as f: - config = yaml.safe_load(f) -except Exception as e: - logger.error(f"Failed to load config {CONFIG_PATH}: {str(e)}") - raise RuntimeError(f"Failed to load config: {str(e)}") + +def load_milvus_config(): + config = getConfig() + milvus_config = config.mivus_config_path + try: + with open(CONFIG_PATH, 'r', encoding='utf-8') as f: + milvus_config = yaml.safe_load(f) + except Exception as e: + error(f"Failed to load config {CONFIG_PATH}: {str(e)}") + raise RuntimeError(f"Failed to load config: {str(e)}") helptext = """mREBEL Triplets API: @@ -79,7 +74,7 @@ async def triples(request, params_kw, *params, **kw): params_kw = data debug(f'Parsed JSON data: {params_kw}') except Exception as e: - logger.error(f"Failed to parse JSON: {str(e)}") + error(f"Failed to parse JSON: {str(e)}") raise aiohttp.web.HTTPBadRequest(reason=f"Invalid JSON: {str(e)}") se = ServerEnv() @@ -100,8 +95,8 @@ async def triples(request, params_kw, *params, **kw): "data": triplets } except Exception as e: - logger.error(f"Error in triples endpoint: {str(e)}") - logger.debug(f"Traceback: {format_exc()}") + error(f"Error in triples endpoint: {str(e)}") + debug(f"Traceback: {format_exc()}") raise def main(): @@ -122,13 +117,11 @@ def main(): se.engine = Klass(args.model_path) workdir = args.workdir or os.getcwd() port = args.port - debug(f'{args=}') - logger.info(f"Starting mREBEL Triplet Service on port {port}, model: {args.model_path}") webserver(init, workdir, port) except Exception as e: - logger.error(f"Failed to start server: {str(e)}") - logger.debug(f"Traceback: {format_exc()}") + error(f"Failed to start server: {str(e)}") + debug(f"Traceback: {format_exc()}") raise if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/test/connection/connection.service b/test/connection/connection.service new file mode 100644 index 0000000..75164bf --- /dev/null +++ b/test/connection/connection.service @@ -0,0 +1,14 @@ +[Unit] +Wants=systemd-networkd.service + +[Service] +Type=forking +WorkingDirectory=/share/run/connection +ExecStart=/share/run/connection/start.sh +ExecStop=/share/run/connection/stop.sh +StandardOutput=append:/var/log/connection/connection.log +StandardError=append:/var/log/connection/connection.log +SyslogIdentifier=/share/run/connection + +[Install] +WantedBy=multi-user.target diff --git a/test/entities/entities.service b/test/entities/entities.service new file mode 100644 index 0000000..bf9fbb6 --- /dev/null +++ b/test/entities/entities.service @@ -0,0 +1,14 @@ +[Unit] +Wants=systemd-networkd.service + +[Service] +WorkingDirectory=/share/run/entities +ExecStart=/share/run/entities/start.sh +ExecStop=/share/run/entities/stop.sh +StandardOutput=append:/var/log/entities/entities.log +StandardError=append:/var/log/entities/entities.log +SyslogIdentifier=entities + +[Install] +WantedBy=multi-user.target + diff --git a/test/triples/triples.service b/test/triples/triples.service new file mode 100644 index 0000000..063d54f --- /dev/null +++ b/test/triples/triples.service @@ -0,0 +1,14 @@ +[Unit] +Wants=systemd-networkd.service + +[Service] +Type=forking +WorkingDirectory=/share/run/triples +ExecStart=/share/run/triples/start.sh +ExecStop=/share/run/triples/stop.sh +StandardOutput=append:/var/log/triples/triples.log +StandardError=append:/var/log/triples/triples.log +SyslogIdentifier=/share/run/triples + +[Install] +WantedBy=multi-user.target