とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

Visual Studio Code 1.125で外部LLMプロバイダーがより使いやすくなった

Visual Studio Code (以降 VSCode) 1.125に「Install model providers」と言う機能が実装されました。

VSCodeのGitHub Copilot Chatには、外部モデルを追加する機能が実装されていましたが、この設定を簡単にするために「モデルプロバイダーのインストール」ボタンが追加されました。

code.visualstudio.com

次の画像で言うところの、右上のボタンがそれです。

これをクリックしたあと、独自のモデルプロバイダを提供する拡張機能を追加することで、簡単にCopilot Chatで様々な外部モデルを利用できるようになりました。

たとえば私は普段、LM StudioをローカルLLMソフトウェア(厳密にはLLMサーバー)として使っています。

例として「LM Studio for Copilot Chat」と言う名前の拡張機能を追加しました。これでLM StudioにあるモデルをGitHub Copilot Chatで利用できます。 類似する拡張機能はいくつかあるため、自分に合ったものを選択してください。

追加するとLM Studioにダウンロード済みのモデルがすべて利用可能になるので、相性が良くない(正常に動かない)モデルは非表示にしてください。

この機能はGitHub Copilotアカウントを利用することなく使える点、そしてローカルモデルを利用している間はGitHub Copilotの課金対象にはならないという点に注目したいところです。

筆者の手元環境で動作確認がとれたモデル

以下のモデルは問題なく動作しました。

  • Gemma 4 E4B QAT
  • Gemma 4 12B QAT
  • Llama 3.2 3B Instruct
  • Ministral 3 3B
  • Rnj 1
  • Qwen3.5 4B

たとえば、このように動きます。 モデルによってコードを生成してファイルとして保存してくれるものと、コード生成までしかしないものはありますが、役には立つと思います。

コンテキスト長の設定は変更が必要

これは毎度ですが、コンテキスト長の設定はデフォルト設定から変更が必要で、少なくとも16384への設定が必要でした。行う作業によって、さらに大きいコンテキスト長への修正が必要だと思います。

モデルごとに設定するのが面倒であれば、「Default Context Length」を設定しても良いでしょう。なお、設定パネルを開くと注意が書かれていますが、必要以上に設定を大きくすると大きな負荷がかかるので、注意が必要です。

モデルの複数読み込みに注意

もう一つの注意点として、この機能を使う場合、モデル切り替え毎に前のモデルがアンロードされることなく新しいモデルがロードされる点を意識する必要があります。不要なモデルはアンロードしないとメモリーが圧迫されて重くなります。

まとめ

次の方法により、GitHub Copilot Chatで外部LLMプロバイダー機能を使って、ローカルLLMを使ったコーディングが実行可能になりました。この機能はオフラインでも使えるため、SaaSのサービスを使えないシーンでも利用可能というメリットがあります。

ローカルLLMだけでコーディングをするのはまだまだ難しい面もありますが、最近モデルの進化も著しいですし、AIサブスクのクレジット消費対策の一つとして、簡単な作業をローカルLLMにオフロードする選択肢もありなのかなと考えています。