From 5e854a23b88162eb8a688d255ba3c607f9094a4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=97=AE=E6=98=8A?= Date: Wed, 12 Nov 2025 11:13:28 +0800 Subject: [PATCH 1/4] add browse comp plus as an training example --- docs/sphinx_doc/assets/bcp_reward.png | Bin 0 -> 108342 bytes docs/sphinx_doc/assets/bcp_searchcall.png | Bin 0 -> 95622 bytes examples/browse_comp_plus/README.md | 132 ++++ examples/browse_comp_plus/bcp_config.yaml | 135 ++++ .../get_browse_comp_data_for_trinity.py | 184 +++++ trinity/common/workflows/__init__.py | 4 + .../bcp_simple_react_workflow.py | 701 ++++++++++++++++++ 7 files changed, 1156 insertions(+) create mode 100644 docs/sphinx_doc/assets/bcp_reward.png create mode 100644 docs/sphinx_doc/assets/bcp_searchcall.png create mode 100644 examples/browse_comp_plus/README.md create mode 100644 examples/browse_comp_plus/bcp_config.yaml create mode 100644 examples/browse_comp_plus/get_browse_comp_data_for_trinity.py create mode 100644 trinity/common/workflows/envs/browse_comp_plus/bcp_simple_react_workflow.py diff --git a/docs/sphinx_doc/assets/bcp_reward.png b/docs/sphinx_doc/assets/bcp_reward.png new file mode 100644 index 0000000000000000000000000000000000000000..dd714f0a11695932c25b7d6f5455d292f4f04011 GIT binary patch literal 108342 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 literal 0 HcmV?d00001 diff --git a/docs/sphinx_doc/assets/bcp_searchcall.png b/docs/sphinx_doc/assets/bcp_searchcall.png new file mode 100644 index 0000000000000000000000000000000000000000..afee36d3a060c0d37e2f19a10b534bf8ded88b01 GIT binary patch literal 95622 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 literal 0 HcmV?d00001 diff --git a/examples/browse_comp_plus/README.md b/examples/browse_comp_plus/README.md new file mode 100644 index 0000000000..f0989a0c11 --- /dev/null +++ b/examples/browse_comp_plus/README.md @@ -0,0 +1,132 @@ +# Example of Training a BrowseComp-Plus Search Agent + +This example demonstrates how to train a web search and information retrieval agent on the **BrowseComp-Plus** dataset using the ReAct (Reasoning and Acting) paradigm. + +BrowseComp-Plus is a comprehensive benchmark for evaluating information retrieval and question answering capabilities. The original dataset and benchmark can be found at [BrowseComp-Plus GitHub](https://github.com/texttron/BrowseComp-Plus). + +The config file is located in [`bcp_config.yaml`](bcp_config.yaml). + +## Key Features + +* **Training ReAct Agent**: The workflow trains a ReAct agent that can reason and act with search tools to find information and answer questions. +* **Local Search Integration**: The agent uses local BM25 or dense retrieval search (no external API required) via BrowseComp-Plus's built-in searcher. +* **Tool-based Interaction**: The agent can: + * **Search**: Query the search index to find relevant documents + * **Get Document** (optional): Retrieve full document content by document ID +* **LLM-as-Judge Evaluation**: The agent's final answer is evaluated by an auxiliary "judge" LLM against ground-truth answers to generate reward signals for training. +* **Asynchronous Execution**: The workflow is designed to run asynchronously for better performance. + +## Prerequisites + +Before running this workflow, please complete the following setup steps. + +### 1. Install BrowseComp-Plus + +Clone and set up the BrowseComp-Plus repository: + +```bash +# Clone the repository +git clone https://github.com/texttron/BrowseComp-Plus.git + +# Set the environment variable (add this to your ~/.bashrc or ~/.zshrc for persistence) +export BROWSECOMP_PATH="/path/to/BrowseComp-Plus" + +# Install dependencies +cd $BROWSECOMP_PATH +pip install -r requirements.txt +``` + +### 2. Download and Decrypt the Dataset + +Follow the instructions in BrowseComp-Plus to download and decrypt the dataset: + +```bash +cd $BROWSECOMP_PATH + +# Download the encrypted dataset +# Follow instructions at: https://github.com/texttron/BrowseComp-Plus#data +python scripts_build_index/decrypt_dataset.py --output data/browsecomp_plus_decrypted.jsonl --generate-tsv topics-qrels/queries.tsv +``` + +### 3. Build the Search Index + +Build the BM25 search index (or other index types if preferred): + +```bash +cd $BROWSECOMP_PATH + +# Build Search index +bash scripts_build_index/download_indexes.sh + +# (Optional) To try out other retrieval index methods, please refer to instructions in BrowseComp-Plus Repo +``` + +### 4. Generate Trinity-RFT Format Dataset + +Convert the BrowseComp-Plus dataset to Trinity-RFT format: + +```bash +# From the Trinity-RFT root directory +python examples/browse_comp_plus/get_browse_comp_data_for_trinity.py \ + --input $BROWSECOMP_PATH/data/browsecomp_plus_decrypted.jsonl \ + --output_dir data/trinity_format \ + --train_size 400 \ + --test_size 200 \ + --seed 42 +``` + +This will create: +- `data/trinity_format/train.jsonl`: Training set (400 samples) +- `data/trinity_format/test.jsonl`: Test set (200 samples) + +### 5. Set Environment Variables and Config + +The configuration file uses environment variables with sensible defaults. Set the required variables: + +```bash +# Required: Path to BrowseComp-Plus directory +export BROWSECOMP_PATH="/path/to/BrowseComp-Plus" +``` + +You should also set the `model_path` and the `auxiliary_model_path` in `bcp_config.yaml`. + +## Running the Training + +Once everything is configured, start the training: + +```bash +# Make sure environment variables are set +export BROWSECOMP_PATH="/path/to/BrowseComp-Plus" +export TRINITY_TASKSET_PATH="data/trinity_format" + +# start the ray server +ray start --head + +# Run training +trinity run --config examples/browse_comp_plus/bcp_config.yaml +``` + +### Workflow Arguments + +The `workflow_args` section controls the agent's behavior: + +* **`searcher_type`**: Type of search index to use (e.g. `"bm25"`, etc.) +* **`index_path`**: Path to the search index (uses `BROWSECOMP_INDEX_PATH` env variable) +* **`browsecomp_path`**: Path to BrowseComp-Plus directory (uses `BROWSECOMP_PATH` env variable) +* **`max_iterations`**: Maximum number of search/reasoning steps (default: 30) +* **`top_k`**: Number of search results returned per query (default: 5) +* **`snippet_max_tokens`**: Maximum tokens to include from each document snippet (default: 512) +* **`include_get_document`**: Whether to enable the `get_document` tool (default: false) + + +## Results + +From the below curve you can see that the agent learns for leverage more search calls to gain more accurate answers. + +Reward curve: + +![](../../docs/sphinx_doc/assets/bcp_reward.png) + +Search call curve: + +![](../../docs/sphinx_doc/assets/bcp_searchcall.png) diff --git a/examples/browse_comp_plus/bcp_config.yaml b/examples/browse_comp_plus/bcp_config.yaml new file mode 100644 index 0000000000..69e6776e8b --- /dev/null +++ b/examples/browse_comp_plus/bcp_config.yaml @@ -0,0 +1,135 @@ +project: "Trinity_BrowseComp_Plus" +name: "BrowseComp_Plus_Simple_React_Agent" +checkpoint_root_dir: ${oc.env:TRINITY_CHECKPOINT_ROOT_DIR,./checkpoints} + +algorithm: + algorithm_type: multi_step_grpo + repeat_times: 8 # Number of rollouts per sample for GRPO + advantage_fn_args: + std_threshold: 0.001 + optimizer: + lr: 1e-6 + +model: + # Main agent model for rollout + model_path: ${oc.env:TRINITY_MODEL_PATH,Qwen/Qwen3-4B-Instruct-2507} + max_response_tokens: 10000 + max_model_len: 64000 + +cluster: + node_num: 1 + gpu_per_node: 8 + +buffer: + total_epochs: 128 + batch_size: 64 + train_batch_size: 512 # Total batch size: batch_size * gpu_per_node * gradient_accumulation + + explorer_input: + # Training dataset + taskset: + name: browsecomp_train + storage_type: file + path: ${oc.env:TRINITY_TASKSET_PATH,data/trinity_format} + split: train + format: + prompt_key: 'query' # Field name for the query + response_key: 'answer' # Field name for ground truth answer + workflow_args: + # Uses local searcher (no MCP server required) + max_iterations: 30 # Maximum conversation rounds + max_model_tokens: 64000 # Filter experiences longer than this + # Local searcher configuration + searcher_type: "bm25" # Type of searcher: bm25, dense, etc. + index_path: ${oc.env:BROWSECOMP_INDEX_PATH,indexes/bm25} # Path to search index (relative to BROWSECOMP_PATH) + browsecomp_path: ${oc.env:BROWSECOMP_PATH,null} # Path to BrowseComp-Plus directory + top_k: 5 # Number of search results per query + snippet_max_tokens: 512 # Max tokens per document snippet + include_get_document: false # Whether to include get_document tool + rollout_args: + temperature: 1.0 + top_p: 1.0 + max_tokens: 10000 + enable_progress_bar: true + + # Evaluation datasets + eval_tasksets: + - name: browsecomp_eval + storage_type: file + path: ${oc.env:TRINITY_TASKSET_PATH,data/trinity_format} + split: test + format: + prompt_key: 'query' + response_key: 'answer' + workflow_args: + max_iterations: 30 + max_model_tokens: 64000 + searcher_type: "bm25" + index_path: ${oc.env:BROWSECOMP_INDEX_PATH,indexes/bm25} + browsecomp_path: ${oc.env:BROWSECOMP_PATH,null} + top_k: 5 + snippet_max_tokens: 512 + include_get_document: false + rollout_args: + temperature: 1.0 + max_tokens: 10000 + top_p: 1.0 + enable_progress_bar: true + + default_workflow_type: 'bcp_simple_react_workflow' + + trainer_input: + experience_buffer: + name: experience_buffer + storage_type: queue + max_read_timeout: 7200 + replay_buffer: + enable: true + +explorer: + eval_interval: 10 # Evaluate every 10 training iterations + max_repeat_times_per_runner: 4 + max_timeout: 3600 # 1 hour timeout per rollout + runner_per_model: 16 + + # Rollout model configuration (agent model) + rollout_model: + enable_thinking: true + enable_history: true + enable_openai_api: true + enable_auto_tool_choice: true # Enable automatic tool calling + tool_call_parser: hermes # Tool call parser format + engine_num: 2 # Number of vLLM engines + tensor_parallel_size: 1 # Tensor parallelism per engine + enable_prefix_caching: false + enforce_eager: true + dtype: bfloat16 + seed: 42 + gpu_memory_utilization: 0.7 + enable_chunked_prefill: true + + # Auxiliary models (judge model for evaluation) + auxiliary_models: + - model_path: ${oc.env:TRINITY_JUDGE_MODEL_PATH,qwen/Qwen3-30B-A3B-Instruct-2507} + engine_num: 1 + tensor_parallel_size: 2 # Use 2 GPUs for the larger judge model + enable_thinking: false + max_prompt_tokens: 20480 + max_response_tokens: 8192 + max_model_len: 32000 + +synchronizer: + sync_style: dynamic_by_explorer + sync_method: 'nccl' + sync_interval: 4 # Sync every 4 batches + sync_timeout: 7200 + +trainer: + save_interval: 20 # Save checkpoint every 20 iterations + grad_clip: 1.0 + use_dynamic_bsz: true + max_token_len_per_gpu: 16384 + ulysses_sequence_parallel_size: 4 + +monitor: + monitor_type: wandb diff --git a/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py b/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py new file mode 100644 index 0000000000..dd2ab531bd --- /dev/null +++ b/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py @@ -0,0 +1,184 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +Convert BrowseComp-Plus dataset to Trinity-RFT format with train/test split. + +This script converts the BrowseComp-Plus decrypted JSONL dataset into the format +expected by Trinity-RFT for RL training and evaluation. + +Usage: + python get_browser_comp_data_for_trinity.py --input path/to/browsecomp_plus_decrypted.jsonl --output_dir data/trinity_format + +Environment Variables: + BROWSECOMP_PATH: Path to BrowseComp-Plus directory (optional if --browsecomp_path is provided) +""" + +import argparse +import json +import os +import random +import sys +from pathlib import Path +from typing import Dict, List + + +def load_browsecomp_data(jsonl_path: Path) -> List[Dict]: + """Load BrowseComp-Plus dataset from JSONL file. + + Args: + jsonl_path: Path to the JSONL file + + Returns: + List of data samples + """ + data = [] + with jsonl_path.open("r", encoding="utf-8") as f: + for line in f: + line = line.strip() + if not line: + continue + obj = json.loads(line) + data.append(obj) + return data + + +def convert_to_trinity_format(sample: Dict) -> Dict: + """Convert a single BrowseComp-Plus sample to Trinity-RFT format. + + Args: + sample: BrowseComp-Plus sample with fields: query_id, query, answer, gold_docs + + Returns: + Trinity-RFT formatted sample with fields: query_id, query, answer + """ + return { + "query_id": sample["query_id"], + "query": sample["query"], + "answer": sample["answer"], + } + + +def save_jsonl(data: List[Dict], output_path: Path): + """Save data to JSONL file. + + Args: + data: List of data samples + output_path: Path to save the JSONL file + """ + output_path.parent.mkdir(parents=True, exist_ok=True) + with output_path.open("w", encoding="utf-8") as f: + for sample in data: + f.write(json.dumps(sample, ensure_ascii=False) + "\n") + print(f"Saved {len(data)} samples to {output_path}") + + +def main(): + parser = argparse.ArgumentParser( + description="Convert BrowseComp-Plus dataset to Trinity-RFT format with train/test split" + ) + parser.add_argument( + "--input", + help="Path to BrowseComp-Plus decrypted JSONL file. If not provided, will look for " + "browsecomp_plus_decrypted.jsonl in BrowseComp-Plus data directory", + ) + parser.add_argument( + "--output_dir", + default="data/trinity_format", + help="Output directory for Trinity-RFT formatted data (default: %(default)s)", + ) + parser.add_argument( + "--train_size", + type=int, + default=400, + help="Number of samples for training (default: %(default)s)", + ) + parser.add_argument( + "--test_size", + type=int, + default=200, + help="Number of samples for testing (default: %(default)s)", + ) + parser.add_argument( + "--seed", + type=int, + default=42, + help="Random seed for reproducibility (default: %(default)s)", + ) + parser.add_argument( + "--browsecomp_path", + help="Path to BrowseComp-Plus directory. If not provided, will use BROWSECOMP_PATH env variable", + ) + args = parser.parse_args() + + # Set random seed for reproducibility + random.seed(args.seed) + + # Determine BrowseComp-Plus path + browsecomp_path = args.browsecomp_path or os.environ.get("BROWSECOMP_PATH") + + # Determine input path + if args.input: + input_path = Path(args.input) + else: + if not browsecomp_path: + print("Error: Please provide --input path or set BROWSECOMP_PATH environment variable") + sys.exit(1) + input_path = Path(browsecomp_path) / "data" / "browsecomp_plus_decrypted.jsonl" + + output_dir = Path(args.output_dir) + + if not input_path.exists(): + print(f"Error: Input file not found: {input_path}") + print("\nPlease make sure you have:") + print("1. Downloaded BrowseComp-Plus dataset") + print("2. Decrypted the dataset using the decryption script") + print("3. Set the correct path using --input or BROWSECOMP_PATH") + sys.exit(1) + + print(f"Loading data from {input_path}") + data = load_browsecomp_data(input_path) + print(f"Loaded {len(data)} samples") + + # Shuffle data with fixed seed + random.shuffle(data) + + # Split into train and test + total_needed = args.train_size + args.test_size + if len(data) < total_needed: + print( + f"Warning: Dataset has {len(data)} samples, but {total_needed} requested. " + f"Adjusting split proportionally." + ) + train_size = int(len(data) * args.train_size / total_needed) + test_size = len(data) - train_size + else: + train_size = args.train_size + test_size = args.test_size + + train_data = data[:train_size] + test_data = data[train_size : train_size + test_size] + + print("\nSplitting data:") + print(f" Train: {len(train_data)} samples") + print(f" Test: {len(test_data)} samples") + + # Convert to Trinity format + train_trinity = [convert_to_trinity_format(s) for s in train_data] + test_trinity = [convert_to_trinity_format(s) for s in test_data] + + # Save converted data + save_jsonl(train_trinity, output_dir / "train.jsonl") + save_jsonl(test_trinity, output_dir / "test.jsonl") + + print("\nConversion complete!") + print(f"Random seed used: {args.seed}") + print("\nNext steps:") + print(f"1. Set environment variable: export TRINITY_TASKSET_PATH={output_dir.absolute()}") + print("2. Make sure BROWSECOMP_PATH environment variable is set") + print( + "3. Run training with: python -m trinity.train --config examples/browse_comp_plus/bcp_config.yaml" + ) + + +if __name__ == "__main__": + main() diff --git a/trinity/common/workflows/__init__.py b/trinity/common/workflows/__init__.py index 1277f041f9..61331faa73 100644 --- a/trinity/common/workflows/__init__.py +++ b/trinity/common/workflows/__init__.py @@ -28,6 +28,9 @@ from trinity.common.workflows.envs.alfworld.RAFT_reflect_alfworld_workflow import ( RAFTReflectAlfworldWorkflow, ) +from trinity.common.workflows.envs.browse_comp_plus.bcp_simple_react_workflow import ( + BCPSimpleToolReActWorkflow, +) from trinity.common.workflows.envs.email_searcher.workflow import EmailSearchWorkflow from trinity.common.workflows.envs.sciworld.sciworld_workflow import SciWorldWorkflow from trinity.common.workflows.envs.webshop.webshop_workflow import WebShopWorkflow @@ -87,6 +90,7 @@ "AgentScopeV1ReactSearchWorkflow", "AgentScopeReActWorkflow", "EmailSearchWorkflow", + "BCPSimpleToolReActWorkflow", "AsyncMathRULERWorkflow", "MathRULERWorkflow", "MathTrainableRULERWorkflow", diff --git a/trinity/common/workflows/envs/browse_comp_plus/bcp_simple_react_workflow.py b/trinity/common/workflows/envs/browse_comp_plus/bcp_simple_react_workflow.py new file mode 100644 index 0000000000..7645798859 --- /dev/null +++ b/trinity/common/workflows/envs/browse_comp_plus/bcp_simple_react_workflow.py @@ -0,0 +1,701 @@ +# -*- coding: utf-8 -*- +"""BrowseComp-Plus Simple Tool-based ReAct Workflow for Trinity-RFT. + +This workflow implements a simpler approach using direct OpenAI API function calling +for web search and document retrieval tasks. + +Key Features: +- Uses OpenAI function calling API with local searcher (BM25, etc.) +- Simple conversation loop with tool execution +- LLM-as-judge evaluation with JSON output format for reliable parsing +- Supports both search and get_document tools +""" + +import json +import re +import sys +from typing import List, Optional + +import openai + +from trinity.common.models.model import ModelWrapper +from trinity.common.workflows.workflow import WORKFLOWS, Task, Workflow + + +class SearchToolHandler: + """ + Search tool handler that executes search and get_document tools locally. + Handles tool definitions and execution for OpenAI function calling. + """ + + def __init__( + self, + searcher, + snippet_max_tokens: int | None = None, + k: int = 5, + include_get_document: bool = True, + ): + self.searcher = searcher + self.snippet_max_tokens = snippet_max_tokens + self.k = k + self.include_get_document = include_get_document + + self.tokenizer = None + if snippet_max_tokens and snippet_max_tokens > 0: + try: + from transformers import AutoTokenizer + + self.tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-0.6B") + except Exception: + self.tokenizer = None + + def get_tool_definitions(self): + """Get tool definitions in OpenAI function calling format.""" + tools = [ + { + "type": "function", + "function": { + "name": "search", + "description": self.searcher.search_description(self.k), + "parameters": { + "type": "object", + "properties": { + "query": { + "type": "string", + "description": "Search query string", + } + }, + "required": ["query"], + }, + }, + } + ] + + if self.include_get_document: + tools.append( + { + "type": "function", + "function": { + "name": "get_document", + "description": self.searcher.get_document_description(), + "parameters": { + "type": "object", + "properties": { + "docid": { + "type": "string", + "description": "Document ID to retrieve", + } + }, + "required": ["docid"], + }, + }, + } + ) + + return tools + + def execute_tool(self, tool_name: str, arguments: dict): + """Execute a tool locally.""" + if tool_name == "search": + return self._search(arguments["query"]) + elif tool_name == "get_document": + return self._get_document(arguments["docid"]) + else: + raise ValueError(f"Unknown tool: {tool_name}") + + def _search(self, query: str): + """Execute search tool.""" + candidates = self.searcher.search(query, self.k) + + if self.snippet_max_tokens and self.snippet_max_tokens > 0 and self.tokenizer: + for cand in candidates: + text = cand["text"] + tokens = self.tokenizer.encode(text, add_special_tokens=False) + if len(tokens) > self.snippet_max_tokens: + truncated_tokens = tokens[: self.snippet_max_tokens] + cand["snippet"] = self.tokenizer.decode( + truncated_tokens, skip_special_tokens=True + ) + else: + cand["snippet"] = text + else: + for cand in candidates: + cand["snippet"] = cand["text"] + + results = [] + for cand in candidates: + if cand.get("score") is None: + results.append({"docid": cand["docid"], "snippet": cand["snippet"]}) + else: + results.append( + { + "docid": cand["docid"], + "score": cand["score"], + "snippet": cand["snippet"], + } + ) + + return json.dumps(results, indent=2) + + def _get_document(self, docid: str): + """Execute get_document tool.""" + result = self.searcher.get_document(docid) + if result is None: + return json.dumps({"error": f"Document with docid '{docid}' not found"}) + return json.dumps(result, indent=2) + + +@WORKFLOWS.register_module("bcp_simple_react_workflow") +class BCPSimpleToolReActWorkflow(Workflow): + """ + Simple tool-based ReAct workflow for BrowseComp-Plus using direct OpenAI API. + + This workflow: + - Uses OpenAI function calling API directly + - Uses local searcher (BM25, etc.) for document retrieval + - Simple conversation loop with tool execution + - LLM-as-judge evaluation with JSON output format + - Supports configurable search parameters and tool settings + """ + + can_reset: bool = True + is_async: bool = True + + def __init__( + self, + *, + task: Task, + model: ModelWrapper, + auxiliary_models: Optional[List[openai.OpenAI]] = None, + ): + """Initialize the workflow. + + Args: + task: Task object containing the query and ground truth answer + model: The main model wrapper for agent inference + auxiliary_models: List of auxiliary models, first one used as judge + """ + super().__init__( + task=task, + model=model, + auxiliary_models=auxiliary_models, + ) + + # Get OpenAI async client from model + self.openai_async_client = model.get_openai_async_client() + self.model_name = self.openai_async_client.model_path + + self.reset(task) + + def reset(self, task: Task): + """Reset the workflow with a new task.""" + self.workflow_args = task.workflow_args + + # Workflow configuration + self.max_iterations = int(self.workflow_args.get("max_iterations", 100)) + self.max_model_tokens = int(self.workflow_args.get("max_model_tokens", 24000)) + self.top_k = int(self.workflow_args.get("top_k", 5)) + self.snippet_max_tokens = int(self.workflow_args.get("snippet_max_tokens", 512)) + self.include_get_document = bool(self.workflow_args.get("include_get_document", False)) + + # Searcher configuration + self.searcher_type = self.workflow_args.get("searcher_type", "bm25") + self.index_path = self.workflow_args.get("index_path", "indexes/bm25") + + # Task information + self.raw_task = task.raw_task + self.task_desc = task.task_desc + self.truth = task.truth + + # Initialize searcher and tool handler (lazy init in run_async) + self.searcher = None + self.tool_handler = None + + def _init_searcher(self): + """Initialize searcher lazily.""" + if self.searcher is not None: + return + + try: + # Import searcher from BrowseComp-Plus + # If you have BrowseComp-Plus in a custom location, set BROWSECOMP_PATH env variable + # or add it to workflow_args as 'browsecomp_path' + browsecomp_path = self.workflow_args.get("browsecomp_path") + if browsecomp_path is None: + import os + + browsecomp_path = os.environ.get("BROWSECOMP_PATH") + + if browsecomp_path and str(browsecomp_path) not in sys.path: + sys.path.insert(0, str(browsecomp_path)) + + from searcher.searchers import SearcherType + + # Get searcher class + searcher_class = SearcherType.get_searcher_class(self.searcher_type) + + # Create a minimal args object for searcher + class SearcherArgs: + def __init__(self, index_path): + self.index_path = index_path + # Add other common args + self.hf_token = None + self.hf_home = None + + args = SearcherArgs(self.index_path) + self.searcher = searcher_class(args) + + self.logger.info(f"Initialized {self.searcher_type} searcher from {self.index_path}") + + except Exception as e: + self.logger.error(f"Failed to initialize searcher: {e}") + raise RuntimeError( + f"Failed to initialize searcher. Make sure BrowseComp-Plus is in your Python path " + f"(set BROWSECOMP_PATH env variable or browsecomp_path in workflow_args) " + f"and index exists at {self.index_path}" + ) + + # Initialize tool handler + self.tool_handler = SearchToolHandler( + searcher=self.searcher, + snippet_max_tokens=self.snippet_max_tokens, + k=self.top_k, + include_get_document=self.include_get_document, + ) + + def _get_user_prompt(self, question: str) -> str: + """Get user prompt for the search agent.""" + prompt = f"""You are a deep research agent. You need to answer the given question by interacting with a search engine, using the search tool provided. Please perform reasoning and use the tool step by step, in an interleaved manner. + +NOTE: + - You should always call one tool at a time. Use short keyword as the query for the search tool call. + - You should first provide your reasoning process(your chain of thought) before each tool call step. + - When you stop calling tools, you should provide your final answer alone with the explanation for your final answer. + +Question: {question} + +Your final response should be in the following format: +Exact Answer: {{your succinct, final answer}}""" + return prompt + + def _truncate_tool_results(self, messages: list, max_tool_result_length: int = 2000) -> list: + """Truncate tool results to prevent context overflow. + + Args: + messages: List of messages + max_tool_result_length: Maximum length for each tool result in characters + + Returns: + Modified messages list with truncated tool results + """ + truncated_messages = [] + for msg in messages: + if msg.get("role") == "tool" and msg.get("content"): + content = msg["content"] + if len(content) > max_tool_result_length: + # Truncate and add indicator + msg = msg.copy() + msg["content"] = ( + content[:max_tool_result_length] + + f"\n\n... (truncated from {len(content)} chars)" + ) + truncated_messages.append(msg) + return truncated_messages + + async def _run_conversation_with_tools( + self, + messages: list, + temperature: float = 0.7, + top_p: float = 0.8, + ) -> tuple[str, list, list]: + """Run conversation loop with function calling. + + Args: + messages: Initial messages + temperature: Sampling temperature + top_p: Top-p sampling + + Returns: + Tuple of (status, all_messages, normalized_results) + """ + all_messages = messages.copy() + normalized_results = [] + tools = self.tool_handler.get_tool_definitions() + + for iteration in range(self.max_iterations): + # Truncate tool results to prevent context overflow + truncated_messages = self._truncate_tool_results( + all_messages, max_tool_result_length=2500 + ) + + # Call the model + try: + response = await self.openai_async_client.chat.completions.create( + model=self.model_name, + messages=truncated_messages, + tools=tools, + tool_choice="auto", + max_tokens=self.task.rollout_args.max_tokens or 4096, + temperature=temperature, + top_p=top_p, + ) + except Exception as e: + self.logger.error(f"API call failed at iteration {iteration}: {e}") + return "error", all_messages, normalized_results + + message = response.choices[0].message + + # Convert message to dict for all_messages + message_dict = { + "role": message.role, + "content": message.content, + } + if message.tool_calls: + message_dict["tool_calls"] = [ + { + "id": tc.id, + "type": tc.type, + "function": { + "name": tc.function.name, + "arguments": tc.function.arguments, + }, + } + for tc in message.tool_calls + ] + all_messages.append(message_dict) + + # Check if there are tool calls + if message.tool_calls: + # Execute each tool call + for tool_call in message.tool_calls: + function_name = tool_call.function.name + try: + function_args = json.loads(tool_call.function.arguments) + except json.JSONDecodeError as e: + self.logger.warning(f"Failed to parse tool arguments: {e}") + function_args = {} + + # Execute the tool locally + try: + result = self.tool_handler.execute_tool(function_name, function_args) + except Exception as e: + error_msg = f"Error executing {function_name}: {str(e)}" + self.logger.error(error_msg) + result = json.dumps({"error": error_msg}) + + # Record the tool call + normalized_results.append( + { + "type": "tool_call", + "tool_name": function_name, + "arguments": function_args, + "output": result, + } + ) + + # Add tool response to messages + all_messages.append( + { + "role": "tool", + "tool_call_id": tool_call.id, + "content": result, + } + ) + + # Continue to next iteration + continue + + # No tool calls, check if we have a final response + if message.content: + normalized_results.append( + { + "type": "output_text", + "tool_name": None, + "arguments": None, + "output": message.content, + } + ) + return "completed", all_messages, normalized_results + else: + return "incomplete", all_messages, normalized_results + + # Hit max iterations + self.logger.warning(f"Conversation hit max iterations ({self.max_iterations})") + return "incomplete", all_messages, normalized_results + + def _parse_judge_response(self, judge_response: str) -> dict: + """Parse judge model response (expects JSON format). + + Returns: + dict with keys: extracted_answer, ground_truth, reasoning, is_correct, parse_error + """ + result = { + "extracted_answer": None, + "ground_truth": None, + "reasoning": None, + "is_correct": False, + "parse_error": False, + } + + if not judge_response or not judge_response.strip(): + result["parse_error"] = True + result["reasoning"] = "Empty response from judge model" + return result + + # Try to extract JSON from the response + # Sometimes the model might add text before/after the JSON + json_match = re.search(r"\{.*\}", judge_response, re.DOTALL) + if json_match: + json_str = json_match.group(0) + else: + json_str = judge_response.strip() + + try: + parsed = json.loads(json_str) + + # Validate required fields + if "is_correct" not in parsed: + result["parse_error"] = True + result["reasoning"] = "Missing 'is_correct' field in JSON response" + return result + + # Extract fields + result["extracted_answer"] = parsed.get("extracted_answer") + result["ground_truth"] = parsed.get("ground_truth") + result["reasoning"] = parsed.get("reasoning", "") + result["is_correct"] = bool(parsed.get("is_correct", False)) + + # Additional validation + if result["extracted_answer"] is None: + # If no answer was extracted, it should be marked as incorrect + result["is_correct"] = False + + except json.JSONDecodeError as e: + result["parse_error"] = True + result["reasoning"] = f"JSON parsing error: {str(e)}" + + # Fallback: try to extract is_correct with regex + is_correct_match = re.search( + r'"is_correct"\s*:\s*(true|false)', judge_response, re.IGNORECASE + ) + if is_correct_match: + result["is_correct"] = is_correct_match.group(1).lower() == "true" + result["parse_error"] = False # We got the essential info + result["reasoning"] = "Partial parse via regex" + + except Exception as e: + result["parse_error"] = True + result["reasoning"] = f"Unexpected error: {str(e)}" + + return result + + async def judge_result( + self, normalized_results: list, question: str, correct_answer: str, judge_model + ) -> bool: + """Judge whether the agent's answer is correct using LLM-as-judge. + + Uses JSON-based judge template for reliable parsing. + + Args: + normalized_results: List of conversation results + question: The original question + correct_answer: The ground truth answer + judge_model: The judge model (OpenAI async client) + + Returns: + True if answer is correct, False otherwise + """ + if not normalized_results: + return False + + # Extract final answer from last output_text + final_answer = "" + for result in reversed(normalized_results): + if result.get("type") == "output_text": + final_answer = result.get("output", "") + break + + if not final_answer: + self.logger.warning("No final answer found in results") + return False + + # Judge prompt with JSON output format + judge_prompt = f"""You are an expert judge tasked with evaluating whether an agent's response to a question is correct. + +**Question**: + +{question} + + +**Ground Truth Answer**: + +{correct_answer} + + +**Agent's Response**: + +{final_answer} + + +Your task is to determine if the agent's response is correct based on the ground truth answer. Be strict and precise in your judgment. + +**Evaluation Criteria**: +1. Extract the final answer from the agent's response +2. Compare it with the ground truth answer +3. The agent's answer is correct ONLY if it is semantically equivalent to the ground truth +4. Allow for minor variations in phrasing, but the core information must match exactly +5. For numerical answers, allow small rounding differences (within 1% or 0.1 units) +6. If the agent's response contains additional correct information beyond the ground truth, it can still be marked as correct +7. If the agent's response is ambiguous, contradictory, or contains incorrect information, mark it as incorrect +8. If the agent did not provide a clear final answer, mark it as incorrect + +**Output Format**: You MUST respond with a valid JSON object in the following format (no additional text): + +{{ + "extracted_answer": "The exact answer extracted from the agent's response, or null if no answer was provided", + "ground_truth": "{correct_answer}", + "reasoning": "Brief explanation of why the extracted answer is correct or incorrect compared to the ground truth. If no answer was provided in the agent's response, mark it as incorrect.", + "is_correct": true or false +}} + +Respond ONLY with the JSON object, no additional text before or after.""" + + # Call judge model asynchronously with lower temperature for more consistent JSON + try: + messages = [ + { + "role": "system", + "content": "You are a precise evaluator. Always respond with valid JSON format as requested.", + }, + {"role": "user", "content": judge_prompt}, + ] + completion = await judge_model.chat.completions.create( + model=judge_model.model_path, + messages=messages, + stream=False, + temperature=0.3, # Lower temperature for more consistent JSON output + ) + judge_output = completion.choices[0].message.content + + self.logger.info( + f"[judge_result] Question:\n{question}\n\n" + f"[judge_result] Response:\n{final_answer}\n\n" + f"[judge_result] Ground truth:\n{correct_answer}\n\n" + f"[judge_result] Judge output:\n{judge_output}" + ) + + # Parse judge response using JSON parser + judge_result = self._parse_judge_response(judge_output) + + if judge_result.get("parse_error"): + self.logger.warning( + f"Could not parse judge response. Treating as incorrect. " + f"Parse error: {judge_result.get('reasoning')}" + ) + return False + + return judge_result.get("is_correct", False) + + except Exception as e: + self.logger.error(f"Error in judge_result: {e}") + return False + + async def run_async(self): + """Run the agent asynchronously to generate experiences. + + Returns: + List of Experience objects for RL training + """ + # Initialize searcher and tool handler + self._init_searcher() + + # Prepare initial messages with user prompt + user_prompt = self._get_user_prompt(self.task_desc) + messages = [ + { + "role": "system", + "content": "You are a helpful search assistant. Use the available search tools to find relevant information and provide comprehensive answers.", + }, + {"role": "user", "content": user_prompt}, + ] + + # Run conversation with tools + status, all_messages, normalized_results = await self._run_conversation_with_tools( + messages, + temperature=self.task.rollout_args.temperature, + top_p=getattr(self.task.rollout_args, "top_p", 0.8), + ) + + self.logger.info(f"Conversation status: {status}") + + # Calculate reward using judge model + reward = 0 + try: + judge_model = self.auxiliary_models[0] if self.auxiliary_models else None + if judge_model is None: + self.logger.warning( + "No judge model provided. Using reward=0. " + "Please provide a judge model in auxiliary_models." + ) + else: + is_correct = await self.judge_result( + normalized_results, self.task_desc, self.truth, judge_model + ) + reward = 1 if is_correct else 0 + except Exception as e: + self.logger.error(f"Error in judge_model judging: {e}") + reward = 0 + + self.logger.info(f"Task result - Reward: {reward}") + + # Extract experiences from model history + experiences = self.model.extract_experience_from_history(clear_history=True) + return_experiences = [] + + self.logger.debug(f"Experiences extracted: {len(experiences)}") + + # Count tool calls for metrics + tool_call_counts = {} + for result in normalized_results: + if result.get("type") == "tool_call": + tool_name = result.get("tool_name", "unknown") + tool_call_counts[tool_name] = tool_call_counts.get(tool_name, 0) + 1 + + # Process and filter experiences + for i, experience in enumerate(experiences): + experience.eid.step = i + experience.reward = reward + + # Add agent-specific metrics (only numeric values that can be averaged) + agent_metrics = { + "conversation_turns": len(all_messages), + "total_tool_calls": sum(tool_call_counts.values()), + "search_calls": tool_call_counts.get("search", 0), + "get_document_calls": tool_call_counts.get("get_document", 0), + "accuracy": reward, + } + + if experience.metrics is None: + experience.metrics = {} + experience.metrics.update(agent_metrics) + + # Filter out experiences that are too long + if len(experience.tokens) > self.max_model_tokens: + self.logger.debug( + f"Skipping experience {i} due to length: " + f"{len(experience.tokens)} > {self.max_model_tokens}" + ) + continue + + return_experiences.append(experience) + + if return_experiences: + self.logger.info( + f"Returning {len(return_experiences)} experiences, " + f"run_id: {str(return_experiences[-1].eid.run)}, " + f"final reward: {return_experiences[-1].reward}" + ) + else: + self.logger.warning("No valid experiences to return (all filtered out).") + + return return_experiences From 634014e4619173399c05fea75a9c7becf6ee6d40 Mon Sep 17 00:00:00 2001 From: garyzhang99 <46197280+garyzhang99@users.noreply.github.com> Date: Thu, 13 Nov 2025 17:26:46 +0800 Subject: [PATCH 2/4] Update examples/browse_comp_plus/README.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- examples/browse_comp_plus/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/browse_comp_plus/README.md b/examples/browse_comp_plus/README.md index f0989a0c11..c4cbf92507 100644 --- a/examples/browse_comp_plus/README.md +++ b/examples/browse_comp_plus/README.md @@ -121,7 +121,7 @@ The `workflow_args` section controls the agent's behavior: ## Results -From the below curve you can see that the agent learns for leverage more search calls to gain more accurate answers. +From the below curve you can see that the agent learns to leverage more search calls to gain more accurate answers. Reward curve: From 92f5f1dc962108c35c497051a7e4bbf905dd0991 Mon Sep 17 00:00:00 2001 From: garyzhang99 <46197280+garyzhang99@users.noreply.github.com> Date: Thu, 13 Nov 2025 17:26:56 +0800 Subject: [PATCH 3/4] Update examples/browse_comp_plus/get_browse_comp_data_for_trinity.py Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- examples/browse_comp_plus/get_browse_comp_data_for_trinity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py b/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py index dd2ab531bd..62301b983d 100644 --- a/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py +++ b/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py @@ -7,7 +7,7 @@ expected by Trinity-RFT for RL training and evaluation. Usage: - python get_browser_comp_data_for_trinity.py --input path/to/browsecomp_plus_decrypted.jsonl --output_dir data/trinity_format + python get_browse_comp_data_for_trinity.py --input path/to/browsecomp_plus_decrypted.jsonl --output_dir data/trinity_format Environment Variables: BROWSECOMP_PATH: Path to BrowseComp-Plus directory (optional if --browsecomp_path is provided) From f7fe5ebb3dff9cbad75891b4826d188aa5777a94 Mon Sep 17 00:00:00 2001 From: garyzhang99 <46197280+garyzhang99@users.noreply.github.com> Date: Thu, 13 Nov 2025 17:27:13 +0800 Subject: [PATCH 4/4] Update examples/browse_comp_plus/get_browse_comp_data_for_trinity.py Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- examples/browse_comp_plus/get_browse_comp_data_for_trinity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py b/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py index 62301b983d..898a99072c 100644 --- a/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py +++ b/examples/browse_comp_plus/get_browse_comp_data_for_trinity.py @@ -176,7 +176,7 @@ def main(): print(f"1. Set environment variable: export TRINITY_TASKSET_PATH={output_dir.absolute()}") print("2. Make sure BROWSECOMP_PATH environment variable is set") print( - "3. Run training with: python -m trinity.train --config examples/browse_comp_plus/bcp_config.yaml" + "3. Run training with: trinity run --config examples/browse_comp_plus/bcp_config.yaml" )