* fix: enable embedding auto truncation
* move embedding_utils to utils.embedding
* fix bug
* fix(embedding): improve text truncation with retry strategies and binary search optimization
* new way for embedding truncate
* fix ci errors
* 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: 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>
* 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>
* 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>
* docs: update explanation for separate config use in litellm
* docs: update default backend to `rdagent.oai.backend.LiteLLMAPIBackend`
* docs: update .rst format
* Update installation_and_configuration.rst
* 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>
* add try-except to avoid retry when using completion_cost
* feat: add JSON prompt injection and think tag removal handling
* refactor: simplify cost handling in LiteLLM backend and clean up style
* docs: clarify purpose of reasoning_think_rm in LLMSettings
* refactor: remove unused *args and redundant cost assignment
---------
Co-authored-by: Young <afe.young@gmail.com>
* using model in the chat_model_map in one tag
* add replace timer to DS loop
* fix CI
* fix CI
* add more custom config in chat_model_map
* fix CI
* fix CI
* fix CI
---------
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
* update all code
* update all code
* dump knowledge base
* rename the tag
* add timer to RD-Agent
* fix CI
* fix CI
* use batch embedding
* fix a small bug
* fix prompt bug
* feat: add pause resume to handle K8S cluster pause (#804)
* add resume to cluster running
* fix non-pickle problem
* fix a small bug
* fix a small bug
* avoid shutil move error
* refine the logic
* move knowledge base out of session
* avoid mistake information to pipeline coding
* avoid load and dump in steps
* archive the right folder
* small improvement
* avoid restart when timer is already started
* fix CI
---------
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
---------
Co-authored-by: Xu Yang <peteryang@vip.qq.com>
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
Co-authored-by: Xu <v-xuminrui@microsoft.com>
* init commit
* limit problem numbers
* ensemble lower case
* add runtime and spec to coder
* submission check notice
* sub EDA in sample execution
* avoid lightgbm
* add time limit to scenario
* rephrase the submission check
* give positive feedback when facing warning in check
* ENABLE FEEDBACK
* fix feedback bug
---------
Co-authored-by: Xu Yang <peteryang@vip.qq.com>
* first framework commit
* idea proposal v2
Co-authored-by: Roland Minrui <RolandMinrui@users.noreply.github.com>
* fix a small bug in v1
* fix a small bug
* add problem to DShypothesis
* use exp gen as unified interface
* merge yuante's code into pr
* fix a small bug in draft
* update all minrui's code
* small update
* fix small bug & remove useless code
* fix return type
* fix CI
---------
Co-authored-by: Xu Yang <peteryang@vip.qq.com>
Co-authored-by: Roland Minrui <RolandMinrui@users.noreply.github.com>
Co-authored-by: Xu <v-xuminrui@microsoft.com>
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
* feat: Track and log accumulated completion cost in LiteLLMAPIBackend
* refactor: Use variable for retry count and update import formatting
* lint
* fix: Allow chat_max_tokens to be None in LLMSettings
* feat: Add logging for LiteLLM settings and finish reason in cost calculation
* refactor: Rename direct_exp_gen to json_target_type in DSExpGen class
* fix type
* fix: Adjust loop iterations and update json_target_type for nested dicts
* move cache auto continue and retry to all api backend
* add type checker to json mode output
* fix CI
* feat: Add json_mode handling and streaming support in chat completion function
* lint
* fix a bug when returning a dict which value could contain int or bool
* remove litellm
---------
Co-authored-by: Xu Yang <xuyang1@microsoft.com>
Co-authored-by: Young <afe.young@gmail.com>
* refactor: Update type annotations and remove unused class in evolving modules
* refactor: Simplify evolving agent and feedback handling in CoSTEER module
* lint & CI
* mypy
* ruff for core
* mypy
* refactor: remove unnecessary comments and update feedback handling logic
* refactor: Add prev_task_feedback parameter to evolving strategies
* feat: Clear folder before extracting zip file in DockerEnv
* fix: Correct retrieval of last experiment from history
* File structure for supporting litellm
* more litellm support
* feat: Add CachedAPIBackend class and dynamic API backend retrieval function
* fix: update benchmark folder path and add default values for architecture and hyperparameters
* feat: add LiteLLMAPIBackend and DeprecBackend ; changed structure of the project ; with bus
* fix : deprec_backend
* feat: Add LiteLLMAPIBackend class and related features; update configuration and test cases.
* feat: Enhance LiteLLMAPIBackend with encoder support and dynamic argument handling;Enhance log Colors
* lint
* fix lint...
* fix: Lint
* fix:make auto-lint
* fix:test oai
* fix:redundant _abckend.py
* fix: Optimize LiteLLMAPIBackend on token counting functiona, and clean up unused code;add test on this function
* feat: Add LiteLLMSettings class and update model settings usage
* fix: Update LiteLLMSettings environment variable prefix and model configurations
* fix : gitignore
* test: Consolidate and relocate test files for litellm backend and oai
* fix : lint
* fix: lint
* auto lint
* lint
* LINT
* lint
* chore: remove deprecated backend configuration comments
* refactor: Remove unused functions and imports from deprec.py and llm_utils.py
* refactor: Move md5_hash function from deprec.py to llm_utils.py
* chore: Remove extra newline and add missing import in deprec.py
* lint
* refactor: Move md5_hash function to utils module
* lint
* lint
* lint
---------
Co-authored-by: Young <afe.young@gmail.com>
Co-authored-by: Yihua Chen <v-yihuachen@microsoft.com>