Standalone Hugging Face merged model, approximately 4.45 GB including tokenizer and configuration. No separate SFT adapter is required.
from huggingface_hub import snapshot_downloadmodel_dir = snapshot_download("Styl4/shopping-agent-rl-sft-2b")
Use the Transformers revision pinned in the code repository; the saved architecture is Qwen3_5ForConditionalGeneration. The checkpoint was saved with Transformers 5.15.0.dev0. Example loading (not a newly executed evaluation):
import torchfrom transformers import Qwen3_5ForConditionalGeneration, AutoTokenizermodel = Qwen3_5ForConditionalGeneration.from_pretrained(model_dir, dtype=torch.bfloat16)tokenizer = AutoTokenizer.from_pretrained(model_dir)
Training
Cumulative curriculum manifests: A 256/28, B 799/88, C 1073/119 train/validation tasks. Historical C preprocessing produced 1069/118 usable samples. Action-only LoRA SFT used rank 16, alpha 32, BF16, and maximum sequence length 24,576; LoRA was merged after each stage.
Evaluation scope
Results use the fixed Final200 Clean task list, greedy decoding (temperature 0, top_p 1), explicit product-detail tools, and a 35-step limit. Strict Reward v3 success requires a completed purchase, valid reward, and no infrastructure-invalid outcome. These are Reward-panel results, not completed dual-LLM-Judge scores. RL evaluation also includes a search-serialization fix, so the 4 percentage-point difference is not an isolated RL effect.
Intended use
Research on Chinese shopping policy post-training and simulated tool use in ShopSimulator. Use the task prompts, tools, and execution harness from the code repository; these weights alone do not provide a shopping application. General chat, real purchases, and multimodal performance were not evaluated in this project.
Code and license
Code, environment setup, training configuration, and evaluation protocol: Styleofm3/shopping-agent-rl.
Derived from Qwen/Qwen3.5-2B, licensed under Apache-2.0. Model weights retain Apache-2.0; the project code uses MIT. See LICENSE in this model repository.