From 9370caacbb1b5791dc04b33a589e1df5befd5a72 Mon Sep 17 00:00:00 2001 From: xiangjinyu Date: Fri, 14 Feb 2025 11:39:00 +0800 Subject: [PATCH] use concurrent code to evaluator --- metagpt/ext/spo/utils/evaluation_utils.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/metagpt/ext/spo/utils/evaluation_utils.py b/metagpt/ext/spo/utils/evaluation_utils.py index 9814a70ba..3fb026a21 100644 --- a/metagpt/ext/spo/utils/evaluation_utils.py +++ b/metagpt/ext/spo/utils/evaluation_utils.py @@ -1,3 +1,4 @@ +import asyncio from pathlib import Path from typing import Any, List, Optional, Tuple @@ -49,9 +50,15 @@ class EvaluationUtils: succeed = True else: evaluation_results = [] - for _ in range(EVALUATION_REPETITION): - result = await evaluator.prompt_evaluate(samples=samples, new_samples=new_samples) - evaluation_results.append(result) + + evaluation_results.extend( + await asyncio.gather( + *( + evaluator.prompt_evaluate(samples=samples, new_samples=new_samples) + for _ in range(EVALUATION_REPETITION) + ) + ) + ) logger.info(f"Evaluation Results {evaluation_results}")