マガジン

ローカルAIはネットなしで動くのか:通信が発生する場面と確かめ方

AIを使いこなす

Claudeで執筆し、GPTで自動校閲・修正しています。

ノートPCからLANケーブルを抜いている手元
記事の内容をもとに制作したAI生成イメージです。実際の製品画面や検証結果の写真ではありません。

結論から言うと、モデルのファイルと必要な実行環境が手元にそろっていれば、ローカルLLMの推論(質問して答えを得る処理)自体はネットなしで動かせます。ただし「ローカルAI=一切通信しない」ではありません。モデルの検索・ダウンロード、アプリやランタイムの更新、クラウド機能、Python環境での確認通信などは、使うツールによってネットを必要とします。 この記事では、公式ドキュメントで確認できた範囲で「通信が起きる場面」を一覧にし、回線を切って実際に確かめる手順を示します。対象は主にOllama、LM Studio、Hugging Faceのライブラリを使うPythonです。今回の自動校閲で確認したのは2026年10月29日時点の各公式ページで、仕様は変わる可能性があります。

この記事の目次
  1. 公式資料で確認できたこと
  2. 通信が発生しうる場面の一覧
  3. ネットを切って試すオフライン確認手順
  4. 結果の読み方
  5. 本当に通信していないかを知りたいとき

公式資料で確認できたこと

  • LM Studio:ダウンロード済みのモデルをオフラインで実行でき、チャット入力やアップロードした文書は端末の外に出ないと説明されています。一方、Discoverタブでのモデル検索、モデルや「LM Runtimes」のダウンロード、macOS/Windowsでのアプリ更新の確認にはネット接続が必要とされています(LM Studio Docs: Offline Operation)。
  • Ollama:ローカル実行時はプロンプトやデータを運営側は見ないと説明されています。クラウドモデル(:cloud系)とウェブ検索は別機能で、OLLAMA_NO_CLOUD=1または~/.ollama/server.jsonのdisable_ollama_cloud: trueでローカル専用にできます。モデルの取得(pull)はHTTPSです。macOS/Windowsではアプリが更新を自動でダウンロードします。確認した範囲では、この更新確認を止める方法は書かれていませんでした(Ollama FAQ)。
  • Ollamaのクラウドモデル:ダウンロード不要で、利用にはサインインかAPIキーが必要です。プロンプトと応答はクラウド側で処理されます(Ollama Cloud)。
  • Hugging Face(Python):HF_HUB_OFFLINE=1を設定するとHubへのHTTP呼び出しをしなくなり、キャッシュ済みファイルだけを使います。キャッシュがなければエラーになります。また、transformersなどはデフォルトで利用状況データを収集することがあり、HF_HUB_DISABLE_TELEMETRY=1で無効にできます(huggingface_hub 環境変数)。

通信が発生しうる場面の一覧

上の資料と、一般的な使い方から整理した表です。「資料で確認」は上記の公式ページに記載があるもの、「要確認」は今回読んだ公式ページでは確認できていないものです。

  • モデルの検索(LM StudioのDiscover)、通信の有無:あり、切る・避ける方法:事前に済ませる、根拠:資料で確認
  • モデルのダウンロード/ollama pull、通信の有無:あり、切る・避ける方法:事前に済ませる。別PCで取得して持ち込む(LM Studioはサイドロード可)、根拠:資料で確認
  • LM Studioのランタイム取得、通信の有無:あり、切る・避ける方法:事前に必要な形式分を取得、根拠:資料で確認
  • アプリ更新の確認・取得(macOS/Windows)、通信の有無:あり、切る・避ける方法:更新はオンライン時にまとめて行う。止める設定は未確認、根拠:資料で確認(Ollamaは確認したFAQに停止方法の記載なし)
  • Ollamaのクラウドモデル・ウェブ検索、通信の有無:あり、切る・避ける方法:OLLAMA_NO_CLOUD=1、根拠:資料で確認
  • Python+transformers等のHub確認、通信の有無:Hubからのファイル取得時は、キャッシュ済みでも更新確認あり、切る・避ける方法:HF_HUB_OFFLINE=1、根拠:資料で確認
  • Hugging Faceライブラリの利用状況送信、通信の有無:既定であり。対象はライブラリごとの方針による、切る・避ける方法:HF_HUB_DISABLE_TELEMETRY=1、根拠:資料で確認
  • ツールが公開するローカルAPI(127.0.0.1:11434など)、通信の有無:自分のPC内の通信、切る・避ける方法:外部公開しない、根拠:Ollamaは既定で127.0.0.1に待ち受け
  • 上記以外のバックグラウンド通信、通信の有無:不明、切る・避ける方法:実際に切って確認、根拠:要確認

注意点が二つあります。まず、ローカルAPIの通信は「インターネット通信」ではありませんが、OLLAMA_HOST=0.0.0.0:11434のようにすると同じネットワークの他の端末から届く状態になります。オフライン目的なら既定のままにします。次に、ローカルで推論する設定でも、AIにウェブ検索ツールや外部サービス連携を持たせれば、その分の通信は発生します。

ネットを切って試すオフライン確認手順

以下は公式の仕様を踏まえて本稿で提案する手順で、この記事のために実行した結果ではありません。

1. オンラインのうちに準備する

使うモデルを取得し、一度は実際に回答まで動かします。Ollamaなら、次のように名前を確認します。

ollama pull (使うモデル名)
ollama list

モデル名は説明用の書き方なので、自分が使うものに置き換えてください。LM Studioなら、モデルをダウンロードして一度チャットを送っておきます。Pythonなら、一度オンラインでfrom_pretrainedを実行してキャッシュを作ります。

2. 回線を物理的に切る

ブラウザのタブを閉じるだけでは確認になりません。Wi-FiをオフにしてLANケーブルも抜き、モバイル通信やテザリングなど別の接続経路も切ります。機内モードを使う場合も、Wi-Fiなどがオフになっているか確認します。切ったあと、ブラウザのキャッシュ表示に注意し、未閲覧の外部ページを新たに取得できないことも確かめます。

3. アプリを再起動して試す

回線を切った状態でアプリ(またはOllamaのサーバー)を終了してから起動し直します。起動時の挙動も含めて見るためです。そのうえで、次のような機密を含まない短い質問を送ります。

次の文を30字以内で要約してください。
「ローカルで動くAIは、モデルのファイルが手元にあれば推論に通信を必要としません。」

4. Pythonの場合は環境変数を付けて試す

huggingface_hubの環境変数はライブラリの読み込み前に設定する必要があるため、起動前に指定します。次はmacOS/Linuxのシェルでの説明用の例です。your_script.pyは実際のスクリプト名に置き換えます。

HF_HUB_OFFLINE=1 HF_HUB_DISABLE_TELEMETRY=1 python your_script.py

Windows PowerShellでは、$env:HF_HUB_OFFLINE="1"と$env:HF_HUB_DISABLE_TELEMETRY="1"をそれぞれ実行してから、python your_script.pyを起動します。これらはHubへのアクセスと対応する利用状況送信を抑える設定で、スクリプト内の外部APIなど、すべての通信を止めるものではありません。キャッシュが足りなければエラーで止まるので、不足ファイルの発見にも役立ちます。

5. Ollamaでクラウド機能を無効にして試す

Ollama FAQのOS別の方法でOLLAMA_NO_CLOUD=1をサーバーに設定するか、~/.ollama/server.jsonに"disable_ollama_cloud": trueを設定します。新規作成時のJSONは次の形です。既存ファイルがある場合は、ほかの設定を残してこの項目を追加・変更します。

json
{
  "disable_ollama_cloud": true
}

どちらの場合もOllamaを再起動し、ログのOllama cloud disabled: trueを確認します。そのうえで、取得済みのローカルモデルで回答が返ることを確かめます。この設定はOllamaのクラウドモデルとウェブ検索を無効にするもので、更新などを含むすべての通信を止める設定ではありません。

結果の読み方

  • 回答が返る、考えられる原因:モデルが手元にある、対処:オフライン運用の見込みあり
  • モデルが見つからない、考えられる原因:取得が未完了、または保存先が違う、対処:オンラインで取得し直し、一覧を確認
  • Pythonがキャッシュ不足のエラー、考えられる原因:必要ファイルが未取得、対処:オンラインで一度実行してから再試行
  • 起動時に更新エラーや警告が出る、考えられる原因:更新確認の失敗、対処:動作に影響しなければ許容。気になるなら更新方針を決める
  • :cloud系のモデルが動かない、考えられる原因:クラウド処理が前提、対処:ローカルモデルに切り替える

本当に通信していないかを知りたいとき

回線を切って動くことは「動作にネットが必須でない」ことの確認であり、「通信を一切試みていない」ことの証明ではありません。後者を知りたい場合は、OS標準のネットワーク監視機能やファイアウォールのログで、アプリ名ごとの接続先を見る方法があります。本稿では各アプリの通信先を実測していないので、機密性が高い用途では自分の環境でこの確認を行ってください。

なお、通信を避けることと情報管理は別の話です。ローカル実行でも、チャット履歴やキャッシュは端末に残ります。共有PCや持ち出し端末で扱う場合は、保存場所の管理を別に考えてください。

出典・参考資料