Instructions to use spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B") model = AutoModelForCausalLM.from_pretrained("spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B", device_map="auto") 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]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B
- SGLang
How to use spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B with Docker Model Runner:
docker model run hf.co/spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B
metadata
base_model:
- deepseek-ai/DeepSeek-R1-Distill-Qwen-7B
license: apache-2.0
pipeline_tag: text-generation
library_name: transformers
Spiral-DeepSeek-R1-Distill-Qwen-7B
Links
- 📜 Paper
- 💻 GitHub
- 🤗 Spiral Collection
Introduction
This model is trained with self-play on multi-games (TicTacToe, Kuhn Poker, Simple Negotiation) using the SPIRAL framework.
Usage
This model can be easily loaded and used with the transformers library.
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "spiral-rl/Spiral-DeepSeek-R1-Distill-Qwen-7B"
# Load model and tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16, # or torch.float16 for GPUs that don't support bfloat16
device_map="auto"
)
# Create a text generation pipeline
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
max_new_tokens=50,
do_sample=True,
temperature=0.7,
top_k=50,
top_p=0.95
)
# Define a chat message
messages = [
{"role": "user", "content": "What is the capital of France?"}
]
# Generate text
output = pipe(messages)
print(output[0]['generated_text'])
For more advanced usage, including training and evaluation with the SPIRAL framework, please refer to the GitHub repository.
Citation
@article{liu2025spiral,
title={SPIRAL: Self-Play on Zero-Sum Games Incentivizes Reasoning via Multi-Agent Multi-Turn Reinforcement Learning},
author={Liu, Bo and Guertler, Leon and Yu, Simon and Liu, Zichen and Qi, Penghui and Balcells, Daniel and Liu, Mickel and Tan, Cheston and Shi, Weiyan and Lin, Min and Lee, Wee Sun and Jaques, Natasha},
journal={arXiv preprint arXiv:2506.24119},
year={2025},
url={https://arxiv.org/abs/2506.24119}
}