---
library_name: transformers
license: mit
datasets:
- HuggingFaceH4/Bespoke-Stratos-17k
- AI-MO/NuminaMath-TIR
language:
- en
- ja
base_model:
- microsoft/phi-4
---

![image/png](https://cdn-uploads.huggingface.co/production/uploads/657e900beaad53ff67ba84db/laV1mnj8n5hX8EmeumjRk.png)

# AXCXEPT/phi-4-open-R1-Distill-EZOv1

<!-- Provide a quick summary of what the model is/does. -->

## Model Details
This model is a Reasoner version of the phi-4 model by employing open-r1, which mimics the Distill methodology of Deepseek-R1. In particular, since it is specialized for Japanese, answers will be given in Japanese in principle.
It can be made more flexible by interweaving English.

Deepseek-R1のDistill手法を模倣した、open-r1を採用して、phi-4モデルを Reasonerにしたモデルです。特に日本語に特化させているため、原則日本語で回答します。
英語を織り交ぜることでより柔軟にすることが可能です。

## Example Output
```
<thinking>
まず、問題文を整理します。父親の現在の年齢は息子の3倍であり、6年前の父親の年齢は息子の5倍でした。これを数式で表現すると：

1. 現在の年齢関係：父親の年齢 = 3 × 息子の年齢 → F = 3S
2. 6年前の年齢関係：父親の年齢 - 6 = 5 × (息子の年齢 - 6) → F - 6 = 5(S - 6)

これらの2つの方程式を同時に解きます。まず第1式からF = 3Sを代入すると：

3S - 6 = 5(S - 6)
3S - 6 = 5S - 30
30 - 6 = 5S - 3S
24 = 2S
S = 12

息子の年齢が12歳であることが分かります。これを第1式に代入すると：

F = 3 × 12 = 36

父親の年齢は36歳です。最後に条件を確認します：
- 現在の年齢関係：36 = 3×12 → 成立
- 6年前の年齢関係：36-6=30 vs 12-6=6 → 30=5×6 → 成立

両方の条件が満たされているため、解は正しいと言えます。
</thinking>

<answer>
父親の年齢は36歳、息子の年齢は12歳です。

根拠：
1. 現在の年齢関係：36 = 3×12（成立）
2. 6年前の年齢関係：30 = 5×6（成立）
3. 両方の条件を満たす唯一の解
</answer>
```

--------------------------------------
## HOW TO USE
-------------------
### Setup
```
pip install --upgrade transformers accelerate datasets trl
```
-------------------
### Predict(using AutoModelForCausalLM)
```python

from transformers import AutoModelForCausalLM, AutoTokenizer



model_name = "AXCXEPT/phi-4-open-R1-Distill-EZOv1"

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)

prompt = f"""
ある父と子の年齢に関する問題があります。条件は次の通りです：

父の現在の年齢は息子の現在の年齢の3倍です。
6年前、父の年齢は息子の年齢の5倍でした。
父と息子の年齢を求めてください。
"""
messages = [
    {"role": "system", "content": "You are an excellent AI."},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=2048
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

print(response)
```
-------------------
### Predict(using vllm)
#### Setup
```
pip install vllm 
vllm serve AXCXEPT/phi-4-open-R1-Distill-EZOv1
```
#### Predict
```
from openai import OpenAI
client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="token-abc123",
)

prompt = f"""
There is a question concerning the age of a father and his child. The conditions are as follows

The father's current age is 3 times the son's current age.
Six years ago, the father's age was five times the son's age.
Find the ages of the father and the son.
"""
completion = client.chat.completions.create(
  model="AXCXEPT/EZO-phi-4-openr1-v1_917",
  messages=[
    {"role": "system", "content": "You are an excellent AI. Please answer carefully and thoughtfully, in the same language as the instructions."}
    {"role": "user", "content": prompt}
  ]
)

print(completion.choices[0].message.content)
```


### Special Thanks
Phi-4 develop team, open-r1 team developer, deepseek team, thanks for your special technology and knowledge.