Python不要!
ノーコードで作るローカルRAG完全ガイド
Open WebUIの「ナレッジ」機能とAnythingLLM、2つのノーコードツールを使って、自分のPDFやWord文書にAIが答えてくれる仕組み(RAG)を作ります。コードは1行も書きません。実際に報告された脆弱性事例を交えながら、安全に使い続けるための注意点まで解説します。
📋 目次
「自分のPCに置いてあるPDFやWord文書について、AIに質問したら答えてくれたら便利なのに」——そう思ったことはありませんか。これを実現する仕組みがRAG(検索拡張生成)です。当サイトには既にPythonコードを書いてRAGを構築するハンズオン記事がありますが、今回は真逆のアプローチ。Pythonのコードは1行も書きません。マウス操作を中心に、ローカルRAGを完成させる方法を、Open WebUIとAnythingLLMという2つの代表的なツールで紹介します(Docker版を選ぶ場合のみ、5章で触れる接続設定が一部必要です)。すでにOpen WebUIの基本的な使い方を知っている方は、本記事では「ナレッジ機能」と「AnythingLLMとの比較」という差分に絞って読み進めてください。
Open WebUI・AnythingLLMともに数週間〜1か月単位で機能が更新される、動きの速いオープンソースプロジェクトです。画面の見た目や設定項目は将来変わる可能性があるため、実際に導入する際は必ず各ツールの公式ドキュメントで最新の手順を確認してください。また、本記事で紹介する脆弱性情報はすべて既に修正済みの過去事例であり、悪用方法の解説ではありません。
⏱️ 30秒早わかり&あなたに向いているのは?
3つの選択肢、まず自分に合うものだけ知りたい人向けの早見表
ローカルRAGには「3つの入口」がある
Ollama(AIエンジン本体)を中心に、そこへ文書を読み込ませる方法は大きく3つあります。①Pythonでコードを書く(当サイトの既存記事)、②Open WebUIの「ナレッジ」機能を使う、③AnythingLLMを使う。どれも内部的には同じOllamaに接続していますが、必要な知識・向いている人がまったく違います。まず下のカードで、自分がどれに当てはまりそうか確認してみましょう。
2個以上当てはまった? 迷ったらOpen WebUIから
すでにOllamaを使っている方の多くはOpen WebUIも入れているはずなので、追加のインストールが要らない②から試すのが最短です。「とにかく手っ取り早く」を最優先するなら③、が実務的な判断基準になります。
⚖️ 3つの選択肢を比較する
同じOllamaという1つのエンジンに、3種類の「外装」がついているイメージ
🔗 図解:Ollamaを中心にした3つの外装
海外のレビューでは「AnythingLLMはチャット機能もついたRAG+エージェントアプリ、Open WebUIはRAG機能もついたチャットアプリ」としばしば表現されます。設計思想の出発点が違うだけで、優劣の話ではありません。下の表で自分の用途に近い列を探してみてください。
| 比較項目 | ① Python実装(既存記事) | ② Open WebUI「ナレッジ」 | ③ AnythingLLM |
|---|---|---|---|
| 学習コスト | 高い(Python・ライブラリの知識が要る) | 低い(GUI操作のみ) | 低い(GUI操作のみ) |
| セットアップの手間 | 中(仮想環境・pip installなど) | 中(Open WebUI自体の導入が前提) | 低い(デスクトップアプリなら即起動) |
| チーム・複数人での利用 | 自分で作り込む必要あり | 得意(もともとマルチユーザー設計) | ワークスペース単位で分離管理 |
| エージェント機能 (Web検索・ファイル操作等) | 自分で実装すれば可能 | Function Calling等で対応 | 「@agent」で標準搭載 |
| デフォルトのベクトルDB | Chroma(自分で指定) | Chroma系(内部利用) | 組み込みLanceDB(他DBにも変更可) |
| 日本語の解説記事の量 | 比較的多い | 比較的多い | まだ少ない(今回の記事の狙い目) |
| 向いている人 | 仕組みを自分の手で理解したい人 | チームで使う・拡張していきたい人 | 今すぐ自分の文書に質問したい人 |
「ノーコード=仕組みを理解しなくていい」ではない
GUI操作で完成させられるのは事実ですが、内部では「文章をどのくらいの塊(チャンク)に分けるか」「どのくらい似ていたら関連文書とみなすか(類似度しきい値)」といった調整が行われています。これを知らないまま使うと、「なぜか求めた答えが返ってこない」という壁にぶつかったときに原因を探せません。3章で仕組みを先に押さえておきましょう。
🧠 仕組みを理解する:RAGの舞台裏
ボタンの裏側で何が起きているかを知っておくと、つまずいたときに強い
RAGは「Retrieval-Augmented Generation(検索拡張生成)」の略で、やっていることは意外とシンプルです。あなたの文書を検索できる形に変換しておき、質問が来たら関連する部分だけを探し出してAIに渡し、それをもとに答えてもらう——たったこれだけです。RAGとは何か:仕組みと社内活用の価値で基礎を解説していますが、ここではノーコードツールの画面の裏で起きている6段階を追ってみましょう。
🔄 文書をアップロードしてから回答が返るまで
ファイルをアップロード
PDF・Word・テキストファイルなどをドラッグ&ドロップで追加する。
チャンク分割
長い文書を数百文字程度の小さな塊(チャンク)に機械的に分割する。1つの塊が長すぎても短すぎても検索精度が落ちる。
埋め込み(ベクトル化)
埋め込みモデルが各チャンクを「意味の近さ」を表す数値の配列(ベクトル)に変換する。
ベクトルDBに保存
変換したベクトルを専用のデータベースに保存する。Open WebUIは内部でChroma系、AnythingLLMは標準でLanceDBを使う。
質問時に類似検索
あなたの質問文もベクトル化し、「意味が近いチャンク」をベクトルDBから探し出す。多数決ではなく近さで選ばれる。
回答を生成
見つかったチャンクを根拠としてOllama上のAIモデルに渡し、それをもとに回答文を作らせる。
Open WebUIには「まるごと読む」モードもある
Open WebUIのナレッジ機能には、関連チャンクだけを検索するFocused Retrievalと、文書全体をそのままAIに渡すFull Contextの2モードがあります。文書が短い・網羅性を重視したい場合はFull Context、文書量が多く速度・コストを重視する場合はFocused Retrievalが向きます。
💬 Open WebUIの「ナレッジ」機能で作る
すでにOllama+Open WebUIでチャットしている人が最短で辿り着ける方法
前提:Open WebUI自体の導入は済んでいますか?
Open WebUIのインストール・Ollamaとの基本的な接続方法はOllamaとOpen WebUI完全攻略で解説済みです。ここではその続き、「ナレッジ」機能でRAGを作る手順だけに絞って説明します。
📝 ナレッジベースを作る4ステップ
サイドバーの「Workspace」→「Knowledge」を開く
画面左のメニューからワークスペースに入り、ナレッジタブを選ぶ。
「+ New Knowledge」で名前を付けて作成
「経理規程」「議事録2026」のように、後で見て分かる名前と説明を入れる。
ファイルを追加する
PDFやWordファイルをドラッグ&ドロップ。サブフォルダで整理することもできる。
チャット欄で「#」を入力して呼び出す
作成したナレッジ名が候補表示されるので選択。以降の質問はその文書を根拠に回答してくれる。
精度を上げたいときは「Hybrid Search」を試す
管理者設定にあるHybrid Searchを有効にすると、意味の近さで探すベクトル検索に加えて、キーワード一致で探すBM25検索も組み合わせられます。バージョンによっては、結果をさらに並べ替える「リランキング」の設定もあわせて用意されているので、「意味は近いはずなのに欲しい答えが出ない」ときは両方の設定を確認してみてください。
⚡ AnythingLLMで作る
ソフトを起動してからQ&Aできるまでが最短のツール
3つのインストール形態から選ぶ
個人でとにかく早く試したいならデスクトップアプリ版(Win/Mac/Linux対応、Dockerもターミナルも不要)が最も手軽です。複数人で常時共有したいならDocker版、外部サービスとして使いたいならクラウド版を選びます。本記事は個人利用を想定し、デスクトップアプリ版を軸に説明します(デスクトップ版には過去に脆弱性が報告された実績がありますが、既に修正済みです。詳しくは7章で解説します)。
📝 セットアップ〜Q&Aまでの5ステップ
デスクトップアプリをインストールして起動
公式サイトから自分のOSに合ったインストーラーを入手する。
LLMプロバイダにOllamaを選ぶ
初回設定でAIモデルの接続先を聞かれるので「Ollama」を選択。デフォルトの接続先はhttp://127.0.0.1:11434。
ワークスペースを作成
用途ごとに文書・チャット履歴・設定が独立した「ワークスペース」を作る。
文書をアップロード
ワークスペースにPDF・Word等を追加すると自動で埋め込み処理が走る(内部では標準でLanceDBに保存)。
チャットで質問する
取り込んだ文書を根拠にAIが回答。あわせて「@agent」でWeb検索やファイル要約などの自動化も試せる。
Docker版を使う人がよくつまずく落とし穴
Docker版でAnythingLLMを動かす場合、コンテナの中から見た「localhost」はコンテナ自身を指してしまい、ホストPC上のOllamaに接続できません。「同じPCなのになぜ繋がらないの?」の正体はここにあります。Windows・Macではhost.docker.internalのような、ホスト側を指す接続先を指定します(Linuxではこの名前が使えない環境が多く、代わりにホストのIP指定や--add-hostオプションが必要です)。デスクトップアプリ版ではこの問題自体が発生しません。
テレメトリは初期設定でオン
AnythingLLMは匿名の利用状況データを送信するテレメトリ(PostHog経由)が、初期設定で有効になっています。設定メニューまたは環境変数で無効化できます。「ローカルで動くツール=一切の通信が発生しない」ではない、という点は7章で詳しく扱います。
❓ やりがちな誤解○×チェック
ここまで読んだあなたなら、もう見抜けるはず。5問チェックしてみましょう
1「ノーコードツールを使えば、仕組みを理解しなくても正確な回答が得られる」
答えを見る
2「ローカルLLM・ノーコードRAGツールは、導入した時点で外部への通信が完全にゼロになる」
答えを見る
3「Dockerでアプリを動かせば、それだけで安全な設定になる」
答えを見る
4「AIエージェント機能(ファイル操作やWeb検索を自動でしてくれる機能)は、AIが判断しているので人間の操作より安全」
答えを見る
5「AnythingLLMのように日本語の紹介記事がまだ少ないツールは、マイナーで危険」
答えを見る
🔒 セキュリティ編:実例と安全設定
「ノーコードだから安全」ではなく「活発に開発されているぶん、こまめな更新が必要」が実態
実際に報告された脆弱性事例(いずれも修正済み)
Open WebUI・AnythingLLMともに活発に開発が続くオープンソースプロジェクトで、これまでに複数の脆弱性が報告・修正されてきました。Ollama本体のセキュリティとは別に、これらの「ノーコードツール自体」の実例を知っておくと、なぜ更新が大切なのかが実感として分かります。なお、深刻度を表す「CVSS」は0〜10点でリスクの大きさを示す業界共通の指標で、点数が高いほど危険度が高いと考えてください。
文書を読んだだけで乗っ取られる(AnythingLLM)
AIが回答を生成する際のMarkdown画像表示処理に、無害化されていないデータが渡ると、アプリ内で任意の処理が実行されてしまう欠陥があった。RAGに読み込ませた文書そのものが攻撃の起点になり得ることを示す実例。デスクトップアプリ版(Electron)に特有の欠陥で、Docker版・クラウド版では報告されていない。
「@agent」機能の抜け穴(AnythingLLM)
ファイル検索を行うエージェント機能の内部で、外部から渡された文字列がコマンドの一部としてそのまま実行されてしまう欠陥があった。「エージェント機能はAIが判断するから安全」とは限らない実例。修正バージョンは分析情報に基づく記載で、開発元の公式発表では本稿執筆時点で明記されていない。該当しそうな場合は必ず最新版を使う。
「外部モデル接続」機能の欠陥(Open WebUI)
外部のAIモデルサーバーに直接つなぐ「Direct Connections」機能で、接続先から送られてきたデータを検証せずに実行してしまう欠陥があった。Open WebUI側にも同種のリスクが存在した実例。
3件とも既に修正済み。大切なのは「更新し続けること」
ここで紹介した事例はすべて対応済みのバージョンが存在します。ノーコードツールだから危険という話ではなく、活発に開発されているぶん、修正も早いかわりに、こまめなアップデートが前提になるソフトウェアだと捉えるのが実態に近い理解です。
🌐 公開設定を理解する:127.0.0.1 と 0.0.0.0 の違い
※この図は概念を示す模式図であり、実際のネットワーク到達性を検証するツールではありません。ルーターの設定・ファイアウォール等、実際の到達可否は環境によって異なります。
「外出先からもアクセスしたいから」と0.0.0.0で公開しつつ、ログイン機能をオフにする・初期パスワードのまま放置する——この組み合わせだけは絶対に避けてください。検索エンジンで見つかる形でインターネットに公開されたOllamaや管理画面が第三者に操作された実例は、Shodanでノーガードのollamaを検索するで解説した通り実際に報告されています。外出先から使いたい場合は、VPNやSSHトンネルなど認証を伴う経路を使うのが基本です。
🛡️ 安全に使い続けるための確認チェックリスト
- Open WebUI・AnythingLLMとも、公開設定が「自分のPCだけ(127.0.0.1)」になっているか確認した
- Docker版を使う場合、意図せず
0.0.0.0で全世界に公開する設定になっていないか確認した - AnythingLLMのテレメトリ設定を確認し、必要に応じて無効化した
- Open WebUIでサインアップ(新規アカウント登録)を不用意に有効化していないか確認した
- 両ツールとも、公式サイトで現在使っているバージョンが最新か定期的に確認している
- 出所が分からない・信頼できない文書は、そのままナレッジベースに追加していない
「毒された文書」を見抜く感覚を、ゲームで鍛える
本章のCVE-2026-32626のように、RAGに読み込ませた文書そのものが攻撃の起点になる手口は、フィクションではありません。当サイトのゲーム「AIエージェント監査官」のケース2「社内ナレッジの1文書だけ、様子がおかしい」は、まさにこの”RAGが毒された文書を根拠に誤った行動をとろうとする瞬間”を体験できる無料の判断訓練です。作る側の知識を身につけた次は、見抜く側の感覚も鍛えてみてください。
💬 よくある質問
RAGはノーコードでも本当に作れるの?
Open WebUIとAnythingLLM、結局どっちがいいの?
Ollamaだけ(Open WebUIもAnythingLLMも使わず)でRAGはできる?
AnythingLLMは日本語の文書に対応している?
ローカルRAGは本当に安全?外部に情報は漏れない?
もっと本格的に作り込みたくなったら、次は何をすればいい?
①ローカルRAGはPythonなしでも、Open WebUIの「ナレッジ」機能かAnythingLLMで作れる。②2つのツールは設計思想が違うだけで優劣ではなく、チーム共有ならOpen WebUI、個人の最速ルートならAnythingLLMが目安。③「ノーコード=仕組みを理解しなくていい」ではなく、チャンク・埋め込み・類似検索という舞台裏を知っておくとつまずいたときに強い。④「ローカル=通信ゼロ」でもない。テレメトリや公開設定は必ず確認する。⑤両ツールとも活発に開発されているぶん脆弱性の報告・修正も多く、こまめな更新こそが最大の防御になる。
📚 主な参考・一次情報
- Open WebUI公式ドキュメント「Knowledge」「Document Extraction」「Hardening Open WebUI」(docs.openwebui.com)
- AnythingLLM公式ドキュメント「Ollama LLM」「Lance DB Vector Database」「Privacy & Data Handling」(docs.anythingllm.com)
- GitHub Security Advisory GHSA-rrmw-2j6x-4mf2(CVE-2026-32626)/GHSA-cm35-v4vp-5xvx(CVE-2025-64496)
- IPA 独立行政法人情報処理推進機構「AI利用者のためのセキュリティ豆知識」「AIセキュリティ短信」(2026年4月公開)
- 当サイト関連記事:ローカルLLMセキュリティ完全ガイド/RAGデータポイズニング完全ガイド
※ 本記事は活用・防御のための解説です。掲載する脆弱性情報はすべて修正済みの過去事例であり、悪用のための手順ではありません。ツールの機能・画面は執筆時点のもので、将来変更される可能性があります。両ツールとも数週間〜1か月単位でバージョンが進むため、本文中のバージョン番号は執筆時点のものです。導入の際は必ず公式ドキュメントで最新情報をご確認ください。


コメント