Downloads · 30 days
16
46% of all-time downloads
kuailexuexi/SESA-8B-search
SESA-8B-search is a machine learning model from kuailexuexi. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as apache-2.0.
<p align="center" <img src="framework.png" alt="SESA framework overview" width="100%" </p
Downloads · 30 days
16
46% of all-time downloads
All-time downloads
35
Public
Parameters
8.2B
16.4 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors16.4 GB · 100%
From the Hugging Face model README
SESA-8B is a search-augmented reasoning agent built on Qwen3-8B and trained with a self-play reinforcement-learning framework. A Proposer and a Solver co-evolve: the Proposer invents hard multi-hop search questions, the Solver answers them with tool calls, and the Solver's own failures are distilled into reusable skills that make the agent progressively stronger at multi-hop retrieval and reasoning.
SESA trains a search agent without a fixed, human-curated question set. Two roles improve one another in a closed loop:
The loop is virtuous: failures become skills → the Solver improves → the Proposer must pose harder questions, driving continual self-improvement.
Semantic-correctness (LLM-as-judge) accuracy on seven single-hop and multi-hop QA benchmarks (500 samples each; Bamboogle 125):
| Model | NQ | TriviaQA | PopQA | HotpotQA | 2Wiki | MuSiQue | Bamboogle | Avg |
|---|---|---|---|---|---|---|---|---|
| Qwen3-8B (base) | 53.6 | 76.0 | 50.8 | 54.2 | 48.0 | 26.6 | 58.4 | 52.5 |
| SESA-8B | 62.2 | 82.8 | 57.0 | 64.0 | 54.6 | 32.6 | 63.2 | 59.5 |
SESA-8B improves the average by +7.0 points over the Qwen3-8B base, with the largest gains on multi-hop sets (HotpotQA +9.8, 2Wiki +6.6, MuSiQue +6.0).
Evaluation uses a search tool over a local dense retriever (Wikipedia-style corpus). Absolute numbers depend on the retrieval backend and judge model.
The model uses a multi-turn tool-calling format with a search tool. To reproduce the agentic setup, pair it with a retrieval service (see the project repository). For plain inference:
from modelscope import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "fzh463626021/SESA-8B-search"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, device_map="auto")
messages = [{"role": "user", "content": "Give me a short introduction to large language model."}]
inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
outputs = model.generate(inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0][inputs.shape[1]:], skip_special_tokens=True))
For the full search-agent pipeline (retrieval server, tool config, multi-turn rollout), see the project code.
@misc{fu2026selfplaymeetsskillevolution,
title={Self-Play Meets Skill Evolution: Self-Evolving Search Agents that Pose, Solve, and Remember},
author={Zenghuang Fu and Zhaoyang Li and Qiuyuan Ai and Haoyu Wu and Minghui Wu and Chenxu Zhao and Ante Wang and Guannan He and Changwei Wang},
year={2026},
eprint={2607.29468},
archivePrefix={arXiv},
primaryClass={cs.AI},
url={https://arxiv.org/abs/2607.29468},
}
Released under the Apache 2.0 license, consistent with the Qwen3-8B base model.