mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-06-08 15:05:17 +02:00
Final version
This commit is contained in:
parent
39ae68225b
commit
072839af7f
9 changed files with 21 additions and 28 deletions
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
|
||||
from metagpt.configs.models_config import ModelsConfig
|
||||
from metagpt.ext.aflow.data.download_data import download
|
||||
from metagpt.ext.aflow.scripts.optimizer import DatasetType, Optimizer, QuestionType
|
||||
|
||||
# DatasetType, QuestionType, and OptimizerType definitions
|
||||
|
|
@ -24,7 +23,7 @@ optimized_path: str = "metagpt/ext/aflow/scripts/optimized" # Optimized Result
|
|||
initial_round: int = 1 # Corrected the case from Initial_round to initial_round
|
||||
max_rounds: int = 20 # The max iteration of AFLOW.
|
||||
check_convergence: bool = True # Whether Early Stop
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
|
||||
# Config llm model, you can modify `config/config2.yaml` to use more llms.
|
||||
mini_llm_config = ModelsConfig.default().get("gpt-4o-mini")
|
||||
|
|
@ -33,7 +32,7 @@ claude_llm_config = ModelsConfig.default().get("claude-3-5-sonnet-20240620")
|
|||
# Config operators.
|
||||
operators = [
|
||||
"Custom", # It's basic unit of a fixed node. optimizer can modify its prompt to get vairous nodes.
|
||||
"AnswerGenerate", # It's for qa
|
||||
"AnswerGenerate", # It's for qa
|
||||
# "CustomCodeGenerate", # It's for code
|
||||
"ScEnsemble", # It's for code, math and qa
|
||||
# "Test", # It's for code
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
|
||||
from metagpt.configs.models_config import ModelsConfig
|
||||
from metagpt.ext.aflow.data.download_data import download
|
||||
from metagpt.ext.aflow.scripts.optimizer import DatasetType, Optimizer, QuestionType
|
||||
|
||||
# DatasetType, QuestionType, and OptimizerType definitions
|
||||
|
|
@ -24,7 +23,7 @@ optimized_path: str = "metagpt/ext/aflow/scripts/optimized" # Optimized Result
|
|||
initial_round: int = 1 # Corrected the case from Initial_round to initial_round
|
||||
max_rounds: int = 20 # The max iteration of AFLOW.
|
||||
check_convergence: bool = True # Whether Early Stop
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
|
||||
# Config llm model, you can modify `config/config2.yaml` to use more llms.
|
||||
mini_llm_config = ModelsConfig.default().get("gpt-4o-mini")
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
|
||||
from metagpt.configs.models_config import ModelsConfig
|
||||
from metagpt.ext.aflow.data.download_data import download
|
||||
from metagpt.ext.aflow.scripts.optimizer import DatasetType, Optimizer, QuestionType
|
||||
|
||||
# DatasetType, QuestionType, and OptimizerType definitions
|
||||
|
|
@ -24,7 +23,7 @@ optimized_path: str = "metagpt/ext/aflow/scripts/optimized" # Optimized Result
|
|||
initial_round: int = 1 # Corrected the case from Initial_round to initial_round
|
||||
max_rounds: int = 20 # The max iteration of AFLOW.
|
||||
check_convergence: bool = True # Whether Early Stop
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
|
||||
# Config llm model, you can modify `config/config2.yaml` to use more llms.
|
||||
mini_llm_config = ModelsConfig.default().get("gpt-4o-mini")
|
||||
|
|
@ -33,7 +32,7 @@ claude_llm_config = ModelsConfig.default().get("claude-3-5-sonnet-20240620")
|
|||
# Config operators.
|
||||
operators = [
|
||||
"Custom", # It's basic unit of a fixed node. optimizer can modify its prompt to get vairous nodes.
|
||||
"AnswerGenerate", # It's for qa
|
||||
"AnswerGenerate", # It's for qa
|
||||
# "CustomCodeGenerate", # It's for code
|
||||
"ScEnsemble", # It's for code, math and qa
|
||||
# "Test", # It's for code
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
|
||||
from metagpt.configs.models_config import ModelsConfig
|
||||
from metagpt.ext.aflow.data.download_data import download
|
||||
from metagpt.ext.aflow.scripts.optimizer import DatasetType, Optimizer, QuestionType
|
||||
|
||||
# DatasetType, QuestionType, and OptimizerType definitions
|
||||
|
|
@ -24,7 +23,7 @@ optimized_path: str = "metagpt/ext/aflow/scripts/optimized" # Optimized Result
|
|||
initial_round: int = 1 # Corrected the case from Initial_round to initial_round
|
||||
max_rounds: int = 20 # The max iteration of AFLOW.
|
||||
check_convergence: bool = True # Whether Early Stop
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
|
||||
# Config llm model, you can modify `config/config2.yaml` to use more llms.
|
||||
mini_llm_config = ModelsConfig.default().get("gpt-4o-mini")
|
||||
|
|
@ -34,9 +33,9 @@ claude_llm_config = ModelsConfig.default().get("claude-3-5-sonnet-20240620")
|
|||
operators = [
|
||||
"Custom", # It's basic unit of a fixed node. optimizer can modify its prompt to get vairous nodes.
|
||||
# "AnswerGenerate", # It's for qa
|
||||
"CustomCodeGenerate", # It's for code
|
||||
"CustomCodeGenerate", # It's for code
|
||||
"ScEnsemble", # It's for code, math and qa
|
||||
"Test", # It's for code
|
||||
"Test", # It's for code
|
||||
# "Programmer", # It's for math
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
|
||||
from metagpt.configs.models_config import ModelsConfig
|
||||
from metagpt.ext.aflow.data.download_data import download
|
||||
from metagpt.ext.aflow.scripts.optimizer import DatasetType, Optimizer, QuestionType
|
||||
|
||||
# DatasetType, QuestionType, and OptimizerType definitions
|
||||
|
|
@ -24,7 +23,7 @@ optimized_path: str = "metagpt/ext/aflow/scripts/optimized" # Optimized Result
|
|||
initial_round: int = 1 # Corrected the case from Initial_round to initial_round
|
||||
max_rounds: int = 20 # The max iteration of AFLOW.
|
||||
check_convergence: bool = True # Whether Early Stop
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
|
||||
# Config llm model, you can modify `config/config2.yaml` to use more llms.
|
||||
mini_llm_config = ModelsConfig.default().get("gpt-4o-mini")
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
|
||||
from metagpt.configs.models_config import ModelsConfig
|
||||
from metagpt.ext.aflow.data.download_data import download
|
||||
from metagpt.ext.aflow.scripts.optimizer import DatasetType, Optimizer, QuestionType
|
||||
|
||||
# DatasetType, QuestionType, and OptimizerType definitions
|
||||
|
|
@ -24,7 +23,7 @@ optimized_path: str = "metagpt/ext/aflow/scripts/optimized" # Optimized Result
|
|||
initial_round: int = 1 # Corrected the case from Initial_round to initial_round
|
||||
max_rounds: int = 20 # The max iteration of AFLOW.
|
||||
check_convergence: bool = True # Whether Early Stop
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
|
||||
# Config llm model, you can modify `config/config2.yaml` to use more llms.
|
||||
mini_llm_config = ModelsConfig.default().get("gpt-4o-mini")
|
||||
|
|
@ -34,9 +33,9 @@ claude_llm_config = ModelsConfig.default().get("claude-3-5-sonnet-20240620")
|
|||
operators = [
|
||||
"Custom", # It's basic unit of a fixed node. optimizer can modify its prompt to get vairous nodes.
|
||||
# "AnswerGenerate", # It's for qa
|
||||
"CustomCodeGenerate", # It's for code
|
||||
"CustomCodeGenerate", # It's for code
|
||||
"ScEnsemble", # It's for code, math and qa
|
||||
"Test", # It's for code
|
||||
"Test", # It's for code
|
||||
# "Programmer", # It's for math
|
||||
]
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ optimized_path: str = "metagpt/ext/aflow/scripts/optimized" # Optimized Result
|
|||
initial_round: int = 1 # Corrected the case from Initial_round to initial_round
|
||||
max_rounds: int = 20 # The max iteration of AFLOW.
|
||||
check_convergence: bool = True # Whether Early Stop
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
validation_rounds: int = 5 # The validation rounds of AFLOW.
|
||||
|
||||
# Config llm model, you can modify `config/config2.yaml` to use more llms.
|
||||
mini_llm_config = ModelsConfig.default().get("gpt-4o-mini")
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ from typing import Any, Callable, Dict, List, Optional, Tuple
|
|||
|
||||
from tenacity import retry, retry_if_exception_type, stop_after_attempt, wait_fixed
|
||||
|
||||
from metagpt.ext.aflow.scripts.utils import sanitize
|
||||
from metagpt.ext.aflow.benchmark.benchmark import BaseBenchmark
|
||||
from metagpt.ext.aflow.scripts.utils import sanitize
|
||||
from metagpt.logs import logger
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -55,11 +55,7 @@ datasets_to_download: Dict[str, Dict[str, str]] = {
|
|||
"filename": "aflow_data.tar.gz",
|
||||
"extract_path": "metagpt/ext/aflow/data",
|
||||
},
|
||||
"results": {
|
||||
"url": "",
|
||||
"filename": "result.tar.gz",
|
||||
"extract_path": "metagpt/ext/aflow/data/results"
|
||||
},
|
||||
"results": {"url": "", "filename": "result.tar.gz", "extract_path": "metagpt/ext/aflow/data/results"},
|
||||
"initial_rounds": {
|
||||
"url": "https://drive.google.com/uc?export=download&id=1UBoW4WBWjX2gs4I_jq3ALdXeLdwDJMdP",
|
||||
"filename": "initial_rounds.tar.gz",
|
||||
|
|
@ -72,14 +68,17 @@ def is_directory_empty(path: str) -> bool:
|
|||
"""Check if the directory is empty"""
|
||||
return len(os.listdir(path)) == 0
|
||||
|
||||
|
||||
def download(datasets):
|
||||
"""Main function to process all selected datasets"""
|
||||
for dataset_name in datasets:
|
||||
dataset = datasets_to_download[dataset_name]
|
||||
extract_path = dataset["extract_path"]
|
||||
|
||||
|
||||
if os.path.exists(extract_path) and not is_directory_empty(extract_path):
|
||||
logger.info(f"Target folder {extract_path} for {dataset_name} is not empty, skipping download and extraction.")
|
||||
logger.info(
|
||||
f"Target folder {extract_path} for {dataset_name} is not empty, skipping download and extraction."
|
||||
)
|
||||
continue
|
||||
|
||||
|
||||
process_dataset(dataset["url"], dataset["filename"], extract_path)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue