ローカルLLMの利用
PCなどにLLM(大規模言語モデル)をインストールし、ネットワークを経ずにモデルを利用することができます。これをローカルLLMといいます。ローカルLLMを使うと、以下のようなメリットがあります。
- プロバイダにデータを送信しなくて良くなるので機密性が向上する
- ネット環境がない場所でも使える
- サブスクリプションの消費や課金を気にせずにつかえる
ローカルLLM自体はVS Codeとの直接の関係はありませんが、拡張機能を利用することでGPT-4oなどと同様に使うことができるため、ここで導入事例を紹介します。なお、ローカルLLMにはVS Codeの一部機能が使えないなどの制約があります。
ローカルLLMのインストール
ローカルLLMをサポートするプロバイダとして有名なのがOllamaです。Ollamaを使うと、さまざまなLLMをローカルにインストールし、利用することができます。もちろん、VS Codeからもプロバイダとして認識されるので、モデルとして追加し、利用することができます。
ローカルLLMのインストールは、Ollamaそのもののインストールと、希望するモデルのインストールの2段階で実行します。まず、Ollamaを「Download Ollama on XXX」(XXXはプラットフォーム、https://ollama.com/download)からダウンロードしてインストールしてください。
インストールするモデルは、多くの種類から選ぶことができます。一覧は「Ollama Search」から確認できますが、大量のモデルがリストされており、この中から適切なモデルを選ぶのは困難です。
そこで今回は、コーディングに関して定評のある「DeepCoder」をインストールしてみます。DeepCoderは、DeepSeekをベースとしてコーディングに適するようにファインチューニングされたモデルで、16GBのメモリで利用でき、OpenAI o3-miniに匹敵する性能があると開発元から示されています。
モデルのインストールは、ollama pullコマンドで実行できます。ダウンロードサイズは9GBと大きいので、ダウンロードには相応の時間を要します。
% ollama pull deepcoder pulling manifest pulling a814bd1f5db7: 100% ▕██████████████████▏ 9.0 GB pulling 369ca498f347: 100% ▕██████████████████▏ 387 B pulling 834c38322a81: 100% ▕██████████████████▏ 1.1 KB pulling ceaa5f78afb8: 100% ▕██████████████████▏ 33 B pulling 99307daad14c: 100% ▕██████████████████▏ 488 B verifying sha256 digest writing manifest success
DeepCoderのモデル一覧への追加
VS Codeのチャットビューにおいて、ローカルLLMを使えるようにします。プロンプトパネルのモデル選択のプルダウンから、[Manage Models...]をクリックします(図23)。
コマンドパレットにプロバイダのリストが表示されるので、「Ollama」を選択し、続けて先ほどインストールした「DeepCoder」にチェックを入れて[OK]をクリックします(図24)。
これでDeepCoderを選択できるようになりました。モデルの選択で、「その他のモデル」にDeepCoderが表示されて選択可能なのが分かります(図25)。
DeepCoderとのチャット
DeepCoderに、簡単なSQL文の内容を日本語で説明させてみます。「@workspace /explain 日本語で。」と投げてみました。かなり時間がかかりますが、最初に<think>~</think>としてDeepCoderの考え方が提示されて、次に日本語で回答が表示されます(図26)。
回答としては、他のモデルによるものと遜色なく、十分に利用できるレベルと言えます。
今回登場のショートカットキー
| 機能 | macOS | Windows |
|---|---|---|
| Agentモード | [Command]+[Shift]+[I] | [Ctrl]+[Shift]+[I] |
まとめ
今回は、前回の続きとしてVisionによるコンテキスト画像の利用、Agentモードによる開発プロセスの自動化、そしてローカルLLMの導入などを紹介しました。
次回からは、プログラミング言語やフレームワーク別の開発環境構築について、まずはPythonを紹介します。
