Text Generation
Transformers
Safetensors
qwen2
code
software-engineering
agent
conversational
text-generation-inference
How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="TIGER-Lab/FIM-14B")
messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe(messages)
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("TIGER-Lab/FIM-14B")
model = AutoModelForCausalLM.from_pretrained("TIGER-Lab/FIM-14B")
messages = [
    {"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.apply_chat_template(
	messages,
	add_generation_prompt=True,
	tokenize=True,
	return_dict=True,
	return_tensors="pt",
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=40)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

FIM-14B

📄 Paper · 💻 GitHub · 🤗 Dataset · 🤗 Collection

FIM-14B is the 14B coding-agent model of "Function-Aware Fill-in-the-Middle as Mid-Training for Coding Agent Foundation Models": Qwen2.5-Coder-14B-Instruct, mid-trained on function-aware FIM data, then post-trained on R2E-Gym agent trajectories with the upstream recipe unmodified. The mid-training stage is the only difference from a standard R2E-Gym reproduction — worth +3.0 points on SWE-Bench-Verified and +4.0 on SWE-Bench-Lite, while also recovering most of the general-capability erosion that agentic post-training inflicts (LiveCodeBench +11.1, τ-bench +3.9, BFCL +2.4 over the post-training-only arm).

Training pipeline

Results

Means over three evaluation seeds, identical harness for both arms (paper Tables 1–2):

Setting SWE-Bench-Verified SWE-Bench-Lite
Qwen2.5-Coder-14B-Instruct + R2E-Gym (reproduced) 26.20 18.00
FIM-14B (+ FIM mid-training) 29.20 22.00
Δ +3.00 +4.00

Capability preservation at 14B (six benchmarks outside SWE-Bench):

Setting LiveCode OJBench FSB-EN Terminal τ-bench BFCL Avg
+ R2E-Gym only 24.10 2.80 47.72 2.41 3.40 15.80 16.04
FIM-14B 35.20 4.74 48.25 3.66 7.30 18.20 19.56

Reproduction guides for all six: evaluation/.

Evaluate on SWE-Bench Verified

FIM-14B is evaluated with the R2E-Gym agent scaffold (fixed by its post-training pipeline). The complete pinned walkthrough lives at evaluation/swebench/released_checkpoints.md.

1. Serve the model with vLLM

CUDA_VISIBLE_DEVICES=0 \
VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 \
python -m vllm.entrypoints.openai.api_server \
  --model TIGER-Lab/FIM-14B \
  --served-model-name FIM-14B \
  --host 127.0.0.1 \
  --port 8400 \
  --tensor-parallel-size 1 \
  --max-model-len 65536 \
  --hf-overrides '{"max_position_embeddings": 65536}' \
  --enable-prefix-caching \
  --gpu-memory-utilization 0.9 \
  > vllm_fim14b.log 2>&1 &

Wait until the server is up (model load takes ~1 minute):

curl -s http://127.0.0.1:8400/v1/models

2. Run the agent on SWE-Bench Verified

From an upstream, unmodified R2E-Gym checkout (Docker required):

export OPENAI_API_KEY=EMPTY
export LLM_BASE_URL="http://127.0.0.1:8400/v1"

uv run python src/r2egym/agenthub/run/edit.py runagent_multiple \
  --dataset "R2E-Gym/SWE-Bench-Verified" \
  --split "test" \
  --start_idx 0 \
  --k 500 \
  --traj_dir "./traj" \
  --exp_name "FIM-14B_swebench_verified_r1" \
  --llm_name "openai/FIM-14B" \
  --scaffold "r2egym" \
  --backend "docker" \
  --use_fn_calling False \
  --temperature 0 \
  --max_steps 40 \
  --max_steps_absolute 100 \
  --max_workers 6 \
  --max_reward_calc_time 1200 \
  --max_tokens 65536 \
  --use_existing True

For SWE-Bench Lite, use --dataset "R2E-Gym/SWE-Bench-Lite" --k 300.

3. Score with the official SWE-bench harness

Convert the trajectories to a submission and score with the official harness — evaluation/swebench/score.sh. The reported number is resolved_instances / total_instances.

Citation

@article{wang2026fim,
  title={Function-Aware Fill-in-the-Middle as Mid-Training for Coding Agent Foundation Models},
  author={Wang, Yubo and Liang, Jiarong and Zhang, Yuxuan and Liu, Xuye and Wei, Cong and Zhang, Yuyu and Nie, Ping and Chen, Wenhu},
  journal={arXiv preprint arXiv:2607.12463},
  year={2026}
}
Downloads last month
-
Safetensors
Model size
841k params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for TIGER-Lab/FIM-14B

Base model

Qwen/Qwen2.5-14B
Finetuned
(116)
this model
Quantizations
1 model

Datasets used to train TIGER-Lab/FIM-14B

Collection including TIGER-Lab/FIM-14B

Paper for TIGER-Lab/FIM-14B