|
6 | 6 | "metadata": {}, |
7 | 7 | "outputs": [], |
8 | 8 | "source": [ |
9 | | - "\n", |
10 | 9 | "import os\n", |
11 | 10 | "import hashlib\n", |
12 | 11 | "import shutil\n", |
|
20 | 19 | "from fhda.data_analysis_env import DataAnalysisEnv\n", |
21 | 20 | "from fhda.notebook_env import NBEnvironment\n", |
22 | 21 | "from fhda.utils import NBLanguage\n", |
23 | | - "from fhda import prompts\n" |
| 22 | + "from fhda import prompts" |
24 | 23 | ] |
25 | 24 | }, |
26 | 25 | { |
|
39 | 38 | "# This image includes many bioinformatics and data science packages\n", |
40 | 39 | "os.environ[\"use_docker\"] = \"False\"\n", |
41 | 40 | "\n", |
42 | | - "def setup_data_analysis_env(query: str, dataset_folder: Path): \n", |
| 41 | + "\n", |
| 42 | + "def setup_data_analysis_env(query: str, dataset_folder: Path):\n", |
43 | 43 | " # Hash the task to get a unique identifier\n", |
44 | 44 | " task_hash = hashlib.sha256(query.encode()).hexdigest()\n", |
45 | 45 | " trajectory_path = Path(\"tmp_results_dir\") / f\"{task_hash}-{time.time()}\"\n", |
|
50 | 50 | " if item.is_file():\n", |
51 | 51 | " shutil.copy2(item, trajectory_path)\n", |
52 | 52 | " elif item.is_dir():\n", |
53 | | - " shutil.copytree(\n", |
54 | | - " item, trajectory_path / item.name, dirs_exist_ok=True\n", |
55 | | - " )\n", |
| 53 | + " shutil.copytree(item, trajectory_path / item.name, dirs_exist_ok=True)\n", |
56 | 54 | "\n", |
57 | 55 | " # Augment incoming task with CoT instructions\n", |
58 | 56 | " augmented_task = f\"\"\"\\\n", |
|
66 | 64 | " {prompts.GENERAL_NOTEBOOK_GUIDELINES}\"\"\"\n", |
67 | 65 | "\n", |
68 | 66 | " # This can be R or PYTHON in Docker or with a local kernel if you have R installed\n", |
69 | | - " language = NBLanguage.PYTHON \n", |
| 67 | + " language = NBLanguage.PYTHON\n", |
70 | 68 | " if language == NBLanguage.R:\n", |
71 | 69 | " augmented_task += f\"\\n{prompts.R_OUTPUT_RECOMMENDATION_PROMPT}\"\n", |
72 | 70 | "\n", |
|
144 | 142 | " agent_type=\"ReActAgent\",\n", |
145 | 143 | " agent_kwargs={\n", |
146 | 144 | " \"llm_model\": {\n", |
147 | | - " \"model\": \"claude-3-7-sonnet-20250219\", # any litellm supported model will work\n", |
| 145 | + " \"model\": \"claude-3-7-sonnet-20250219\", # any litellm supported model will work\n", |
148 | 146 | " \"parallel_tool_calls\": False,\n", |
149 | 147 | " \"num_retries\": 5,\n", |
150 | 148 | " \"temperature\": 1.0,\n", |
|
983 | 981 | "trajectory = result[0]\n", |
984 | 982 | "# You can inspect each step in the trajectory and see what the agent's reasoning was,\n", |
985 | 983 | "# what tool it called, and what the observation was\n", |
986 | | - "for c,step in enumerate(trajectory.steps):\n", |
| 984 | + "for c, step in enumerate(trajectory.steps):\n", |
987 | 985 | " print(f\"Timestep {c}\")\n", |
988 | 986 | " print(f\"Done: {step.done}\")\n", |
989 | 987 | " print(\"Agent Reasoning:\")\n", |
|
1040 | 1038 | " break\n", |
1041 | 1039 | "\n", |
1042 | 1040 | " agent_state = next_agent_state\n", |
1043 | | - " obs = next_obs\n", |
1044 | | - "\n" |
| 1041 | + " obs = next_obs" |
1045 | 1042 | ] |
1046 | 1043 | } |
1047 | 1044 | ], |
|
0 commit comments