rename research assistant to experimenter

This commit is contained in:
Cyzus Chi 2024-10-28 21:42:46 +08:00
parent 1aac79c3b3
commit e0cbbf82f4
14 changed files with 33 additions and 33 deletions

View file

@ -213,7 +213,7 @@ #### Run
The `log` folder will contain the experimental configuration and the generated scheme, and the `workspace` folder will save the final results generated by aide
```
python experimenter/aide.py
python runner/aide.py
```
### Autogluon

View file

@ -1,7 +1,7 @@
import os
from metagpt.ext.sela.data.dataset import SPECIAL_INSTRUCTIONS
from metagpt.ext.sela.experimenter.mle_bench.instructions import (
from metagpt.ext.sela.runner.mle_bench.instructions import (
ADDITIONAL_NOTES,
INSTRUCTIONS,
INSTRUCTIONS_OBFUSCATED,

View file

@ -2,12 +2,12 @@ import argparse
import asyncio
from metagpt.ext.sela.data.custom_task import get_mle_is_lower_better, get_mle_task_id
from metagpt.ext.sela.experimenter.autogluon import GluonExperimenter
from metagpt.ext.sela.experimenter.autosklearn import AutoSklearnExperimenter
from metagpt.ext.sela.experimenter.custom import CustomExperimenter
from metagpt.ext.sela.experimenter.experimenter import Experimenter
from metagpt.ext.sela.experimenter.mcts import MCTSExperimenter
from metagpt.ext.sela.experimenter.random_search import RandomSearchExperimenter
from metagpt.ext.sela.runner.autogluon import GluonRunner
from metagpt.ext.sela.runner.autosklearn import AutoSklearnRunner
from metagpt.ext.sela.runner.custom import CustomRunner
from metagpt.ext.sela.runner.mcts import MCTSRunner
from metagpt.ext.sela.runner.random_search import RandomSearchRunner
from metagpt.ext.sela.runner.runner import Runner
def get_args(cmd=True):
@ -74,24 +74,24 @@ def get_di_args(parser):
async def main(args):
if args.exp_mode == "mcts":
experimenter = MCTSExperimenter(args)
runner = MCTSRunner(args)
elif args.exp_mode == "greedy":
experimenter = MCTSExperimenter(args, tree_mode="greedy")
runner = MCTSRunner(args, tree_mode="greedy")
elif args.exp_mode == "random":
experimenter = MCTSExperimenter(args, tree_mode="random")
runner = MCTSRunner(args, tree_mode="random")
elif args.exp_mode == "rs":
experimenter = RandomSearchExperimenter(args)
runner = RandomSearchRunner(args)
elif args.exp_mode == "base":
experimenter = Experimenter(args)
runner = Runner(args)
elif args.exp_mode == "autogluon":
experimenter = GluonExperimenter(args)
runner = GluonRunner(args)
elif args.exp_mode == "custom":
experimenter = CustomExperimenter(args)
runner = CustomRunner(args)
elif args.exp_mode == "autosklearn":
experimenter = AutoSklearnExperimenter(args)
runner = AutoSklearnRunner(args)
else:
raise ValueError(f"Invalid exp_mode: {args.exp_mode}")
await experimenter.run_experiment()
await runner.run_experiment()
if __name__ == "__main__":

View file

@ -3,7 +3,7 @@ from datetime import datetime
import pandas as pd
from metagpt.ext.sela.experimenter.custom import CustomExperimenter
from metagpt.ext.sela.runner.custom import CustomRunner
class AGRunner:
@ -102,7 +102,7 @@ class AGRunner:
return train_data, dev_data, dev_wo_target_data, test_data
class GluonExperimenter(CustomExperimenter):
class GluonRunner(CustomRunner):
result_path: str = "results/autogluon"
def __init__(self, args, **kwargs):

View file

@ -4,7 +4,7 @@ from functools import partial
import pandas as pd
from metagpt.ext.sela.evaluation.evaluation import evaluate_score
from metagpt.ext.sela.experimenter.custom import CustomExperimenter
from metagpt.ext.sela.runner.custom import CustomRunner
def custom_scorer(y_true, y_pred, metric_name):
@ -69,7 +69,7 @@ class ASRunner:
return {"test_preds": test_preds, "dev_preds": dev_preds}
class AutoSklearnExperimenter(CustomExperimenter):
class AutoSklearnRunner(CustomRunner):
result_path: str = "results/autosklearn"
def __init__(self, args, **kwargs):

View file

@ -3,11 +3,11 @@ import os
import pandas as pd
from metagpt.ext.sela.evaluation.evaluation import evaluate_score
from metagpt.ext.sela.experimenter.experimenter import Experimenter
from metagpt.ext.sela.runner.runner import Runner
from metagpt.ext.sela.search.tree_search import create_initial_state
class CustomExperimenter(Experimenter):
class CustomRunner(Runner):
result_path: str = "results/custom"
def __init__(self, args, **kwargs):

View file

@ -5,11 +5,11 @@ from metagpt.ext.sela.evaluation.evaluation import (
node_evaluate_score_sela,
)
from metagpt.ext.sela.evaluation.visualize_mcts import get_tree_text
from metagpt.ext.sela.experimenter.experimenter import Experimenter
from metagpt.ext.sela.runner.runner import Runner
from metagpt.ext.sela.search.search_algorithm import MCTS, Greedy, Random
class MCTSExperimenter(Experimenter):
class MCTSRunner(Runner):
result_path: str = "results/mcts"
def __init__(self, args, tree_mode=None, **kwargs):

View file

@ -8,7 +8,7 @@ You will be given a machine learning task. You must solve the task by training a
BENCHMARK INSTRUCTIONS
------
First, please read the instructions below which are specific to our benchmark setup. Note, these instructions can be found again in `experimenter/mle_bench/instructions.py`.
First, please read the instructions below which are specific to our benchmark setup. Note, these instructions can be found again in `runner/mle_bench/instructions.py`.
- **Competition-specific instructions**: The instructions for the competition are available in `{dataset_dir}/description.md`. Read this file to understand the problem setup for the competition you are currently solving.
- **Dataset**: The dataset files for the competition are available in `{dataset_dir}`.
@ -28,7 +28,7 @@ You will be given a machine learning task. You must solve the task by training a
BENCHMARK INSTRUCTIONS
------
First, please read the instructions below which are specific to our benchmark setup. Note, these instructions can be found again in `experimenter/mle_bench/instructions.py`.
First, please read the instructions below which are specific to our benchmark setup. Note, these instructions can be found again in `runner/mle_bench/instructions.py`.
- **Task-specific instructions**: The instructions for the task are available in `{dataset_dir}/description.md`. Read this file to understand the problem setup for the task you are currently solving.
- **Dataset**: The dataset files for the task are available in `{dataset_dir}/`.

View file

@ -1,6 +1,6 @@
from metagpt.ext.sela.experimenter.experimenter import Experimenter
from metagpt.ext.sela.experimenter import ResearchAssistant
from metagpt.ext.sela.insights.instruction_generator import InstructionGenerator
from metagpt.ext.sela.research_assistant import ResearchAssistant
from metagpt.ext.sela.runner.runner import Runner
from metagpt.ext.sela.utils import get_exp_pool_path
EXPS_PROMPT = """
@ -10,7 +10,7 @@ When doing the tasks, you can refer to the insights below:
"""
class RandomSearchExperimenter(Experimenter):
class RandomSearchRunner(Runner):
result_path: str = "results/random_search"
async def run_experiment(self):

View file

@ -6,12 +6,12 @@ import numpy as np
import pandas as pd
from metagpt.ext.sela.evaluation.evaluation import evaluate_score
from metagpt.ext.sela.research_assistant import ResearchAssistant
from metagpt.ext.sela.experimenter import ResearchAssistant
from metagpt.ext.sela.search.tree_search import create_initial_state
from metagpt.ext.sela.utils import DATA_CONFIG, save_notebook
class Experimenter:
class Runner:
result_path: str = "results/base"
data_config = DATA_CONFIG
start_task_id = 1

View file

@ -15,8 +15,8 @@ from metagpt.ext.sela.data.dataset import (
get_split_dataset_path,
)
from metagpt.ext.sela.evaluation.evaluation import evaluate_score
from metagpt.ext.sela.experimenter import ResearchAssistant, TimeoutException
from metagpt.ext.sela.insights.instruction_generator import InstructionGenerator
from metagpt.ext.sela.research_assistant import ResearchAssistant, TimeoutException
from metagpt.ext.sela.utils import get_exp_pool_path, load_execute_notebook, mcts_logger
from metagpt.tools.tool_recommend import ToolRecommender
from metagpt.utils.common import read_json_file