---
title: PrimerSearcher-SFT-30B-A3B
canonical_url: "https://www.modelscope.cn/models/YuhangJu/PrimerSearcher-SFT-30B-A3B"
md_url: "https://www.modelscope.cn/models/YuhangJu/PrimerSearcher-SFT-30B-A3B.md"
repository: YuhangJu/PrimerSearcher-SFT-30B-A3B
chinese_name: PrimerSearcher-SFT-30B-A3B
last_updated: 2026-10-12
license: "Apache License 2.0"
pipeline_tag: text-generation
tasks:
  - text-generation
base_model:
  - Qwen/Qwen3-30B-A3B-Thinking-2507
base_model_relation: finetune
library_name:
  - pytorch
frameworks:
  - PyTorch
language:
  - en
downloads: 2
stars: 0
tags:
  - "Deep Search"
---

# PrimerSearcher-SFT-30B-A3B

> PrimerSearcher-SFT-30B-A3B - YuhangJu 在 ModelScope 开源的模型。基于PrimerSearcher-SFT-Data数据（10K 条长轨迹数据），在 128K 上下文窗口下，对Qwen3-30B-A3B-Thinking-2507模型的Attention 模块进行SFT高效微调

YuhangJu/PrimerSearcher-SFT-30B-A3B 是 ModelScope 魔搭社区上的text-generation模型，采用 Apache License 2.0 许可，基于 Qwen/Qwen3-30B-A3B-Thinking-2507 构建。

- **Repository**: YuhangJu/PrimerSearcher-SFT-30B-A3B
- **License**: Apache License 2.0
- **Tasks**: text-generation
- **Base model**: Qwen/Qwen3-30B-A3B-Thinking-2507
- **Tags**: Deep Search
- **Downloads**: 2
- **Stars**: 0
- **Last updated**: 2026-10-12

Source: https://www.modelscope.cn/models/YuhangJu/PrimerSearcher-SFT-30B-A3B

---

# 1、模型介绍
复杂的多跳问题通常无法通过一次检索得到可靠答案。一个有效的深度检索 Agent 需要在多轮交互中理解问题、调用检索工具、阅读网页证据，并依据工具观察结果持续调整下一步行动。

PrimerSearcher 面向这类复杂问题构建自主深度检索 Agent。项目以高质量长轨迹数据为基础，对 Qwen3-30B-A3B-Thinking-2507 进行后训练，将 ReAct 式的思考、搜索、网页访问与证据利用行为从外部工作流进一步内化到模型参数中，使模型能够完成更长程、更连贯的工具使用与证据驱动推理。

在 2026 天池 Data+AI 自建评测集上，基础 Qwen3-30B-A3B-Thinking-2507 模型的正确率为 28.0%；经过 SFT 微调后提升至 42.0%，再经 RL 微调后达到 53.0%。模型在复杂问题中可维持的自主检索轨迹也显著延长：平均工具调用轮次由 2.33 增至 52.4，最大轮次由 4 提升至 150。

# 2、模型文件
SFT训练过程中的280、380、400、440检查点，训练方式为lora高效微调，文件保存在zip压缩包内

# 3、部署模型
下载Qwen3-30B-A3B-Thinking-2507模型，选择对应的检查点，执行以下vllm部署脚本

```bash
#!/bin/bash

MODEL_PATH="/root/autodl-tmp/modelscope_cache/Qwen/Qwen3-8B"
LORA_PATH="/root/autodl-tmp/output/qqr/exp2-ck60"
LOG_FILE="/root/vllm_serve.log"
PORT=6006

# # LoRA 动态热切换配置
MAX_LORAS=4       # GPU 上同时常驻的 LoRA adapter 数量
MAX_CPU_LORAS=8   # CPU 侧缓存的 LoRA 数量(卸载后可快速热加载)

export CUDA_DEVICE_ORDER=PCI_BUS_ID
# 允许运行时通过 /v1/load_lora_adapter 与 /v1/unload_lora_adapter 动态切换 LoRA。
# 启动时预加载 my_lora=<LORA_PATH>,之后可用同名 unload+load 热切换到其他 checkpoint,
# agent 端 AGENT_MODEL=my_lora 无需改动、无需重启。
export VLLM_ALLOW_RUNTIME_LORA_UPDATING=True

echo "Starting vLLM server..."
echo "Model: ${MODEL_PATH}"
echo "LoRA: ${LORA_PATH} (name=my_lora, 支持运行时热切换)"
echo "max-loras: ${MAX_LORAS}, max-cpu-loras: ${MAX_CPU_LORAS}"
echo "Log: ${LOG_FILE}"
echo "Port: ${PORT}"

nohup vllm serve "${MODEL_PATH}" \
    --tensor-parallel-size 2 \
    --dtype bfloat16 \
    --max-model-len 32768 \
    --trust-remote-code \
    --enable-lora \
    --lora-modules "my_lora=${LORA_PATH}" \
    --max-lora-rank 16 \
    --max-loras ${MAX_LORAS} \
    --max-cpu-loras ${MAX_CPU_LORAS} \
    --reasoning-parser qwen3 \
    --enable-auto-tool-choice \
    --tool-call-parser hermes  \
    --host 0.0.0.0 \
    --port ${PORT} \
    > "${LOG_FILE}" 2>&1 &

echo "vLLM server started in background, PID: $!"
echo "Tail log: tail -f ${LOG_FILE}"
echo "切换 LoRA(同名热切换): unload my_lora 后再 load my_lora=<新ckpt路径>,agent 无需重启"


#   --port "${PORT}" \
#   > "${LOG_FILE}" 2>&1 &

# echo "vLLM server started in background, PID: $!"
# echo "Tail log: tail -f ${LOG_FILE}"
```
