feat: add user interaction in data science scenario (#1251)

* feat: add interactor classes and user interaction handling for experiments

* update code

* use fragment retry mechanism instead of rerun()

* fix a bug

* integrate user instructions into proposal and coder

* fix CI

* fix CI

* feat: add approval option for user instructions submission

* feat: enhance user instructions handling in Task and DSExperiment classes

* fix CI

* add user instructions into hypothesis rewrite

* add interface to command line

---------

Co-authored-by: Bowen Xian <xianbowen@outlook.com>
This commit is contained in:
Xu Yang
2025-09-18 11:10:12 +08:00
committed by GitHub
parent 121b2dbe48
commit 07c228ef9f
13 changed files with 448 additions and 12 deletions
+5
View File
@@ -1,3 +1,4 @@
from pathlib import Path
from typing import Literal
from pydantic_settings import SettingsConfigDict
@@ -20,6 +21,7 @@ class DataScienceBasePropSetting(KaggleBasePropSetting):
planner: str = "rdagent.scenarios.data_science.proposal.exp_gen.planner.DSExpPlannerHandCraft"
hypothesis_gen: str = "rdagent.scenarios.data_science.proposal.exp_gen.router.ParallelMultiTraceExpGen"
interactor: str = "rdagent.components.interactor.SkipInteractor"
trace_scheduler: str = "rdagent.scenarios.data_science.proposal.exp_gen.trace_scheduler.RoundRobinScheduler"
"""Hypothesis generation class"""
@@ -182,6 +184,9 @@ class DataScienceBasePropSetting(KaggleBasePropSetting):
ensemble_time_upper_bound: bool = False
user_interaction_wait_seconds: int = 6000 # seconds to wait for user interaction
user_interaction_mid_folder: Path = Path.cwd() / "git_ignore_folder" / "RD-Agent_user_interaction"
DS_RD_SETTING = DataScienceBasePropSetting()