From 499302857f922935b2552e2dbc6046f60f35fd30 Mon Sep 17 00:00:00 2001 From: Junnan Liu Date: Thu, 19 Dec 2024 16:07:34 +0800 Subject: [PATCH] [Fix] Fix Local Runner Params Save Path (#1768) * update local runner params save dir * fix remove * fix directory remove * Fix *_params.py by uuid4 --- opencompass/models/openai_api.py | 11 +++++------ opencompass/runners/local.py | 12 ++++++++++-- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/opencompass/models/openai_api.py b/opencompass/models/openai_api.py index 0827497f..51faf7be 100644 --- a/opencompass/models/openai_api.py +++ b/opencompass/models/openai_api.py @@ -147,7 +147,7 @@ class OpenAI(BaseAPIModel): self.path = path self.max_completion_tokens = max_completion_tokens self.logger.warning( - f'Max Completion tokens for {path} is :{max_completion_tokens}') + f'Max Completion tokens for {path} is {max_completion_tokens}') def generate(self, inputs: List[PromptType], @@ -278,7 +278,7 @@ class OpenAI(BaseAPIModel): self.logger.warning( f"'max_token' is unsupported for model {self.path}") self.logger.warning( - f'We use max_completion_tokens:' + f'We use max_completion_tokens: ' f'{self.max_completion_tokens}for this query') data = dict( model=self.path, @@ -588,13 +588,12 @@ class OpenAISDK(OpenAI): self.logger.warning( f"'max_token' is unsupported for model {self.path}") self.logger.warning( - f'We use max_completion_tokens:' + f'We use max_completion_tokens: ' f'{self.max_completion_tokens}for this query') query_data = dict( model=self.path, max_completion_tokens=self.max_completion_tokens, n=1, - temperature=self.temperature, messages=messages, extra_body=self.extra_body, ) @@ -636,8 +635,8 @@ class OpenAISDK(OpenAI): if (status_code is not None and status_code in self.status_code_mappings): error_message = self.status_code_mappings[status_code] - self.logger.info(f'Status Code: {status_code},\n' - f'Original Error Message: {e},\n' + self.logger.info(f'Status Code: {status_code}, \n' + f'Original Error Message: {e}, \n' f'Return Message: {error_message} ') return error_message else: diff --git a/opencompass/runners/local.py b/opencompass/runners/local.py index 4ce37f2a..1b14ad17 100644 --- a/opencompass/runners/local.py +++ b/opencompass/runners/local.py @@ -207,9 +207,14 @@ class LocalRunner(BaseRunner): task_name = task.name + pwd = os.getcwd() # Dump task config to file mmengine.mkdir_or_exist('tmp/') - param_file = f'tmp/{os.getpid()}_{index}_params.py' + # Using uuid to avoid filename conflict + import uuid + uuid_str = str(uuid.uuid4()) + param_file = f'{pwd}/tmp/{uuid_str}_params.py' + try: task.cfg.dump(param_file) tmpl = get_command_template(gpu_ids) @@ -236,5 +241,8 @@ class LocalRunner(BaseRunner): logger.error(f'task {task_name} fail, see\n{out_path}') finally: # Clean up - os.remove(param_file) + if not self.keep_tmp_file: + os.remove(param_file) + else: + pass return task_name, result.returncode