Continue と Ollama を接続するメモ

はじめに

前回の記事で Ollama を導入し Local LLM で遊べるようになりました。 今回は Local LLM を使用したコーディング支援を受けれる環境を作ってみます。

1. VS Code の設定

新しく購入した PC は VS Code すら入っていなかったので公式サイトからインストールしておきます。

https://code.visualstudio.com

起動したら以下の拡張機能を追加します。

2. Continue の設定

Continue の初期設定を行うため、拡張機能に追加された Continue のアイコンを選択します。 表示されている「Or, configure your own models」をクリックします。

Local を選択すると、WSL2 で動作している Ollama を認識できていることが確認できます。

この画面でターミナルのアイコンをクリックすれば、インストールコマンドがターミナルに貼り付けられるので必要な人は実行していきましょう。

今回は事前にダウンロードしておいたモデルを使いたいので「Skip and configure manually.」をクリックします。

config.yaml が開くのでモデルに合わせて記述を変更します。

name: Local Agent
version: 1.0.0
schema: v1
models:
  - name: Llama 3.1 8B
    provider: ollama
    model: llama3.1:8b-instruct
    roles:
      - chat
      - edit
      - apply

  - name: Qwen2.5-Coder 7B
    provider: ollama
    model: qwen2.5-coder:7b
    roles:
      - chat
      - edit
      - apply

  - name: Qwen2.5-Coder 1.5B
    provider: ollama
    model: qwen2.5-coder:1.5b
    roles:
      - autocomplete

  - name: CodeGemma 2B
    provider: ollama
    model: codegemma:2b
    roles:
      - autocomplete

  - name: Nomic Embed
    provider: ollama
    model: nomic-embed-text:latest
    roles:
      - embed

3. Continue を使用してみる

continue_tutorial.py が開かれているのでコードを選択してみます。

Chat と Edit のショートカットが表示されるので、チュートリアルに従ってまずは Chat をしてみます。

  • 日本語訳)これは「Continue」というAI搭載コーディングアシスタントのチュートリアルコードです。このコードには、オートコンプリート編集チャットエージェントという4つの機能のサンプルと解説が含まれています。 ご提示いただいた具体的なコードスニペットは次のとおりです。 これは、入力リストxを昇順に並び替えるシンプルなソートアルゴリズムです。隣接する要素が順序を乱している場合に繰り返し交換するバブルソートアルゴリズムを使用します。 仕組みは以下の通りです。 この関数はリスト x を入力として受け取ります。 外側のループはリストの各要素を順に処理します。 内側のループは隣接する要素のペアを比較し、順序が間違っていれば交換(スワップ)します。 この処理は、これ以上交換が必要なくなるまで繰り返され、リストがソートされたことを示します。 全体として、このコードはPythonを使ってソートアルゴリズムを実装する方法の基本的な例を提供しています。

これくらいのコードならサクサク説明してくれてます。 日本語でも質問してましたが、情報量が全然違うので英語で対話するのが良さそうです。(もしくは日本語の精度が高いモデルを使いましょう)

次は Edit を試してみます。 こちらもチュートリアルに従い「make this more readable」と依頼すると以下のようにエディタ上で差分が表示されました。

Model は llama3.1:8b を使用していますが、数十秒程度で応答するため普段の開発でも使えそうです。

さいごに

今回は Continue と Ollama を接続し、ローカル LLM を使ったコーディング支援環境を構築しました。

Continue を使うことでコードの説明や編集がエディタ上で完結するため、Chat GPT などにいちいちコピペする手間が省けて非常に便利です。 また、ローカル LLM なので機密情報を含むコードも安心して扱えるため、業務での利用も可能です。 特に、コーディング支援 AI を業務で使えない環境にいる方にとっては、かなりおすすめの選択肢と言えるでしょう。

ただし、ローカル環境で動作するためマシンスペックに依存しますし、普段使っている Chat GPT などと比べると精度や応答速度は劣ります。

過度な期待は禁物ですが、用途に合わせて使い分けることで十分に実用的なツールになりそうです。

投稿者プロフィール

HirayamaMotoki

関連記事

  1. 【Node.js】バージョン管理をVoltaに移行する

  2. WSL周りの環境構築メモ

  3. 【Node.js】環境構築メモ

  4. Ollama の環境構築メモ

  5. 【React×TypeScript】環境構築メモ

  6. 【Kotlin×Ktor】環境構築+静的Webサイト作成【構築編】

最近の記事

  1. AWS
  2. AWS

制作実績一覧

  1. Checkeys