* Added thread to agent run context * Added sample * Update python/samples/getting_started/middleware/thread_behavior_middleware.py Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Small fix --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Agent Framework Lab - GAIA
The GAIA benchmark can be used for evaluating agents and workflows built using the Agent Framework. It includes built-in benchmarks as well as utilities for running custom evaluations.
Note
: This module is part of the consolidated
agent-framework-labpackage. Install the package with thegaiaextra to use this module.
Setup
Install the agent-framework-lab package with GAIA dependencies:
pip install "agent-framework-lab[gaia]"
Set up Hugging Face token:
export HF_TOKEN="hf\*..." # must have access to gaia-benchmark/GAIA
Create an evaluation script
Create a Python script (e.g., run_gaia.py) with the following content:
from agent_framework.lab.gaia import GAIA, Task, Prediction, GAIATelemetryConfig
async def run_task(task: Task) -> Prediction:
return Prediction(prediction="answer here", messages=[])
async def main() -> None:
# Optional: Enable telemetry for detailed tracing
telemetry_config = GAIATelemetryConfig(
enable_tracing=True,
trace_to_file=True,
file_path="gaia_traces.jsonl"
)
runner = GAIA(telemetry_config=telemetry_config)
await runner.run(run_task, level=1, max_n=5, parallel=2)
See the gaia_sample.py for more detail.
Run the evaluation
Run the evaluation script using uv:
uv run python run_gaia.py
By default, the script will first look for cached GAIA data in the data_gaia_hub directory,
and download it if not found.
The result will be saved to gaia_results_<timestamp>.jsonl.
Don't run the script inside this directory because it will confuse the local agent_framework namespace
package with the real one.
View results
We provide a console viewer for reading GAIA results:
uv run gaia_viewer "gaia_results_<timestamp>.jsonl" --detailed