iPhoneからオンプレLLMへ直接接続する:LAN・VPN経由のテキストチャットを検証
オンプレLLMをPC以外の端末から利用できれば、短い質問や文章整理を行う場面を広げられます。本記事では、iPhoneからオンプレLLMのOpenAI互換APIへ直接接続し、短いテキストチャットが成立するかを検証します。
同一LAN内とVPN経由の複数条件で応答を確認し、接続先はiOSのアプリプライバシーレポートで補助的に観察しました。検証範囲は接続と短いチャットの確認であり、安全性の保証や通信内容の完全な監査を目的とするものではありません。
見出し
本記事で確認すること、確認しないこと
今回確認したのは、iPhoneから短い質問や文章を送り、オンプレLLMからテキストの回答を受け取れるかという点です。
ファイル・アップロード機能は画面上に存在するように見えましたが、処理経路、保存先、通信先を確認していないため、検証対象には含めていません。PDF、OCR、RAG、画像処理も、機能の有無を評価したものではなく、本記事の対象外です。音声入力についても、認識・送信経路を確認していないため、キーボード入力のみを使用しました。
接続できたことと、機微性の高い情報を安全に扱えることは別です。本記事では、高リスク情報を積極的に入力する用途を想定していません。
OpenAI互換APIへ直接接続した理由
オンプレLLMをブラウザから利用する方法の一つに、チャット用のWeb画面を提供するOpenWebUIがあります。当初は、Windows PCのWSL2上で動作するOpenWebUIを、同一LAN内のiPhoneから利用する構成を検討しました。Windows PC上のブラウザでは、localhost経由でOpenWebUIの応答を確認できました。一方、同一LAN内のiPhoneからWindows PCのLAN内アドレスを指定して接続した場合は、応答を確認できませんでした。
原因は特定していません。今回の環境でiPhoneからOpenWebUIを利用するには、Windows、WSL2、Dockerをまたぐネットワーク構成と公開範囲を別途確認する必要があります。PDF、OCR、RAGまでスマートフォンから利用する場合は、別工程として整備する選択肢があります。
今回必要だったのは短いテキストチャットだけだったため、OpenWebUIをiPhoneから利用するための追加調査は広げず、オンプレLLMが提供するOpenAI互換APIへ直接接続する構成を採用しました。
iPhoneからオンプレLLMへ直接接続する構成
今回の接続経路
iPhone
↓ LANまたはVPN
OpenAI互換API
↓
オンプレLLM
※今回採用した経路は上記のとおりです。Windows PC、WSL2、OpenWebUIは、この接続経路には含まれません。
今回の検証環境では、SafariからAPIの /v1/models を開くと、モデル一覧を含むJSONが返りました。検証用クライアントとしてOpenClientを使用し、接続先URL(Base URL)と応答に合うモデルIDなどを設定しました。接続テストに成功した後、短いチャットでも応答を確認できました。
オンプレLLMのバックエンド構築例については、NVIDIA Blackwell(GB10)上で120B級LLMを動かした実機検証で詳しく整理しています。
OpenClientは、公式GitHubリポジトリでソースコードが公開されているOSSですが、OSSであること自体を安全性の根拠にはしていません。
本記事の主題はiPhoneからオンプレLLMへ直接接続する構成であり、OpenClient自体の製品レビューではありません。
接続条件別の検証結果:LAN・VPN経由でチャット応答を確認
接続条件ごとの観測結果は、次のとおりです。
| 接続条件 | 観測結果 |
|---|---|
| 同一LAN内 | VPNを使わない直接接続でチャット応答を確認 |
| 同一LAN内+VPN | VPN経由でチャット応答を確認 |
| モバイル回線+VPN | 応答を確認。一部試行で通信断とタイムアウト |
| 外部Wi-Fi+VPN | VPN経由でチャット応答を確認 |
モバイル回線+VPNの一部試行では、通信が途中で切れ、生成中の回答が完了せずタイムアウトしました。すべての試行で発生したわけではなく、接続成功率や安定性も数値化していません。
原因は特定できていません。モバイル回線、VPN、端末、クライアント、APIのいずれかが原因とは断定できず、他の環境でも同じ結果になるとは一般化できません。
画面表示と通信先の補助観察
Reasoning(推論過程)の表示
今回使用したモデル、推論エンジン、OpenClientの組み合わせでは、Reasoningと最終回答が別の枠に表示されました。Reasoning部分を閉じると1行程度に折り畳めるため、スマートフォン上でも最終回答を中心に確認できました。
公開対象外の情報は一部マスキングしています。
この表示は今回の組み合わせで確認したものです。別のモデル、推論エンジン、クライアントでも同じ表示になることは確認していません。
アプリプライバシーレポートで補助的に観察した範囲
VPN経由の利用後、アプリプライバシーレポートにオンプレLLMのプライベートIPが表示されました。通常チャット後にアプリプライバシーレポートで確認した範囲では、想定していない外部ドメインへの接続は確認されませんでした。一方、アプリ内でプライバシーポリシーを開いた際には、アプリプライバシーレポートに開発者サイトへの接続が記録されました。
アプリプライバシーレポートは、接続先を補助的に観察する手段として利用しました。ただし、通信本文やアプリ全体の安全性を確認する完全な通信監査ではなく、外部通信やプロンプト外部送信が存在しないことの根拠にはしていません。
利用場面と、今回確認していないこと
想定する利用場面は、PCを開くほどではない短い質問、個人的な文章の言い換え、考えや予定の簡単な整理などです。外部SaaSへ積極的に入力したくない軽い私的内容を、自分が管理するオンプレLLMへ短く相談する使い方が考えられます。VPNを利用できる環境では、外出先から利用する選択肢もあります。
一方、パスワードやAPIキーなどの認証情報、クレジットカード情報、本人確認情報、医療・健康情報、高度な営業秘密、漏えい時の影響が大きい個人情報の入力は積極的に推奨しません。API通信のTLS化、API認証、アクセス元制限、Firewall、インターネットへの直接公開の可否と安全性は、今回の検証対象外です。LANまたはVPN経由で接続できたことは、APIや運用全体の安全性を保証するものではなく、本記事を根拠にAPIをインターネットへ直接公開することも推奨しません。
まとめ:短いテキストチャットに絞る場合の構成例
短いテキストチャットに必要な機能へ範囲を絞る場合、OpenWebUI全体を公開せず、OpenAI互換APIへ直接接続する方法は、一つの構成例になります。今回の環境では、VPNを使わない同一LAN内とVPN経由の双方で、iPhoneからチャット応答を確認しました。
一方、モバイル回線+VPNの一部試行では通信断とタイムアウトが発生し、原因は特定できていません。今回の結果は、安全性や安定運用を保証するものではありません。必要な機能と公開範囲を切り分け、接続・認証・通信保護を別途設計・確認することが前提です。
関連記事