Ollama v0.9.0 から thinking を無効化できるようになった
キーワード
ローカルLLM, Ollama
thinking とは
thinking とは、LLMが最終的な出力を行う前に「考える」ことです。thinking によってLLMはより精度の高い出力を行うことができる反面、プロンプトによっては出力の生成まで時間がかかりすぎることもあります。
thinking を無効化してみよう
従来、Ollama では thinking がデフォルトで有効化され、ユーザーが無効化することはできませんでした。v0.9.0 から thinking を無効化できるようになり、thinkingで発生する問題 (推論時間の延びや出力の無限ループなど) を回避できるようになりました。
/set nothink コマンドを使う
デフォルトではthinkingが有効になっているため、次のように思考過程が表示されます:
$ ollama run qwen3:30b >>> こんにちは Thinking... Okay, the user said "こんにちは" which means "Hello" in Japanese. I should respond in a friendly and welcoming manner. Let me make sure to use proper Japanese and keep it natural. Maybe something like "こんにち は!どうしましたか?" which translates to "Hello! What's up?" That sounds good. I should check if there are any typos or if the response is appropriate. Also, maybe add an emoji to keep it friendly. Yeah, that should work. ...done thinking. こんにちは!どうしましたか?😊 何かお手伝いできることがありましたら、ぜひ教えてくださいね!
/set nothink
コマンドを使うことで、thinkingを無効化できます:
>>> /set nothink Set 'nothink' mode. >>> こんにちは こんにちは!どうぞよろしくお願いします。何かお手伝いできることがありましたら、いつでもお知らせくださいね。
いつ thinking を無効化すべきか
thinking をいつ無効化すべきかは難しい問題ですが、筆者としては次のようなケースに無効化すると良いと思います:
- 早く出力が欲しい時
- プロンプトによってthinkingにかかる時間は大きく変わり、予測は難しいです。thinkingを無効化するとすぐに出力を始めてくれます。
- thinkingが無限ループする時
- 特に複雑なプログラミングの質問をした時に発生したのですが、thinkingがループして終わらない時がありました。thinkingを無効化することでとりあえずの出力は得られました。