Skip to content

Commit b58668c

Browse files
committed
fix a small bug
1 parent 5c51b8e commit b58668c

File tree

3 files changed

+25
-3
lines changed

3 files changed

+25
-3
lines changed

rdagent/scenarios/data_science/proposal/exp_gen/package_info.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,5 +154,15 @@ def get_python_packages():
154154
print(pkg)
155155

156156

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+
157163
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()

rdagent/scenarios/data_science/proposal/exp_gen/proposal.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,13 @@
2424
)
2525
from rdagent.scenarios.data_science.proposal.exp_gen.idea_pool import DSIdea
2626
from rdagent.scenarios.data_science.proposal.exp_gen.package_info import (
27-
get_available_packages_prompt,
2827
get_persistent_problem_guidelines,
2928
)
3029
from rdagent.scenarios.data_science.proposal.exp_gen.planner import (
3130
DSExperimentPlan,
3231
RD_Agent_TIMER_wrapper,
3332
)
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
3534
from rdagent.utils.agent.tpl import T
3635
from rdagent.utils.repo.diff import generate_diff_from_dict
3736
from rdagent.utils.workflow import wait_retry

rdagent/scenarios/data_science/proposal/exp_gen/utils.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,3 +103,16 @@ def get_packages(pkgs: list[str] | None = None) -> str:
103103
pkg_args = " ".join(pkgs) if pkgs else ""
104104
stdout = implementation.execute(env=env, entry=f"python {fname} {pkg_args}")
105105
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()

0 commit comments

Comments
 (0)