はじめに
サイバーエージェントが「DeepSeek-R1-Distill-Qwen-14B-Japanese」を公開しています。huggingface.co
今回はLightblueの「DeepSeek-R1-Distill-Qwen-7B-Japanese」を使ってみます。
huggingface.co
結果
プロンプト
ある父と子の年齢に関する問題があります。条件は次の通りです: 父の現在の年齢は息子の現在の年齢の3倍です。 6年前、父の年齢は息子の年齢の5倍でした。 父と息子の年齢を求めてください。
「DeepSeek-R1-Distill-Qwen-7B-Japanese」の回答
ちょいちょい中国語と思われる漢字が出力されます。<think> まず、父と子の年齢に関する方程式を建立します。 1. 父の年齢を、子の年齢を
とします。 2. 父の年齢は子の年齢の3倍なので、方程式は
となります。 3. 6年前、父の年齢は子の年齢の5倍でした。6年前の年齢は
と
です。方程式は
となります。 4. 方程式を解きます。 - 先に
を代入します。 -
- 展開して
- 方程式を整理して
- 解得
5. 子の年齢が
岁の場合、父の年齢
岁です。 6. 最終的な答えは父が36歳、子が12歳です。 </think> 解答: 父と子の年齢に関する方程式を建立し、解を求めます。 1. 年齢の関係を表す方程式を設定します。 - 父の年齢を
、子の年齢を
とします。 - 父の年齢は子の年齢の3倍なので、方程式は:
- 6年前、父の年齢は子の年齢の5倍でした。6年前の年齢は \( F - 6 \) と \( S - 6 \) です。方程式は:
2. 方程式を解きます。 - 先に
を代入します。
- 展開して方程式を整理します。
![]()
- 解得:
- 代入
:
3. 最終的な答え: - 父の年齢:
岁 - 子の年齢:
岁 最終的な答え:
![]()
方法
今回はvLLMを使いました。vLLMはLinuxでしか動かせないのでサーバー側はWSL2を使っています。vllm serve lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese --cpu-offload-gb 12
クライアント側はWindowsのPythonを使っています。
from openai import OpenAI openai_api_key = "EMPTY" openai_api_base = "http://172.21.29.1:8000/v1" client = OpenAI( api_key=openai_api_key, base_url=openai_api_base, ) prompt = '''ある父と子の年齢に関する問題があります。条件は次の通りです: 父の現在の年齢は息子の現在の年齢の3倍です。 6年前、父の年齢は息子の年齢の5倍でした。 父と息子の年齢を求めてください。''' stream = client.chat.completions.create( model="lightblue/DeepSeek-R1-Distill-Qwen-7B-Japanese", messages=[ {"role": "user", "content": prompt}, ], temperature=0.5, max_tokens=8000, #frequency_penalty=1.1, stream=True ) for chunk in stream: print(chunk.choices[0].delta.content or "", end="")
補足
WSL2のIP Addressを知るのは以下のコマンドです。ip addr show