Python不要!ノーコードで作るローカルRAG完全ガイド

🦙 柱B/AI×セキュリティ・Ollamaシリーズ(2026年最新版)

Python不要!
ノーコードで作るローカルRAG完全ガイド

Open WebUIの「ナレッジ」機能とAnythingLLM、2つのノーコードツールを使って、自分のPDFやWord文書にAIが答えてくれる仕組み(RAG)を作ります。コードは1行も書きません。実際に報告された脆弱性事例を交えながら、安全に使い続けるための注意点まで解説します。

🦙 Ollama 🧩 ノーコード 📄 自分の文書でQ&A 🔒 セキュリティ実例つき

「自分のPCに置いてあるPDFやWord文書について、AIに質問したら答えてくれたら便利なのに」——そう思ったことはありませんか。これを実現する仕組みがRAG(検索拡張生成)です。当サイトには既にPythonコードを書いてRAGを構築するハンズオン記事がありますが、今回は真逆のアプローチ。Pythonのコードは1行も書きません。マウス操作を中心に、ローカルRAGを完成させる方法を、Open WebUIとAnythingLLMという2つの代表的なツールで紹介します(Docker版を選ぶ場合のみ、5章で触れる接続設定が一部必要です)。すでにOpen WebUIの基本的な使い方を知っている方は、本記事では「ナレッジ機能」と「AnythingLLMとの比較」という差分に絞って読み進めてください。

⚠ 注意:本記事は防御・活用のための解説です

Open WebUI・AnythingLLMともに数週間〜1か月単位で機能が更新される、動きの速いオープンソースプロジェクトです。画面の見た目や設定項目は将来変わる可能性があるため、実際に導入する際は必ず各ツールの公式ドキュメントで最新の手順を確認してください。また、本記事で紹介する脆弱性情報はすべて既に修正済みの過去事例であり、悪用方法の解説ではありません。

01

⏱️ 30秒早わかり&あなたに向いているのは?

3つの選択肢、まず自分に合うものだけ知りたい人向けの早見表

🗺️

ローカルRAGには「3つの入口」がある

Ollama(AIエンジン本体)を中心に、そこへ文書を読み込ませる方法は大きく3つあります。①Pythonでコードを書く(当サイトの既存記事)、②Open WebUIの「ナレッジ」機能を使う③AnythingLLMを使う。どれも内部的には同じOllamaに接続していますが、必要な知識・向いている人がまったく違います。まず下のカードで、自分がどれに当てはまりそうか確認してみましょう。

① コードを書く

Python版が向いている人

コードを書くこと自体を学びたい・抵抗がない
検索の精度を自分で細かくチューニングしたい
将来的に自分のアプリへ組み込みたい

本記事の対象外です。代わりにこちらへ:

② チャット感覚

Open WebUIが向いている人

すでにOllama+Open WebUIでチャットを使っている
複数人・チームで同じ知識ベースを共有したい
ふだん使っている画面の延長で完結させたい

本記事4章で解説します:

③ 最短ルート

AnythingLLMが向いている人

とにかく最短で自分のPDF・Wordに質問したい
インストールの手間すら最小限にしたい(デスクトップアプリ)
Web検索やファイル操作などのエージェント機能も試したい

本記事5章で解説します:

💡

2個以上当てはまった? 迷ったらOpen WebUIから

すでにOllamaを使っている方の多くはOpen WebUIも入れているはずなので、追加のインストールが要らない②から試すのが最短です。「とにかく手っ取り早く」を最優先するなら③、が実務的な判断基準になります。

02

⚖️ 3つの選択肢を比較する

同じOllamaという1つのエンジンに、3種類の「外装」がついているイメージ

🔗 図解:Ollamaを中心にした3つの外装

Ollama AIエンジン本体 ① Python実装 LangChain + Chroma 自由度が高いが学習コスト大 Open WebUI 「ナレッジ」機能でRAG チーム共有・拡張性が強み ③ AnythingLLM デスクトップアプリで即完結 個人の文書QAに強い 共通点 埋め込みモデルで文章をベクトル化 似た内容をベクトルDBから検索

海外のレビューでは「AnythingLLMはチャット機能もついたRAG+エージェントアプリ、Open WebUIはRAG機能もついたチャットアプリ」としばしば表現されます。設計思想の出発点が違うだけで、優劣の話ではありません。下の表で自分の用途に近い列を探してみてください。

比較項目① Python実装(既存記事)② Open WebUI「ナレッジ」③ AnythingLLM
学習コスト高い(Python・ライブラリの知識が要る)低い(GUI操作のみ)低い(GUI操作のみ)
セットアップの手間中(仮想環境・pip installなど)中(Open WebUI自体の導入が前提)低い(デスクトップアプリなら即起動)
チーム・複数人での利用自分で作り込む必要あり得意(もともとマルチユーザー設計)ワークスペース単位で分離管理
エージェント機能
(Web検索・ファイル操作等)
自分で実装すれば可能Function Calling等で対応「@agent」で標準搭載
デフォルトのベクトルDBChroma(自分で指定)Chroma系(内部利用)組み込みLanceDB(他DBにも変更可)
日本語の解説記事の量比較的多い比較的多いまだ少ない(今回の記事の狙い目)
向いている人仕組みを自分の手で理解したい人チームで使う・拡張していきたい人今すぐ自分の文書に質問したい人
🔍

「ノーコード=仕組みを理解しなくていい」ではない

GUI操作で完成させられるのは事実ですが、内部では「文章をどのくらいの塊(チャンク)に分けるか」「どのくらい似ていたら関連文書とみなすか(類似度しきい値)」といった調整が行われています。これを知らないまま使うと、「なぜか求めた答えが返ってこない」という壁にぶつかったときに原因を探せません。3章で仕組みを先に押さえておきましょう。

03

🧠 仕組みを理解する:RAGの舞台裏

ボタンの裏側で何が起きているかを知っておくと、つまずいたときに強い

RAGは「Retrieval-Augmented Generation(検索拡張生成)」の略で、やっていることは意外とシンプルです。あなたの文書を検索できる形に変換しておき、質問が来たら関連する部分だけを探し出してAIに渡し、それをもとに答えてもらう——たったこれだけです。RAGとは何か:仕組みと社内活用の価値で基礎を解説していますが、ここではノーコードツールの画面の裏で起きている6段階を追ってみましょう。

🔄 文書をアップロードしてから回答が返るまで

1

ファイルをアップロード

PDF・Word・テキストファイルなどをドラッグ&ドロップで追加する。

2

チャンク分割

長い文書を数百文字程度の小さな塊(チャンク)に機械的に分割する。1つの塊が長すぎても短すぎても検索精度が落ちる。

3

埋め込み(ベクトル化)

埋め込みモデルが各チャンクを「意味の近さ」を表す数値の配列(ベクトル)に変換する。

4

ベクトルDBに保存

変換したベクトルを専用のデータベースに保存する。Open WebUIは内部でChroma系、AnythingLLMは標準でLanceDBを使う。

5

質問時に類似検索

あなたの質問文もベクトル化し、「意味が近いチャンク」をベクトルDBから探し出す。多数決ではなく近さで選ばれる。

6

回答を生成

見つかったチャンクを根拠としてOllama上のAIモデルに渡し、それをもとに回答文を作らせる。

📐

Open WebUIには「まるごと読む」モードもある

Open WebUIのナレッジ機能には、関連チャンクだけを検索するFocused Retrievalと、文書全体をそのままAIに渡すFull Contextの2モードがあります。文書が短い・網羅性を重視したい場合はFull Context、文書量が多く速度・コストを重視する場合はFocused Retrievalが向きます。

04

💬 Open WebUIの「ナレッジ」機能で作る

すでにOllama+Open WebUIでチャットしている人が最短で辿り着ける方法

📦

前提:Open WebUI自体の導入は済んでいますか?

Open WebUIのインストール・Ollamaとの基本的な接続方法はOllamaとOpen WebUI完全攻略で解説済みです。ここではその続き、「ナレッジ」機能でRAGを作る手順だけに絞って説明します。

📝 ナレッジベースを作る4ステップ

1

サイドバーの「Workspace」→「Knowledge」を開く

画面左のメニューからワークスペースに入り、ナレッジタブを選ぶ。

2

「+ New Knowledge」で名前を付けて作成

「経理規程」「議事録2026」のように、後で見て分かる名前と説明を入れる。

3

ファイルを追加する

PDFやWordファイルをドラッグ&ドロップ。サブフォルダで整理することもできる。

4

チャット欄で「#」を入力して呼び出す

作成したナレッジ名が候補表示されるので選択。以降の質問はその文書を根拠に回答してくれる。

localhost:8080 ─ Open WebUI
あなた: #経理規程 交通費の精算はいつまでに提出すればいい?
参照ナレッジ経理規程(12ファイル)
検索モードFocused Retrieval
出典:経理規程第8条.pdf根拠あり
⚙️

精度を上げたいときは「Hybrid Search」を試す

管理者設定にあるHybrid Searchを有効にすると、意味の近さで探すベクトル検索に加えて、キーワード一致で探すBM25検索も組み合わせられます。バージョンによっては、結果をさらに並べ替える「リランキング」の設定もあわせて用意されているので、「意味は近いはずなのに欲しい答えが出ない」ときは両方の設定を確認してみてください。

05

⚡ AnythingLLMで作る

ソフトを起動してからQ&Aできるまでが最短のツール

📥

3つのインストール形態から選ぶ

個人でとにかく早く試したいならデスクトップアプリ版(Win/Mac/Linux対応、Dockerもターミナルも不要)が最も手軽です。複数人で常時共有したいならDocker版、外部サービスとして使いたいならクラウド版を選びます。本記事は個人利用を想定し、デスクトップアプリ版を軸に説明します(デスクトップ版には過去に脆弱性が報告された実績がありますが、既に修正済みです。詳しくは7章で解説します)。

📝 セットアップ〜Q&Aまでの5ステップ

1

デスクトップアプリをインストールして起動

公式サイトから自分のOSに合ったインストーラーを入手する。

2

LLMプロバイダにOllamaを選ぶ

初回設定でAIモデルの接続先を聞かれるので「Ollama」を選択。デフォルトの接続先はhttp://127.0.0.1:11434

3

ワークスペースを作成

用途ごとに文書・チャット履歴・設定が独立した「ワークスペース」を作る。

4

文書をアップロード

ワークスペースにPDF・Word等を追加すると自動で埋め込み処理が走る(内部では標準でLanceDBに保存)。

5

チャットで質問する

取り込んだ文書を根拠にAIが回答。あわせて「@agent」でWeb検索やファイル要約などの自動化も試せる。

AnythingLLM ─ ワークスペース設定
LLM ProviderOllama
Ollama Base URLhttp://127.0.0.1:11434
Vector DatabaseLanceDB(組み込み)
TelemetryEnabled(初期設定)
🐳

Docker版を使う人がよくつまずく落とし穴

Docker版でAnythingLLMを動かす場合、コンテナの中から見た「localhost」はコンテナ自身を指してしまい、ホストPC上のOllamaに接続できません。「同じPCなのになぜ繋がらないの?」の正体はここにあります。Windows・Macではhost.docker.internalのような、ホスト側を指す接続先を指定します(Linuxではこの名前が使えない環境が多く、代わりにホストのIP指定や--add-hostオプションが必要です)。デスクトップアプリ版ではこの問題自体が発生しません。

📡

テレメトリは初期設定でオン

AnythingLLMは匿名の利用状況データを送信するテレメトリ(PostHog経由)が、初期設定で有効になっています。設定メニューまたは環境変数で無効化できます。「ローカルで動くツール=一切の通信が発生しない」ではない、という点は7章で詳しく扱います。

06

❓ やりがちな誤解○×チェック

ここまで読んだあなたなら、もう見抜けるはず。5問チェックしてみましょう

1「ノーコードツールを使えば、仕組みを理解しなくても正確な回答が得られる」

答えを見る
✕:チャンクサイズや埋め込みモデルといった裏側の概念(3章)を知らないと、「なぜか求めた答えが返ってこない」ときに原因を特定できません。GUIで完結するのは「操作」であって「理解」ではありません。

2「ローカルLLM・ノーコードRAGツールは、導入した時点で外部への通信が完全にゼロになる」

答えを見る
✕:AnythingLLMは匿名の利用状況データを送るテレメトリが初期設定でオンです(5章)。「ローカル」は主要な処理が手元で完結することを意味し、無条件の通信ゼロを保証するものではありません。

3「Dockerでアプリを動かせば、それだけで安全な設定になる」

答えを見る
✕:Dockerは環境を分離する仕組みであり、それ自体はセキュリティ設定ではありません。公開範囲(7章)を誤れば、意図せず外部からアクセスできる状態になり得ます。

4「AIエージェント機能(ファイル操作やWeb検索を自動でしてくれる機能)は、AIが判断しているので人間の操作より安全」

答えを見る
✕:便利な自動化機能自体に実装上の欠陥があれば、それがそのまま攻撃の足がかりになり得ます(7章のCVE-2026-48116を参照)。「自動=安全」ではありません。

5「AnythingLLMのように日本語の紹介記事がまだ少ないツールは、マイナーで危険」

答えを見る
✕:日本語の情報量とソフトウェアの安全性は別の話です。開発が活発か、脆弱性が報告されたときにきちんと修正されているか(7章)で判断するのが実態に近い考え方です。
07

🔒 セキュリティ編:実例と安全設定

「ノーコードだから安全」ではなく「活発に開発されているぶん、こまめな更新が必要」が実態

📰

実際に報告された脆弱性事例(いずれも修正済み)

Open WebUI・AnythingLLMともに活発に開発が続くオープンソースプロジェクトで、これまでに複数の脆弱性が報告・修正されてきました。Ollama本体のセキュリティとは別に、これらの「ノーコードツール自体」の実例を知っておくと、なぜ更新が大切なのかが実感として分かります。なお、深刻度を表す「CVSS」は0〜10点でリスクの大きさを示す業界共通の指標で、点数が高いほど危険度が高いと考えてください。

CVE-2026-32626

文書を読んだだけで乗っ取られる(AnythingLLM)

深刻度Critical(CVSS 9.6)
対象v1.11.1以前
状態v1.11.2で修正済み

AIが回答を生成する際のMarkdown画像表示処理に、無害化されていないデータが渡ると、アプリ内で任意の処理が実行されてしまう欠陥があった。RAGに読み込ませた文書そのものが攻撃の起点になり得ることを示す実例。デスクトップアプリ版(Electron)に特有の欠陥で、Docker版・クラウド版では報告されていない。

CVE-2026-48116

「@agent」機能の抜け穴(AnythingLLM)

深刻度High
対象v1.13.0未満
状態v1.13.0以降で対応

ファイル検索を行うエージェント機能の内部で、外部から渡された文字列がコマンドの一部としてそのまま実行されてしまう欠陥があった。「エージェント機能はAIが判断するから安全」とは限らない実例。修正バージョンは分析情報に基づく記載で、開発元の公式発表では本稿執筆時点で明記されていない。該当しそうな場合は必ず最新版を使う。

CVE-2025-64496

「外部モデル接続」機能の欠陥(Open WebUI)

深刻度High(CVSS 7.3)
対象v0.6.34以前
状態v0.6.35で修正済み

外部のAIモデルサーバーに直接つなぐ「Direct Connections」機能で、接続先から送られてきたデータを検証せずに実行してしまう欠陥があった。Open WebUI側にも同種のリスクが存在した実例。

3件とも既に修正済み。大切なのは「更新し続けること」

ここで紹介した事例はすべて対応済みのバージョンが存在します。ノーコードツールだから危険という話ではなく、活発に開発されているぶん、修正も早いかわりに、こまめなアップデートが前提になるソフトウェアだと捉えるのが実態に近い理解です。

🌐 公開設定を理解する:127.0.0.1 と 0.0.0.0 の違い

127.0.0.1(localhost) 自分のPC ✅ 自分のPCの中だけで完結 0.0.0.0(すべての通信を受付) 自分のPC ⚠ 設定次第で外部からも到達可能に

※この図は概念を示す模式図であり、実際のネットワーク到達性を検証するツールではありません。ルーターの設定・ファイアウォール等、実際の到達可否は環境によって異なります。

🚨 絶対に避けたい組み合わせ:認証なしの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のいずれも、Pythonコードを書かずGUI操作だけでRAGが完成します。ただし「精度を追い込む」段階になると、3章で触れたチャンクサイズや埋め込みモデルの理解が役立ちます。
Open WebUIとAnythingLLM、結局どっちがいいの?
チーム共有・拡張性を重視するならOpen WebUI、個人でとにかく最速にPDF等へ質問したいならAnythingLLM、が実務的な目安です。2章の比較表とあなたの用途を照らし合わせてみてください。
Ollamaだけ(Open WebUIもAnythingLLMも使わず)でRAGはできる?
Ollama単体はAIモデルを動かすエンジンであり、文書を検索・参照する機能そのものは持っていません。RAGを作るには、本記事で紹介したツールか、既存のPython実装のような「外装」が別途必要です。
AnythingLLMは日本語の文書に対応している?
対応していますが、初期設定の埋め込みモデルのままだと日本語文書で精度が伸び悩むことがあります。多言語対応の埋め込みモデルへの変更が有効という報告があるので、思うような回答が得られない場合は設定を見直してみてください。
ローカルRAGは本当に安全?外部に情報は漏れない?
「主要な処理が手元のPCで完結する」という意味では安全性が高い一方、5章・7章で触れた通りテレメトリなど一部の通信は初期設定で有効になっている場合があります。「ローカル=完全に無音」と思い込まず、設定を確認する習慣が大切です。
もっと本格的に作り込みたくなったら、次は何をすればいい?
検索精度を自分で細かく制御したくなったら、当サイトの完全オフラインのローカルRAGハンズオンが次のステップです。守りの知識を深めたい方は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か月単位でバージョンが進むため、本文中のバージョン番号は執筆時点のものです。導入の際は必ず公式ドキュメントで最新情報をご確認ください。

コメント