Advanced/compatible programmatic examples. Fragments illustrate mechanisms; HostEnv or workspace does not provide isolation. New projects start with Quickstart, Session and explicit resource configuration.
GaiaAdapter to convert GAIA dataset rows into Task objects. The canonical execution path is qit bench run, while examples/benchmarks/gaia_eval.py remains available as a thin wrapper over the same official result contract.
Setup
1
Install benchmark dependencies
2
Authenticate with HuggingFace
GAIA is a gated dataset. Request access at huggingface.co/datasets/gaia-benchmark/GAIA, then set your token:
3
Set your model API key
Loading tasks
UseGaiaAdapter to load the dataset and convert rows to Task objects:
Illustrative fragment (not a standalone program; use the complete example linked on this page).
Loading from a local snapshot
If you have downloaded the dataset locally, load from disk to avoid repeated HuggingFace requests: Illustrative fragment (not a standalone program; use the complete example linked on this page).Configuration
GaiaAdapter accepts the following parameters:
Running the evaluation
Start with the official CLI:examples/benchmarks/gaia_eval.py.
The bundled gaia_eval.py script runs an OpenDeepResearch-style ReAct agent that uses web search, URL visiting, file reading, and command execution.
Run a single task:
Agent architecture
The evaluation script builds anOpenDeepResearchGaiaAgent with the following toolset:
Illustrative fragment (not a standalone program; use the complete example linked on this page).
ReActTextParser expecting Thought: / Action: output format. You can swap in any AgentModule subclass and pass it to Engine.run(task) — the adapter produces standard Task objects.
Task structure
EachTask produced by GaiaAdapter contains:
Illustrative fragment (not a standalone program; use the complete example linked on this page).
Expected output
Each run appends one JSON line to the output file:stop_reason: "final"— the agent produced aFinal Answer.stop_reason: "max_steps"— the agent hit the step budget without answering.stop_reason: "exception"— a runtime error occurred; checkerror.
prediction to reference_answer with exact-match normalization (strip whitespace, lowercase). Then inspect trace runs with qita:
