VSCode+continueでローカルLLM(Ollama)を連携してみた話
さてさて、前回の投稿でローカルLLMを少し触ってみまして、そうすると今度はコマンドラインじゃなく、実用的にはVSCodeと連携できるのか、というところも気になってきます。
これまではChatGPTに聞いて結果をVSCodeに貼り付けて、エラーが出たらまたChatGPTに聞いての繰り返しでしたが、調べてみるとローカルLLMと連携するにはcontinueという拡張機能が使えるようです。
そこで今回は筆者のPCスペックでVSCode+continueとローカルLLMでどの程度のパフォーマンスなのかもみていこうということで、早速やっていきます。
拡張機能にcontinueを追加
まずは環境構築ですが、VSCodeには拡張機能のcontinueを導入します。

ここで拡張機能に必要なモデルを導入するようコマンドの案内が出てきます。
そのまま下段のターミナルに打ち込まれるので順番にエンターを押していきましょう。
完了したら、continueのアイコンを右のペインにドラッグ&ドロップします。
すると以下のように、右側にチャットウインドウが表示されます。

これがローカルLLMのollamaというわけです。

ローカルLLMでコード生成開始
それでは早速、何か指示してみましょう。
まずはC言語で現在時刻を表示するプログラムを作成するよう指示します。
ちなみにこれは日本語でいけます。
すると、コードを表示してくれましたよ。
ChatGPTの速度には劣りますが、筆者体感では十分実用レベルかなと感じました。

それでは表示されたコードをVSCode側に反映します。
以下の赤丸の三角の記号をクリックすると左側のコードに反映してくれます。

はい、というわけで反映されましたね。

ではビルドして実行してみます。簡単なプログラムですので、エラーもなく表示されました。

では、少しコードの修正を指示してみましょう。
CPU使用率を出してと追加指示します。
コードが表示されたのでこれも早速反映してみます。

するとコードが反映されましたが、赤い部分と緑の部分が出てきました。
コードの上部にAcceptとRejectとありますので、修正の適用を受け入れる場合は、
それぞれにAcceptをクリックしていくという流れでコードに反映していく形ですね。

Acceptが完了しました。
includeの箇所だけAcceptをクリックしても消えませんが、他は消えました。

これでビルド、実行します。
しかしCPU使用率が0%だったので、修正指示しますが、ここでエラーが出ました。
エラーはどうやらsleepの箇所になります。赤い下線が表示されています。

エラーが出たら、エラー箇所をダブルクリックすると下記のように電気マークが出ます。
ここでさらにAsk Continue「continueに尋ねる」をクリックします。

すると、そのままcontinueのチャットウインドウにエラー状況が反映されると同時に修正指示が走ります。

まとめ
というわけで、VSCodeにcontinueを導入した場合、これまでChatGPTに聞いて、コピペしてという開発ワークフローがスムーズになることがイメージできたかと思います。
もちろん、continueを使って、ローカルLLMではなく、ChatGPTとも連携できます。
その方が速いですが、連携にはAPIキーが必要になります。
つまり有料版前提で事前にチャージが必要というわけで無料ではできません。
ある程度スペックの高めのPCをお使いであれば、この方法でローカルLLM連携で開発ワークフローに少しだけ革命が起きますね。
今回はVSCode+continueでOllamaのローカルLLMと連携してみたということで、
筆者の実践結果を紹介してみました。
コーディングが多少はスムーズになりますが、これくらいではあまり工数には影響ないかもしれませんね。とはいえ、新時代の開発ワークフローが見えてきたわけで、何かの参考になれば幸いです。