昨今、AIの話題を見ない日はありません。しかし、企業で導入するとなると「社内の機密データや顧客情報をインターネット上のAIに読み込ませて本当に大丈夫なのか?」というセキュリティの不安がつきまといます。
そこで今回は、インターネットから切り離された完全オフライン環境で動き、社内のPDFやテキストを読み込ませて質問できる「自分だけのオリジナルAIアプリ」を自作した経緯をご紹介します。
ローカルAIでローカルRAGを自作しました
なぜ今、ローカルAIなのか?機密データも安心なオフライン環境の魅力
ローカルAIとは、ChatGPTのようにインターネット上のサーバーを利用するのではなく、自社にあるパソコンの内部だけで動くAIのことです。
そしてRAG(ラグ:Retrieval-Augmented Generation)とは、AIに自社のマニュアルや過去の提案書などのデータを読み込ませ、その情報に基づいて回答させる技術です。
この2つを組み合わせることで、「外部に絶対に情報が漏れない、自社専用の優秀なアシスタント」を作ることができます。社外秘の経営数値や個人情報を含む資料も、ローカル環境なら安心してAIに分析させることができるのです。
開発のきっかけ:X(旧Twitter)での話題と発想の転換
「LM Studio+OpenClaw」の盛り上がりを見て試行錯誤
事の発端は、X(旧Twitter)で「ローカルAIを動かすなら『LM Studio』と『OpenClaw』の組み合わせが便利だ」という話題が盛り上がっていたことでした。 私もそれに共感し、最初は既存のツールを組み合わせてなんとか動かそうと試行錯誤していました。
「ブラウザで動くオリジナルアプリを自作すればいいのでは?」という気づき
しかし、『OpenClaw』は設定が複雑だったり、調べてみると使い勝手がしっくりきません。とくに情報漏洩の危険性が指摘されるツールになってしまったことでちょっと導入に躊躇しました。
ここで発想を転換しました。 「Google Chromeなどの使い慣れたブラウザで動くシステムを、自作してしまえば良いのではないか?」と。
自分はエンジニアではないのでコードは書けないのでですが、Geminiにきけばなんとかなることを体験していましたので、自分の理想とする形をゼロから作ってみることにしたのです。
快適すぎる!今回のローカルAI開発・動作環境
完成したシステムは、驚くほど実用的でサクサク動きます。
LM Studio × Gemma4の組み合わせ(GPU 16GBでサクサク動作!)
今回は、ローカルAIを簡単に管理できるLM Studioというソフトを使用し、AIの頭脳となるモデルには「Gemma4」を採用しました。

パソコンのスペックとして、GPU(画像処理やAIの計算を高速で行うための部品)のメモリが16GB搭載されているものを使用しています。専門用語が並びますが、要するに「最近のちょっと良いパソコン」を使うことで、インターネット接続なしでも人間が文字を打つようなスピードでスラスラとAIが回答してくれます。
ChatGPTやGeminiライクな直感的なUIデザイン
出来上がった実際の画面がこちらです。

左側には過去のチャット履歴や設定、右側にはチャット画面と、ファイルの読み込み欄を配置しました。社員の誰もが使い慣れているであろう、ChatGPTやGeminiのような直感的なデザイン(UI)を踏襲しています。ドラッグ&ドロップでPDFファイルを読み込ませることも可能です。
開発の強力な相棒は「Gemini」
「自作のアプリなんて、専門のエンジニアじゃないと無理では?」と思われるかもしれませんが、今回の開発の相棒はAIのGeminiです。
これまでの「GAS × Gemini」開発手法の応用
私はこれまで、Googleの業務自動化ツールであるGAS(Google Apps Script)を使って、Geminiにコードを書いてもらいながらシステムを作った経験がありました。

今回もその手法の応用です。
「こういう画面にしたい」「こういう機能が欲しい」とGeminiにプロンプト(指示)を出し、プログラムを書いてもらいました。
最大のチャレンジ:初めてのPythonローカル環境構築もGeminiがサポート
今回最大の壁は、Python(パイソン)というプログラミング言語を自分のパソコンに入れて動かすという、初めての環境構築でした。これも、エラーが出るたびにGeminiに質問し、手取り足取りサポートしてもらうことで無事に乗り越えることができました。
【コード公開】オリジナルRAGアプリの中身を少しだけ紹介
技術的なことに興味がある方向けに、今回作成したプログラムの構成とコードの一部をご紹介します。
シンプルなファイル構成(ragsysフォルダ直下の運用)
パソコンのCドライブに「ragsys」というフォルダを作り、そこにファイルを2つだけ置くという非常にシンプルな構成です。チャットの履歴などは「data」フォルダに自動で保存されていきます。
-
app.py(裏側で動くPythonのプログラム) -
index.html(画面を表示するプログラム)
フロントエンド:index.html(CSS一体型・抜粋)
画面の見た目や動きを制御するファイルです。管理を楽にするため、デザインを整えるコード(CSS)もこの1つのファイルにまとめています。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ローカルRAGチャット</title>
<style>
/* 画面のデザイン設定(一部抜粋) */
:root {
--bg-color: #f0f4f9; --sidebar-bg: #e8eaed; --primary-color: #1a73e8;
}
body { display: flex; height: 100vh; background-color: var(--bg-color); }
.sidebar { width: 300px; background-color: var(--sidebar-bg); padding: 15px; }
.main-area { flex-grow: 1; display: flex; flex-direction: column; }
/* 以下省略 */
</style>
</head>
<body>
<div class="sidebar">
<div class="new-chat-btn" onclick="location.reload()">+ 新規チャットを始める</div>
<div id="history-list"></div>
</div>
<div class="main-area">
<div class="chat-container" id="chat-container"></div>
<div class="input-wrapper">
<textarea id="prompt-input" placeholder="質問や指示を入力してください..."></textarea>
<button onclick="sendChat()">送信する</button>
</div>
</div>
</body>
</html>
バックエンド:Pythonプログラム(抜粋)
PDFを読み込んだり、ローカルAIに指示を出したりする裏側の処理です。 ※機密保護のため、IPアドレス部分は YOUR_LOCAL_IP に変更しています。
import os
from flask import Flask, request, jsonify
app = Flask(__name__, static_folder='.', static_url_path='')
# LM StudioのAPIの場所を指定(ご自身の環境に合わせて変更)
LM_STUDIO_API = "http://YOUR_LOCAL_IP:1234/v1"
@app.route('/')
def index():
return app.send_static_file('index.html')
# --- メインチャットAPI(一部抜粋) ---
@app.route('/api/chat', methods=['POST'])
def chat():
data = request.json
prompt = data.get('prompt')
# 1. 選択されたPDFなどのファイルを読み込む処理(RAG)
# ... (省略: PDFやテキストの中身を抽出する処理) ...
# 2. LM Studioへ通信し、AIの回答を得る処理
# ... (省略: 読み込んだ文章と質問を合わせてAIに投げる処理) ...
# 結果を返す
return jsonify({"reply": "AIの回答結果をここに返します"})
if __name__ == '__main__':
# 外部のPCからもアクセスできるように 0.0.0.0 を指定
app.run(host='0.0.0.0', port=5000, debug=True)
【応用編】同じWi-Fiなら別のノートPCからも使える!
今回の開発で、もう一つ大きな発見がありました。それは、AIをインストールした本体のパソコン(ホストPC)だけでなく、同じ社内Wi-Fiに繋がっている別のノートPCからも、このRAGアプリが使えるということです。
設定は非常に簡単で、プログラム側に「外部のPCからのアクセスも許可する(0.0.0.0という設定)」という記述にすることです。紹介したコードはそうしてあります。
あとは、ノートPCのブラウザ(ChromeやEdgeなど)のアドレスバーに、ホストPCの「IPアドレス(ネットワーク上の住所のようなもの。例:192.168.x.x)」を打ち込めば、先ほどのチャット画面が開きます。
この機能には、中小企業にとって非常に大きなメリットと、運用上の注意点があります。
ブラウザを開くだけ!圧倒的な利便性とコストメリット
-
普通のパソコンやタブレットが「AI端末」に早変わり
AIをサクサク動かすには高価な部品(GPU)を積んだパソコンが必要ですが、それを社員全員分揃えるのは現実的ではありません。しかしこの方法なら、重たい計算処理はホストPC1台が引き受けてくれます。アクセスする側のノートPCは、ブラウザさえ開ければ古い機種でも全く問題なく利用できます。 -
サブスク費用が不要(コスト削減)
一般的なクラウド型の生成AIを法人で契約すると、1アカウント(社員1人)につき毎月数千円のコストがかかります。ローカルAIを社内ネットワークで共有すれば、どれだけ使っても追加費用はゼロです。 -
情報の鮮度を一つにまとめられる
社内規定や最新の価格表などのデータは、ホストPCの特定のフォルダ(今回の場合はragsys内のフォルダ)にだけ入れておけば済みます。全社員が常に同じ最新のデータを参照してAIに質問できるため、「古いファイルを見て間違えた」というミスを防げます。
知っておくべき注意点:ネットワークと同時接続の壁
一方で、自社運用ならではの気を付けるべきポイントもあります。
-
社内ネットワーク(Wi-Fi)のセキュリティ確保
このシステムは「同じWi-Fiに繋がっていること」が前提です。裏を返せば、社外の人間が勝手に会社のWi-Fiに繋げる状態になっていると、機密データを読み込んだAIにアクセスされてしまう危険があります。Wi-Fiのパスワード管理など、基本的なネットワークの戸締まりはしっかり行う必要があります。 -
「同時に」質問すると順番待ちになる
今回は1台のホストPCでAIを動かしているため、例えば3人の社員が全く同じタイミングでAIに質問を投げかけると、AIは1人ずつ順番に回答を作ろうとします。そのため、2人目、3人目の人は回答が出るまでに少し待ち時間が発生します。数人〜十数人規模のオフィスでの利用であれば問題になりにくいですが、何十人も同時に使うような規模になると、ホストPCの増設などが必要になります。 -
ホストPCの「住所(IPアドレス)」が変わる問題
パソコンのネットワーク上の住所(IPアドレス)は、ルーター(Wi-Fiの機械)を再起動した時などに自動的に変わってしまうことがあります。住所が変わるとノートPCからアクセスできなくなってしまうため、設定でホストPCのIPアドレスを「固定」にしておくことをおすすめします。
まとめ:ローカルAI×自作アプリがもたらす新しい可能性

今回、専門的なプログラマーでなくても、生成AIの力を借りることで、セキュアで実用的な自社専用システムを構築できることがわかりました。
「機密情報があるからAIは使えない」と諦めるのではなく、「ローカルで動かせばいい」という選択肢は、多くの中小企業のDX(デジタル変革)を大きく前進させるはずです。もし社内に少しでもITに明るい方がいれば、休日のちょっとしたチャレンジとして試してみてはいかがでしょうか。

この記事を書いた遠田幹雄は中小企業診断士です
遠田幹雄は経営コンサルティング企業の株式会社ドモドモコーポレーション代表取締役。石川県かほく市に本社があり金沢市を中心とした北陸三県を主な活動エリアとする経営コンサルタントです。
小規模事業者や中小企業を対象として、経営戦略立案とその後の実行支援、商品開発、販路拡大、マーケティング、ブランド構築等に係る総合的なコンサルティング活動を展開しています。実際にはWEBマーケティングやIT系のご依頼が多いです。
民民での直接契約を中心としていますが、商工三団体などの支援機関が主催するセミナー講師を年間数十回担当したり、支援機関の専門家派遣や中小企業基盤整備機構の経営窓口相談に対応したりもしています。
保有資格:中小企業診断士、情報処理技術者など
会社概要およびプロフィールは株式会社ドモドモコーポレーションの会社案内にて紹介していますので興味ある方はご覧ください。
お問い合わせは電話ではなくお問い合わせフォームからメールにておねがいします。新規の電話番号からの電話は受信しないことにしていますのでご了承ください。

【反応していただけると喜びます(笑)】
記事内容が役にたったとか共感したとかで、なにか反応をしたいという場合はTwitterやフェイスブックなどのSNSで反応いただけるとうれしいです。
本日の段階で当サイトのブログ記事数は 6,977 件になりました。できるだけ毎日更新しようとしています。
遠田幹雄が利用しているSNSは以下のとおりです。
facebook https://www.facebook.com/tohdamikio
ツイッター https://twitter.com/tohdamikio
LINE https://lin.ee/igN7saM
チャットワーク https://www.chatwork.com/tohda
また、投げ銭システムも用意しましたのでお気持ちがあればクレジット決済などでもお支払いいただけます。
※投げ銭はスクエアの「寄付」というシステムに変更しています(2025年1月6日)
※投げ銭は100円からOKです。シャレですので笑ってご支援いただけるとうれしいです(笑)
株式会社ドモドモコーポレーション
石川県かほく市木津ロ64-1 〒929-1171
電話 076-285-8058(通常はFAXになっています)
IP電話:050-3578-5060(留守録あり)
問合→メールフォームからお願いします
法人番号 9220001017731
適格請求書(インボイス)番号 T9220001017731

