Cline(Roo code)をOllamaで動かすのに良いモデルはあるか調査

Clineを動かすのであればどのモデルがいいか、ざっくり確認していこうと思います。

これは色々実験していてわかったことですが、Clineを動かすのにはどんなモデルでもOKというわけではないようです。モデルの選択をミスると、無限loopしてタスクが終わらないという状況になるようです。以下参考にしました。

 

https://github.com/cline/cline/discussions/241

 

ちなみに、今回も例のごとくvast.aiでホスティングしました。

注意しないといけないのが、ClineもRoo codeもローカルでホスティングしているOllama以外だと現状エラーが出てしまうというところです。これについては別記事で記載しましたが、私はとりあえずコードを一部修正して手元で動くようにしてます。これをForkしたものを後ほど記載する。

 

さて、レンタルしたのはRTX3090なのでVRAMも以下モデルを動かす分には十分でした。

1時間あたり0.219ドルなので、33円くらいですかね。これでClineサクサク動くのであれば十分安い気がします。

ちなみに、お値段の概算はこんな感じです。
かなり余談ですが、$/dayは24時間計算です。推論での利用だとclineで使っても一日8時間くらいじゃないかな?僕の場合だと休みの日に2時間稼働、休憩のためインスタンス停止、また2~3時間稼働くらいで終わりだと思う。そうなると圧倒的に買うより安い。電気代も考えなくていいし。

というわけで使いたくなったら以下からお願いします。

https://cloud.vast.ai/?ref_id=200495

 

さて、以下モデルであればCline,Roo code両方で動くと思います。

https://ollama.com/acidtib/qwen2.5-coder-cline

https://ollama.com/library/codegemma

https://ollama.com/hhao/qwen2.5-coder-tools

 

ollama pullしてlistしたやつ

 

それぞれのモデルに対して以下を要求します。

あと、最初日本語でやってましたが、一旦英語でタスク投げます。英語でも厳しいことがわかりますが、日本語だともっと厳しい。コードのタスクは基本英語でやった方が精度があるのか。パラメータ数が少ないからかもしれない。

codegemma:latestで確認

 

かなり軽快に動くものの、途中でエラー止まり。

 

 

acidtib/qwen2.5-coder-cline:7bで確認

 

かなり軽快に動いてちゃんとタスク達成された。

 

hhao/qwen2.5-coder-toolsで確認

いい感じのとこまでいったけど、結局エラーでそれ以上進めれない。

 

途中でタスク止まっちゃう問題の回避策のあたり

https://github.com/cline/cline/discussions/241
ここにヒントがある、けどまだ検証してない。

何が起きているのか?

• num_ctx(コンテキスト長)がデフォルトで32768トークンになっている。

• しかし、Clineで使うプロンプトがこれを超える長さになっている。

• その結果、モデルが一部の情報を読めず、期待通りの動作をしない。

Modelfileを作成して対応するっぽい。

FROM qwen2.5:14b
PARAMETER num_ctx 65536

重要なポイント

「ollama create」はモデルの学習ではなく、設定変更のみ

→ GPUが貧弱でもOK。時間もそれほどかからないっぽい。

適切なnum_ctxを指定しないと、長いプロンプトが切れる

→ つまり、Cline側での挙動が不安定になる。

ローカル環境で簡単に設定変更可能

→ 再学習のような負荷の高い処理ではなく、単なる設定の適用。

要するに、「モデルが悪い」のではなく、「設定が足りない」だけの話ですね。

適切にパラメータを調整すれば、Cline上でも問題なく動作するはず?これは要検証。

まとめ

今回のタスクでいうとacidtib/qwen2.5-coder-cline:7bが一番良さそうだった。