Downloads · 30 days
147
12% of all-time downloads
LARK-Lab/EnvFactory-8B
EnvFactory-8B is a text generation model from LARK-Lab. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
<h2 align="center" EnvFactory: Scaling Tool-Use Agents via Executable Environments Synthesis and Robust RL </h2
Downloads · 30 days
147
12% of all-time downloads
All-time downloads
1.2K
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
We propose EnvFactory, a fully automated framework that addresses the challenges of equipping LLMs with tool-use capabilities via Agentic Reinforcement Learning (Agentic RL). EnvFactory autonomously explores and verifies stateful, executable tool environments from authentic resources, and synthesizes natural multi-turn trajectories through topology-aware sampling and calibrated refinement, producing grounded queries with implicit intents.
This model is the official EnvFactory-8B trained from Qwen/Qwen3-8B using SFT and RL on synthesized tool-use trajectories.
Results on tool-use benchmarks compared to the base model:
| Model | BFCL Single Turn | BFCL Multi Turn | MCP-Atlas Pass Rate | MCP-Atlas Mean Cov. | τ²-Bench Avg. | VitaBench Avg. | Overall Avg. |
|---|---|---|---|---|---|---|---|
| Qwen3-8B (Base) | 84.31 | 41.25 | 5.15 | 14.86 | 32.30 | 16.70 | 29.23 |
| EnvFactory-8B | 86.02 | 49.00 | 13.75 | 25.98 | 33.67 | 18.67 | 33.40 |
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_path = "LARK-Lab/EnvFactory-8B"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.bfloat16, device_map="auto")
# Example tool-use conversation
messages = [
{"role": "system", "content": "You are a helpful assistant with access to various tools."},
{"role": "user", "content": "Search for recent papers about tool-use agents on arxiv."}
]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, return_tensors="pt").to(model.device)
outputs = model.generate(input_ids, max_new_tokens=1024, temperature=0.7, top_p=0.9)
response = tokenizer.decode(outputs[0][input_ids.shape[-1]:], skip_special_tokens=True)
print(response)
# Load MCP tool configuration
import json
with open("configs/mcp_server.json", "r") as f:
mcp_config = json.load(f)
# Use with your preferred MCP client
# See https://github.com/LARK-AI-Lab/EnvFactory for integration details
If you find our work helpful, please consider citing:
@misc{xu2026envfactoryscalingtooluseagents,
title={EnvFactory: Scaling Tool-Use Agents via Executable Environments Synthesis and Robust RL},
author={Minrui Xu and Zilin Wang and Mengyi DENG and Zhiwei Li and Zhicheng Yang and Xiao Zhu and Yinhong Liu and Boyu Zhu and Baiyu Huang and Chao Chen and Heyuan Deng and Fei Mi and Lifeng Shang and Xingshan Zeng and Zhijiang Guo},
year={2026},
eprint={2605.18703},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2605.18703},
}
This model is released under the Apache 2.0 License.