diff --git a/README.md b/README.md index 4b846795c..49568710b 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,8 @@ # MetaGPT: The Multi-Agent Framework

## News +🚀 Jan. 22, 2025: Our paper [AFlow: Automating Agentic Workflow Generation](https://openreview.net/forum?id=z5uVAKwmjf) accepted for **oral presentation (top 1.8%)** at ICLR 2025, **ranking #2** in the LLM-based Agent category. + 🚀 Oct. 29, 2024: We introduced three papers: [AFLOW](https://arxiv.org/abs/2410.10762), [FACT](https://arxiv.org/abs/2410.21012), and [SELA](https://arxiv.org/abs/2410.17238), check the [code](examples)! 🚀 Mar. 29, 2024: [v0.8.0](https://github.com/geekan/MetaGPT/releases/tag/v0.8.0) released. Now you can use Data Interpreter ([arxiv](https://arxiv.org/abs/2402.18679), [example](https://docs.deepwisdom.ai/main/en/DataInterpreter/), [code](https://github.com/geekan/MetaGPT/tree/main/examples/di)) via pypi package import. Meanwhile, we integrated the RAG module and supported multiple new LLMs. diff --git a/examples/spo/README.md b/examples/spo/README.md index 8bfa3b206..ac7e6bdb8 100644 --- a/examples/spo/README.md +++ b/examples/spo/README.md @@ -2,6 +2,7 @@ # SPO | Self-Supervised Prompt Optimization xxx section.\n {experience} - (such as:add a review step/delete a operator/modify a prompt) + (such as:add /delete /modify/ ...) {score} {graph} {prompt}(only prompt_custom) 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}")