広告枠を募集中 ご相談ください

CodeGPTとOllamaで外部APIへのコード送信をゼロにするローカルAIコーディング環境構築ガイド

365Finds Editorial
Wiki 記事 11,430 本収録

あなたの AI で 365 Wiki を使う

下のプロンプトをコピーして、普段使っている AI に貼り付け、そのまま質問してください。

完全版 Skill をダウンロード

まずはプロンプトでお試しください。よく使う場合は完全版 365Wiki Skill をインストールすると、毎回貼り付ける必要がありません。普段使う AI がなければ、Gemini や Microsoft Copilot のウェブ版でも使えます。

金融機関、ヘルスケア、防衛産業、機密性の高いエンタープライズソフトウェアの開発現場では、独自のソースコードや知的財産を外部に漏洩させないことが絶対条件です。多くの組織が「コードの外部送信禁止」や厳格なコンプライアンス監査規則を策定しており、社内リポジトリのコンテキスト、業務アルゴリズム、データベース設計をクラウド型SaaSのAIサービスに送信することを禁止しています。その一方で、日々の開発業務においてAIアシスタントがもたらす生産性向上の恩恵を放棄することは困難です。

このセキュリティと開発効率のジレンマを完全に解消する手法が、Visual Studio Code拡張機能の CodeGPT と、ローカルLLM実行ランタイムである Ollama の連携です。CodeGPTがエディタ内のチャット、リファクタリング、インライン補完(Autocomplete)のUI層を担い、Ollamaがローカルマシン上のループバックアドレス(http://localhost:11434)経由でオープンウェイトモデルの推論を実行します。すべてのトークン生成とコード解析がローカルハードウェア内で完結し、外部ネットワークへのデータ流出をゼロに抑えることができます。


アーキテクチャ比較:クラウド型AIとローカルOllama推論

クラウド型AIアシスタントとCodeGPT+Ollamaの連携構成におけるアーキテクチャの違いを理解することで、組織のセキュリティチームに対する説明責任を果たしやすくなります。

評価項目クラウド型AI(Copilot、SaaS APIなど)CodeGPT + Ollama(ローカルLLM)
データ通信経路コード断片やプロンプトをHTTPSで外部クラウドへ送信外部送信ゼロ。すべてループバック(127.0.0.1)内で完結
モデル稼働場所クラウドベンダーのマルチテナント基盤開発者ローカルPCまたは社内隔離GPUサーバー
ネットワーク依存常時インターネット接続が必須完全オフライン(エアギャップ環境)で動作可能
コンプライアンスデータ処理規約(DPA)締結や外部監査対応が必要社内規定・機密保護ポリシーに完全に適合
ハードウェア負荷ローカル端末の計算負荷は極めて軽微推論用に十分なRAM/VRAMが必要
コスト構造月額サブスクリプションまたは従量課金オープンソースモデルは無料。費用は端末スペック依存

CodeGPTの接続先をOllamaに設定すると、拡張機能はローカルのOllamaサービスに対して直接JSONリクエストを発行します。OllamaがローカルのGPU VRAMまたはシステムメモリに展開されたモデルを展開・推論し、エディタ側にストリーミングで応答を返します。この仕組みにより、物理的にコードが外部へ送信される経路が存在しません。


コーディングモデルの選定とハードウェア要件

モデルのパラメータ規模は、推論速度とコード生成の品質に直結します。開発端末のハードウェアスペックに応じて最適なモデルを選定します。

  1. Qwen2.5-Coder(7B / 14B):多言語プログラミングにおいて非常に高い精度を誇り、複雑なリファクタリングやユニットテストの生成に適しています。7B版は16 GBの統合メモリまたは8 GBのVRAMを搭載したマシンで快適に動作します。
  2. DeepSeek-Coder(6.7B / 1.3B):アルゴリズムの推論やコードベースの理解に優れ、ミドルクラスのノートPCでも安定して動作します。
  3. Codestral(22B):Mistral社が提供するコード特化型大規模モデル。長大なコンテキストに対応し、24 GB以上のVRAMを積んだワークステーションや32 GB以上の統合メモリを持つMacに最適です。
  4. Qwen2.5-Coder(1.5B / 3B):推論レイテンシが極めて低く、キーストロークに即座に応答するインラインのゴーストテキスト補完に最適です。

ステップ1:Ollamaの導入とコーディングモデルの取得

OSに応じた手順でOllamaをインストールします。

インストール後、ターミナルでOllamaの動作を確認します。

ollama --version

次に、ollama pull コマンドで対象のコードモデルをダウンロードします(このコマンドは対話モードを起動せず、重みファイルのみをローカルに取得します)。

# バランスに優れた7Bモデルを取得
ollama pull qwen2.5-coder:7b

# (推奨)インライン補完用に軽量な1.5Bモデルを取得
ollama pull qwen2.5-coder:1.5b

ダウンロードされたモデル一覧を確認します。

ollama list

ステップ2:Modelfileによるコンテキスト長の拡張とパラメータ調整

ソースコードの解析では、インポート文、型定義、周辺の関数定義など、広範なコンテキストが必要です。Ollamaのデフォルト設定では、メモリ消費を抑えるためにコンテキスト長が2,048〜4,096トークン程度に制限されている場合があります。

実用的なコーディング支援環境を整えるため、カスタム Modelfile を用いてコンテキストウィンドウを8,192または16,384トークンに拡張します。

  1. 作業ディレクトリに拡張子のない Modelfile という名前のファイルを作成します。
FROM qwen2.5-coder:7b

# コンテキストウィンドウを8192トークンに設定
PARAMETER num_ctx 8192

# 生成コードの正確性を保つため温度パラメータを低めに設定
PARAMETER temperature 0.2

# サンプリング閾値の設定
PARAMETER top_p 0.95
  1. ターミナルでカスタムモデルをビルドします。
ollama create my-local-coder -f ./Modelfile

なお、Ollamaサービス起動時に環境変数 OLLAMA_CONTEXT_LENGTH=8192 を付与する方法でもコンテキスト長を指定できます。コンテキスト長を拡大すると、KVキャッシュが消費するVRAM・RAM容量が増加する点に留意してください。


ステップ3:VS CodeでのCodeGPTの導入とローカル接続設定

  1. Visual Studio Codeを起動します。
  2. 拡張機能マーケットプレイス(Ctrl+Shift+X、macOSでは Cmd+Shift+X)を開きます。
  3. CodeGPT(識別子: DanielSanMedium.dscodegpt)を検索し、インストールをクリックします。
  4. サイドバーのCodeGPTアイコンをクリック(または Ctrl+Shift+P から CodeGPT: Focus on Chat View を実行)してパネルを展開します。
  5. パネル上部のモデル設定(歯車アイコンまたは Manage my AI Models)を開きます。
  6. モデル分類タブで Local LLMs を選択します。
  7. Provider のプルダウンから Ollama を選択します。
  8. Server URL に以下のローカルエンドポイントを入力(または確認)します。
http://localhost:11434

(社内LAN内の共有GPUサーバー上でOllamaを稼働させている場合は、その内部IPアドレス(例: http://192.168.1.100:11434)を指定します)。

  1. Model のプルダウンリストから、先ほど取得したモデル(qwen2.5-coder:7b または my-local-coder)を選択します。
  2. 入力欄の外側をクリックして保存します。CodeGPTがOllamaのローカルAPIと正常にハンドシェイクを行います。

ステップ4:チャット支援とインライン補完の有効化

CodeGPTでは、サイドバーでの対話型アシスタントと、エディタ上でのリアルタイム補完の両方を利用できます。

対話型コードリファクタリングと技術相談

エディタ上でコード範囲を選択し、右クリックメニューまたはCodeGPTパネルから以下を実行できます。

インライン自動補完(Autocomplete)の設定

  1. CodeGPTサイドバー内のメニューから Autocomplete を選択します。
  2. ステータスを ON に切り替えます。
  3. 補完用モデルに軽量モデル(qwen2.5-coder:1.5b など)を割り当てることで、タイピング中にミリ秒単位の高速な候補表示が可能になります。
  4. 端末の処理速度に合わせて Suggestion Delay(候補表示遅延)や Max Tokens を微調整します。

ステップ5:セキュリティ監査対応と完全オフライン検証

厳格な監査を受ける企業環境では、以下の手順でシステムが完全に外部遮断されていることを検証します。

1. VS Code本体のテレメトリ無効化

エディタ本体が使用状況データを外部へ送信しないよう設定します。

  1. VS Codeの設定画面(Ctrl+, または Cmd+,)を開きます。
  2. telemetry.telemetryLevel を検索します。
  3. 値を off に変更します。

2. ループバックアドレスの固定

Ollamaはデフォルトで 127.0.0.1:11434 にのみバインドされます。スタンドアロン開発環境では、不用意に OLLAMA_HOST=0.0.0.0 を設定しないように徹底し、同一LAN内の他端末からの不正接続を防ぎます。

3. オフライン動作検証(エアギャップテスト)

  1. PCのWi-Fiをオフにし、有線LANケーブルを抜く(またはOSのファイアウォールで外部送信を全面遮断する)。
  2. VS Code上でコードファイルを開きます。
  3. CodeGPTに対してコードのリファクタリングを指示し、同時にコードを打ち込んでインライン補完をトリガーします。
  4. ネットワーク未接続状態でも正常に応答が返ることを確認します。これにより、外部API依存が完全に存在しないことが実証されます。

トラブルシューティングと最適化


参考文献