Skip to content

Commit 27537e9

Browse files
committed
common tapedata.sqlite for the experiment
1 parent cfc2f20 commit 27537e9

File tree

2 files changed

+22
-9
lines changed

2 files changed

+22
-9
lines changed

src/agentlab/analyze/tapes.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import numpy as np
88
import yaml
99
from tapeagents.core import Step, StepMetadata
10+
from tapeagents.observe import retrieve_all_llm_calls
1011
from tapeagents.renderers.camera_ready_renderer import CameraReadyRenderer
1112
from tapeagents.tape_browser import TapeBrowser
1213

@@ -88,7 +89,17 @@ def get_steps(self, tape: dict) -> list:
8889
return tape["steps"]
8990

9091
def load_llm_calls(self):
91-
pass
92+
sqlite_path = self.exp_path / "tapedata.sqlite"
93+
if sqlite_path.exists():
94+
try:
95+
self.llm_calls = {
96+
call.prompt.id: call for call in retrieve_all_llm_calls(str(sqlite_path))
97+
}
98+
logger.info(f"Loaded {len(self.llm_calls)} LLM calls from {sqlite_path}")
99+
except Exception as e:
100+
logger.warning(f"Failed to load LLM calls from {sqlite_path}: {e}")
101+
else:
102+
logger.warning(f"{sqlite_path} not found")
92103

93104
def get_context(self, tape: Tape) -> list:
94105
return []
@@ -209,7 +220,8 @@ def load_tapes(self, exp_dir: str) -> list[Tape]:
209220
tapes.append(tape)
210221
except Exception as e:
211222
logger.warning(f"Failed to load {json_file}: {e}")
212-
logger.info(f"Loaded {len(tapes)} tapes from {exp_dir}")
223+
logger.info(f"Loaded {len(tapes)} tapes from {fpath}")
224+
self.exp_path = fpath
213225
return sorted(
214226
tapes,
215227
key=lambda x: f"{x.metadata.task.get('Level', '')}{x.metadata.task.get('number', 0):03d}",

src/agentlab/benchmarks/gaia.py

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import datasets
1111
import hydra
1212
import podman
13+
import tapeagents.config
1314
from omegaconf import DictConfig
1415
from pdf2image import convert_from_path
1516
from pydantic import ConfigDict, Field
@@ -79,16 +80,16 @@ def __init__(
7980
self.task_seed = task_seed
8081
self.env_config = env_config
8182

82-
def make_env(self, exp_dir: str | Path, action_mapping=None) -> GaiaGym:
83-
exp_dir = str(exp_dir)
84-
logger.info(f"Init gaia env with directory {exp_dir}")
85-
os.environ["TAPEAGENTS_SQLITE_DB"] = os.path.join(exp_dir, "tapedata.sqlite")
86-
init_code_sandbox(exp_dir)
83+
def make_env(self, exp_dir: Path, action_mapping=None) -> GaiaGym:
84+
tapeagents.config.DB_DEFAULT_FILENAME = str(exp_dir.parent / "tapedata.sqlite")
85+
exp_dir_str = str(exp_dir)
86+
logger.info(f"Init gaia env with directory {exp_dir_str}")
87+
init_code_sandbox(exp_dir_str)
8788
for i in range(len(self.env_config.tools)):
8889
if hasattr(self.env_config.tools[i], "exp_path"):
89-
self.env_config.tools[i].exp_path = exp_dir
90+
self.env_config.tools[i].exp_path = exp_dir_str
9091
tools = hydra.utils.instantiate(self.env_config.tools)
91-
env = GaiaGym(tools=tools, task=self.task, exp_dir=exp_dir)
92+
env = GaiaGym(tools=tools, task=self.task, exp_dir=exp_dir_str)
9293
return env
9394

9495

0 commit comments

Comments
 (0)