File tree Expand file tree Collapse file tree 3 files changed +25
-3
lines changed
rdagent/scenarios/data_science/proposal/exp_gen Expand file tree Collapse file tree 3 files changed +25
-3
lines changed Original file line number Diff line number Diff line change @@ -154,5 +154,15 @@ def get_python_packages():
154
154
print (pkg )
155
155
156
156
157
+ def print_available_packages_prompt ():
158
+ """Print the available packages prompt to stdout for external consumption"""
159
+ prompt = get_available_packages_prompt ()
160
+ print (prompt )
161
+
162
+
157
163
if __name__ == "__main__" :
158
- get_python_packages ()
164
+ # Check if we should print available packages prompt
165
+ if len (sys .argv ) > 1 and sys .argv [1 ] == "--packages-prompt" :
166
+ print_available_packages_prompt ()
167
+ else :
168
+ get_python_packages ()
Original file line number Diff line number Diff line change 24
24
)
25
25
from rdagent .scenarios .data_science .proposal .exp_gen .idea_pool import DSIdea
26
26
from rdagent .scenarios .data_science .proposal .exp_gen .package_info import (
27
- get_available_packages_prompt ,
28
27
get_persistent_problem_guidelines ,
29
28
)
30
29
from rdagent .scenarios .data_science .proposal .exp_gen .planner import (
31
30
DSExperimentPlan ,
32
31
RD_Agent_TIMER_wrapper ,
33
32
)
34
- from rdagent .scenarios .data_science .proposal .exp_gen .utils import get_packages
33
+ from rdagent .scenarios .data_science .proposal .exp_gen .utils import get_available_packages_prompt , get_packages
35
34
from rdagent .utils .agent .tpl import T
36
35
from rdagent .utils .repo .diff import generate_diff_from_dict
37
36
from rdagent .utils .workflow import wait_retry
Original file line number Diff line number Diff line change @@ -103,3 +103,16 @@ def get_packages(pkgs: list[str] | None = None) -> str:
103
103
pkg_args = " " .join (pkgs ) if pkgs else ""
104
104
stdout = implementation .execute (env = env , entry = f"python { fname } { pkg_args } " )
105
105
return stdout
106
+
107
+
108
+ def get_available_packages_prompt () -> str :
109
+ """Generate prompt template for dynamically detected available packages."""
110
+ # Use the same approach as get_packages but call the packages prompt functionality
111
+
112
+ env = get_ds_env ()
113
+ implementation = FBWorkspace ()
114
+ fname = "package_info.py"
115
+ implementation .inject_files (** {fname : (Path (__file__ ).absolute ().resolve ().parent / "package_info.py" ).read_text ()})
116
+
117
+ stdout = implementation .execute (env = env , entry = f"python { fname } --packages-prompt" )
118
+ return stdout .strip ()
You can’t perform that action at this time.
0 commit comments