SearchQwen2.5-7B / README.md
zjzju's picture
Remove paper citation pending official publication
b0d47f3 verified
|
Raw
History Blame
3.47 kB
metadata
library_name: transformers
pipeline_tag: text-generation
license: apache-2.0
license_link: https://huggingface.co/Qwen/Qwen2.5-7B-Instruct/blob/main/LICENSE
language:
  - en
base_model: Qwen/Qwen2.5-7B-Instruct
base_model_relation: finetune
tags:
  - search-agent
  - tool-use
  - function-calling
  - deep-search
  - qwen

SearchQwen2.5-7B

SearchQwen2.5-7B is a compact Search Agent model from the Alibaba Cloud PAI team. It is trained with environment-aligned, solver-verified search trajectories generated by EasyDistill 2.0, and is designed for multi-hop search, browsing, and evidence integration.

SearchQwen2.5-7B 是基于 EasyDistill 2.0 环境对齐轨迹蒸馏链路训练的 Search Agent 小模型,支持结构化 search / browse 工具调用。

Model overview

Item Value
Base model Qwen/Qwen2.5-7B-Instruct
Parameters 7.62B
Context length 32,768
Recommended interface Structured Tool-Call
Training data SynSearch-Data

Results

LLM-judge accuracy (%). Multi-hop QA averages 2WikiMultiHopQA, Bamboogle, HotpotQA, and MuSiQue; Deep Search averages GAIA, WebWalkerQA, xbench-deepsearch, and BrowseComp-ZH.

Interaction Model Multi-hop QA Deep Search Overall
Search-R1 style Qwen2.5-7B-Instruct 45.28 18.65 31.96
Search-R1 style SearchQwen2.5-7B 52.95 26.23 39.59
Tool-Call Qwen2.5-7B-Instruct 45.23 24.35 33.33
Tool-Call SearchQwen2.5-7B 55.90 33.33 44.61

Quickstart

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "alibaba-pai/SearchQwen2.5-7B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto",
).eval()

messages = [
    {"role": "system", "content": "You are a search agent. Use tools before answering."},
    {"role": "user", "content": "Which city is the birthplace of the author of The Old Man and the Sea?"},
]
tools = [
    {
        "type": "function",
        "function": {
            "name": "search",
            "description": "Search the web.",
            "parameters": {
                "type": "object",
                "properties": {"query": {"type": "string"}},
                "required": ["query"],
            },
        },
    }
]

inputs = tokenizer.apply_chat_template(
    messages,
    tools=tools,
    add_generation_prompt=True,
    tokenize=True,
    return_tensors="pt",
    return_dict=True,
).to(model.device)

output = model.generate(**inputs, max_new_tokens=256, do_sample=False)
print(tokenizer.decode(output[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=False))

The model returns a structured <tool_call>; execute the tool, append its response, and continue until a final answer is produced. An external search/browse backend is required.

Related resources

License

This model follows the license included in this repository and the terms of its base model. Checksums are provided in SHA256SUMS.