* change refine prompt for full code
* fix: fix the logic of running
* refine prompt
* fix some bugs
* fix
* add two guidelines
* refactor the code
* make costeer evaluator more logical
* refine eval prompt
* make costeer eval prompt markdown
* update code diff prompt
* correct pipeline
* feat: add apply_patch utility and update ret.py with patch functionality (#1071)
* restore to the right version
* fix the docstring
* fix extract_output fcn
* add inplace parameter to apply patch
* remove enable_runner_iteration and make the eval prompt same as main
* refine runner eval prompt based on main
* Update rdagent/scenarios/data_science/dev/runner/prompts.yaml
* add wait_retry
* refactor: move enable_runner_code_diff to DSRunnerCoSTEERSettings as diff_mode
* reformat and remove enable_runner_code_diff
---------
Co-authored-by: yuanteli <1957922024@qq.com>
Co-authored-by: Xu <v-xuminrui@microsoft.com>
Co-authored-by: Jensen Lee <91518020+Jensen246@users.noreply.github.com>
Co-authored-by: you-n-g <you-n-g@users.noreply.github.com>
Co-authored-by: Qizheng Li <jenssenlee@163.com>
* Align scenario descriptions and include debug timeout
- Updated config.py to support debug timeout configuration
- Synchronized prompts in exp_gen and scen modules
- Refactored proposal.py for consistency with new scenario descriptions
- Improved __init__.py for better scenario management
* remove running time in stdout
---------
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
* fix: refine prompts formatting and logic across data science scenarios
* Make runner evaluator more detailed
* feat: switch to system_debugger prompt and print early stopping stats
* refactor: move exp_gen selection files into select directory
* fix selector value in data_science conf
* fix selector template name
* fix CI
---------
Co-authored-by: Young <afe.young@gmail.com>
* fix: improve scheduler API (suggest_sel) and add timer.remain_time()
* chore: exclude .venv from auto-black and auto-isort tasks
* refactor: wrap RoundRobinScheduler commit and selection in retry loop
* set search_type="ancestors" for experiment_and_feedback_list_after_init
* fix bug: no update of uncommited_rec_status with root node
---------
Co-authored-by: Young <afe.young@gmail.com>
* fix: fix a small bug in response_schema
* feat: support response_format parameter in chat completion
* fix: fix between json_mode and response_format
* Update base.py
* Update deprec.py
* add unittest and refine logic
* fix the reasoning extraction logic and refine prompt for deepseek adaptation
* refactor: introduce workflow_check and streamline task parsing
* refine prompt
---------
Co-authored-by: Young <afe.young@gmail.com>
* check sample submission & add package constraint
* add trace.log into clear
* change default
* simplify
* clear CI workspace before running
* move to CI
* use sudo to clean workspace
* move prepare out of global var
---------
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
* fix: improve scheduler API (suggest_sel) and add timer.remain_time()
* chore: exclude .venv from auto-black and auto-isort tasks
* refactor: wrap RoundRobinScheduler commit and selection in retry loop
* set search_type="ancestors" for experiment_and_feedback_list_after_init
* refactor: merge sync_dag_parent_and_hist and hist.append into one call
* fix uncommited rec bug
* lint
---------
Co-authored-by: xuangu-fang <xuangufang@gmail.com>
* init commit
* remove the 5-fold spec from prompts
* refine the hyperparameter specification
* do not sample data
* a small spelling issue
* refine prompt to avoid submission cheating
* do not sample data
* simplify code
* refine the coder evaluator prompt
* refine wording
* remove runtime from proposal
* refine wording
* refine prompt
* add gpu info in runtime_info.py
* modify the spec
* add router and add refinement exp gen
* fix prompt bug
* use rule-based logic for router
* complete the prompt
* fix circular import bug
* fix bug
* make refine_decision optional
* update pipeline prompts: (1) add scenary: in an iterative cooding loop and use sample datasets (2)add some generation tops in coding (3)add evaluation guidelines in evaluation (4)polish the json schema and description
* fix a small bug
* fix a small bug
* rdagent/scenarios/data_science/loop.py back to the original version
* refactor: replace _get_exp_gen with default_exp_gen for exp generation
* import
* refactor: make the __init__ back to main
* fix small bugs
* fix bugs for proposal_version
* move refine into runner
* check early stop
* EDA improvement & coder classes number
* fix CI
* slightly refine the prompt
* remove rule_base_eval and remove useless prompt
---------
Co-authored-by: Xu <v-xuminrui@microsoft.com>
Co-authored-by: TPLin22 <tplin2@163.com>
Co-authored-by: amstrongzyf <amstrongzyf@126.com>
Co-authored-by: Xu Yang <peteryang@vip.qq.com>
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
Co-authored-by: Young <afe.young@gmail.com>
* commit all code
* fix feedback bug
* add debug mode in ds
* update prompt
* prioritize performance than time lit
* use run instead
* store running time
* move all data running into running phase
* fix a bug
* use sample data as default
---------
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
* feat: Enhance data folder description for clarity and robustness
* fix bug
* fix present bugs
* delete useless files
* add output example and refactor the hole util.py
* fix bug for file tree
* add corner case example
* delete useless file
* start to work on multi-trace + async
* init ver of async-multi-tarce, to test
* add eng-ver log
* complete version of async+ mul-trace
* debug
* fix bug on DS_RD_SETTING.get()
* update
* fix bug + simplif the usage of async in multi-trace
* fix mini bug of arg_name
* Move local_selection into class Experiment & clean the code
* add coder version
* merge cooder and feedback prompts
* align v2 and v3 proposal prompts
* fix a small bug
* fix a bug
* fix another bug
* support both function calling and json mode in v2 proposal
* fix minor bug
* reformat
* remove proposal v3
* fix a small bug in json mode
* fix CI
* remove tmp file
* remove v3 check
---------
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
* add custom data setting for the data science scene
* fix ci?
* fix ci
* add custom data as an example
* fix ci
* add package
* fix test_import ci error
* feat: replace hard-coded cache paths with dynamic cache_path config
* style: reorder wait_retry import and format chmod list
* refactor: pass workspace_path to chmod command and use DockerConf check
* refactor: split workflow into pkg, add WorkflowTracker & wait_retry
* feat: add async LoopBase with parallel workers and step semaphores
* fix: replace pickle with dill and run blocking tasks via joblib wrapper
* feat: add log format settings, dynamic parallelism & pickle-based snapshot
* fix: default step semaphore to 1 and avoid subprocess when single worker
* merge bowen's changes
* merge tim's changes
* refactor: extract component task mapping, add conditional logger setup
* lint
* refactor: add type hints and safer remain_time metric logging in workflow
* lint
* fix: allow BadRequestError to be pickled via custom copyreg reducer
* fix: stop loop when LoopTerminationError is raised in LoopBase
* lint
* refactor: make log tag context-local using ContextVar for thread safety
* feat: add subproc_step flag and helper to decide subprocess execution
* fix: use ./cache path and normalize relative volume bind paths
* fix: reset loop_idx to 0 on loop restart/resume to ensure correct flow
* fix: avoid chmod on cache and input dirs in Env timeout wrapper
* fix: skip chmod on 'cache' and 'input' dirs using find -prune
* fix: restrict chmod to immediate mount dirs excluding cache/input
* fix: chmod cache and input dirs alongside their contents after entry run
* fix: guard chmod with directory checks for cache and input
* fix: prefix mount_path in chmod command for cache/input dirs
* fix: drop quotes from find exclude patterns to ensure chmod executes
* fix: skip chmod on cache/input directories to avoid warning spam
* feat: support string volume mappings and poll subprocess stdout/stderr
* support remove symbolic link
* test: use dynamic home path and code volume in LocalEnv local_simple
* fix: skip trace and progress update when loop step is withdrawn
* refactor: add clean_workspace util and non-destructive workspace backup
* fix: preserve symlinks when backing up workspace with copytree
* fix: prevent AttributeError when _pbar not yet initialized in LoopBase
* perf: replace shutil.copytree with rsync for faster workspace backup
* fix: cast log directory Path to str in tar command of data science loop
* fix: use portable 'cp -r -P' instead of rsync for workspace backup
* fix: add retry and logging to workspace backup for robustness
* refactor: extract backup_folder helper and reuse in DataScienceRDLoop
* fix: propagate backup errors & default _pbar getattr to avoid error
* fix the division by zero bug
* refactor: execute RD loops via asyncio.run and add necessary imports
* lint
* lint
* lint
---------
Co-authored-by: Xu <v-xuminrui@microsoft.com>
* fix the logic of kb-inject, allow different verion
* set more flexiable proposal-version change for multi-tarce
* auto-lint
* fix the divede-zero-bug in a trival way
* keep the dump imp. first, update in next version
* use get_sub_trace_count() to get trace_num_count
* fix the conern case bug of divide-zero
* update corner case
* fix the bug
* auto-lint
* fis the bug
* fix the logic bug in max_sota_filter
* fix bug of old version of self.exp_gen.gen
* update the reset_exp_gen_version
* use get_parent_exps to replace all collect_all_ancestors
* auto lint
* fix the bug of reset_exp_gen_version
* fix bug: update V3's old hypothesis_rank
* trival patch on gap of V3 & V2
* make dump patch to unify proposal_V3's dentify_problems
* auto-lint
* fix the bug of sub_trace_count
* chore: avoid incorporate changes
best as sota
merge hypothesis
fix: max_retrieve_num after decision
chore: select last experiments and feedbacks
* add the set_current_selection before the exp_gen when merging
add trace.NEW_ROOT
fix: no scen_prob_multiplier
fix: use regex with timeout
chore: hypothesis_rank with selected_idx
chore: define is_parent in proposal
chore: rename collect_all_ancestors to get_parent_exps
---------
Co-authored-by: you-n-g <you-n-g@users.noreply.github.com>
Co-authored-by: Young <afe.young@gmail.com>
Co-authored-by: Xu <v-xuminrui@microsoft.com>
Co-authored-by: Xu Yang <xuyang1@microsoft.com>