特集

これなら社外秘情報も読ませられる!「AnythingLLM」で超快適ローカルRAG生活

 「AnythingLLM」というチャットAIツールがある。筆者はQualcommのSoC「Snapdragon X」のNPUで動かせるローカルLLMがあると聞いて試したことがあったのだが、どうも本ツールの本領は「Retrieval-Augmented Generation(RAG)」を活用できることらしい。

 ローカルで動作するチャットAIツールは、ほかにも「LM Studio」なども存在するが、本ツールはRAGによってぐっと実用性が増している。どこがどう違うのか、実際に使いながら解説していく。

本体は無料でダウンロード可能

 本ツールは公式サイトから無料でダウンロードできる。公式サイトは英語のみだが、「Download Free」のボタンからたどり、Windowsのx64版かArm版かを選ぶだけでダウンロードできる。インストーラーやツール本体は日本語対応しているのでご安心を。

公式サイトから無料でダウンロード

 インストールが終わると、いくつかの初期設定が始まる。まずチャットAIモデルを1つ選択するよう促される。最適なAIモデルを選んでくれるので、それを選んでおいて構わない。後でほかのモデルもダウンロードは可能だ。

AIモデル選択。ひとまず指定されたものでよい

 次にLLM Provider、Embedding Preference、Vector Databaseを選択する。これも後から変更可能なので、そのまま次へ進む。

次もそのまま

 続いてアンケートがあるので、お好みで答えて次へ。

アンケートの回答は任意

 その後はいくつかの機能を有効化するか尋ねられるが、これらもそのまま進んで構わない。一部は有料版の限定機能の紹介も兼ねている。

機能紹介と有効化の確認

 これらの設定が終わると、チャット用のUIが表示される。ここで何か入力すると、最初に選んだチャットAIモデルと会話できる。

チャットUIが表示されたら初期設定は完了

 AIモデルは変更可能。右下にあるスパナのアイコンをクリックし、「AIプロバイダー」の中にある「LLM」を選び、表示されるAIモデルの中から好みのものを選択する。そしてチャットUIに戻り、チャットウィンドウの左上にあるモデル名をクリックして、ダウンロードしたAIモデルを選べば切り替えられる。

AIモデルはいろいろ選べる

 これでベースとなるチャットAIの準備は完了だ。この状態では、AIモデルごとの知識に応じた会話ができる、普通のローカルチャットAIである。本題はここから。

AIとチャットができた。ここまではほかのツールでも同じ

RAGとは何か?

 本ツールの特徴であるRAGは、簡単にいうと、AIに新たな知識を渡す仕組みだ。日本語では「検索拡張生成」などと呼ばれる。

 通常のローカルチャットAIはユーザーの問いに対して、AIモデルが持つ知識の中から回答する。RAGの仕組みを使うと、ユーザーがあらかじめ渡しておいた情報を参照して、その中から答えを探して回答する。

 たとえば、ある製品の分厚い説明書を、RAGを用いてチャットAIに内容を渡しておく。使い方に困ったとき、そのチャットAIに使い方を尋ねると、AIは説明書の中から関連する情報を探して、AIなりの文章にまとめて出力してくれる。

 チャットAIには、存在しない情報を作り出して回答してしまうハルシネーションという現象がある。RAGを使うことで、確かな情報を参照して回答できるようになり、ハルシネーションを減らして回答の正確性を高められる。

 これをローカルAIで簡単に実現してくれるのが「AnythingLLM」である。

データを渡してデータベースに登録

 では実際に本ツールでのRAGを試していく。まず下準備として、ウィンドウの左側にある検索の右、「+」をクリックして、新しいワークスペースを作成する。名前入力を求められるので、何に使う場所か見分けられる名前を付けておこう。

 新しいワークスペースを作ると、左のワークスペース一覧に加えられる。新しいワークスペースを選び、その右にある歯車のマークをクリックすると、ワークスペースの設定画面が表示される。ここで上のタブから「チャット設定」を選び、その中にある「チャットモード」で「クエリ」を選択しておく。ここまでの手順の意味については後で詳しく説明する。

「チャット設定」はいったん「クエリ」を選択

 次に歯車マークの左側にある、上矢印のマークをクリックする。すると「マイ ドキュメント」というウィンドウが開く。ここからRAGでAIにデータを渡す手順になる。

 AIに読ませるデータは、シンプルなテキストファイルのほか、CSVファイルやスプレッドシート、音声ファイルにも対応している。筆者が試したところ、PDFファイルも使えた。ドラッグ&ドロップでファイルを持っていくと、渡したファイルが「マイ ドキュメント」のリストに入る。これは感覚的には、サーバーにファイルを置いただけの状態だ。

PDFファイルをドラッグ&ドロップで渡すと、上のリストに登録される

 続いて、リストからAIに渡したいファイルを選び「ワークスペースへ移動」のボタンをクリック。すると下にある別のリストに載るので、この状態で最下部にある「保存して埋め込む」をクリック。

「保存して埋め込む」をクリック

 リストの表示が変わり、ピンなどのアイコンが表示されたら、RAGによるデータ登録が完了した状態だ。登録したデータはベクターデータベースと呼ばれるものに入力され、AIが素早く情報を見つけられるようになっている。

この状態になったら登録完了

 ちなみにRAGでベクターデータベースを作成する仕組みは、本ツールが持っている機能であり、チャットAIモデルとは関係ない。AIモデルはあくまでこのデータを活用する側だ。

Webサイトをクロールしてデータ取得可能

 渡せるデータはローカルにあるファイルだけではなく、Webサイトを参照する指示もできる。さきほどファイルをドラッグ&ドロップした場所の下に、URLを入力できるテキストボックスがあるので、そこにURLを入れて「ウェブサイトを取得」を押す。あとはファイルを渡したときと同じように登録するだけでいい。

URLを入力するだけで、WebサイトもRAGの情報源にできる

 ただURLを1つずつ登録するのは手間がかかる。そこでウィンドウ上部にある「データコネクタ」をクリックすると、複数ページを一括読み込みできる機能が表示される。「ウェブサイト一括スクレイパー」で指定したWebサイトの子リンクまでたどって、自動でクロールして情報を拾ってきてくれる。

 ほかにも、GitHubリポジトリ全体をインポートする「GitHubリポジトリ」や、YouTube動画の文字起こしをインポートする「YouTube文字起こし」などもある。

「GitHubリポジトリ」は開発者が重宝しそう

 今回は「ウェブサイト一括スクレイパー」を使って、筆者が僚誌「窓の杜」で連載している「使ってわかるCopilot+ PC」の2026年度分を読ませてみた。一覧ページのURLを入力し、そのURLからたどる子リンク数である「クロール深度」を「1」、最大ページ数を「60」とした(連載以外の記事へのリンクも存在するので多めに指定)。

「ウェブサイト一括スクレイパー」で複数ページを一括で読み込む

 しばらく待つと、ドキュメントの一覧に多数のURLが登録された。この中から筆者の連載記事ではないものを選んで、ゴミ箱マークを押して削除。さらに連載記事を選んで「ワークスペースへ移動」し、下に移動して「保存して埋め込む」をクリック。これで2026年分の連載記事の内容をAIが参照するようになる。

必要ない記事は取得したデータから削除できる

 ワークスペースの設定画面から「ベクターデータベース」を開くと、「ベクター数」が「191」になっていた。何も登録していない状態では「0」だったので、データベースに正しくデータが保存されているのが分かる。

「ベクター数」が増えていれば登録された証拠

RAGのデータだけで回答させる

 この状態で、チャットAIに「RTX Sparkについて教えて」と尋ねてみた。するとハードウェアの情報や、「VIRTUA FIGHTER CROSSROADS」が動作することなどを答えた。いずれも筆者が連載記事で書いた内容だ。

 使用したチャットAIのモデルは「Qwen3-vl:4b-instruct」だが、これは2025年初頭あたりまでの情報しか持っていない。今月発表された情報まで含んで回答しているということは、渡した情報をRAGで正しく処理できている証拠だ。しかも情報元のURLまで示し、記事を確認もできる。

RAGのおかげで最新情報を取得できている

 では、渡した情報と全く関係ない「日本で一番高い山は?」と聞いたらどうなるか。「There is no relevant information in this workspace to answer your query.(このワークスペースには質問に答えるための関連情報がありません)」という一言だけが返された。

関係ないことを聞いても答えてくれない

 これは先に行なったワークスペースの設定で、「チャットモード」を「クエリ」にしておいたためだ。「クエリ」では、RAGで登録した情報のみを答えるよう制限され、チャットAIは自らの知識から回答しないようになる。つまり与えた情報の中で、高い精度での回答を行なえるという仕組みだ。

 出力するテキストは、動かすチャットAIモデルによっても変わる。今回だと、AIモデルを「gemma4:e4b-it-q4_K_M」に変更したところ、同じ質問でも回答のテキストが大きく変化した。情報としてはどちらも同じデータベースを参照しているので間違いないが、表記の仕方、いわゆる文章力やクセのようなものが変化する。

「Qwen3-vl:4b-instruct」による回答。箇条書きが多めな印象
「gemma4:e4b-it-q4_K_M」では思考プロセスが入った後、自然な文章で端的にまとめられている

ワークスペースごとに蓄積するデータベースを個別に持てる

 本ツールのRAGによるベクターデータベースは、ワークスペースごとに作られる。今回は筆者の連載記事をベースにしたが、ほかのワークスペースを作成すれば、RAGで持たせるデータを別のものにできる。

 学校や保育所からの書類を渡して「あのイベントいつだっけ?」、家電製品の説明書を渡して「この機能の使い方は?」、オンラインゲームのチャットログを渡して「あのボス戦を一緒に戦ったの誰だった?」、自作の小説のテキストを渡して「パン屋のおばちゃんは第何話に出てきた?」などなど、いろいろ活用できる可能性がある。RAGでどんどん情報を蓄積していくほど使い勝手は良くなるだろう。

 このような機能は、大手のクラウド型チャットAIでも実現可能ではある。ただ本ツールはローカルAIなので、外部に情報を出す必要がない。社外秘の業務情報も、他人には知られたくない個人情報も、本ツールなら扱いやすい。AIモデルのサイズに応じたメモリ容量は必要だが、AIを利用するための追加費用はかからない。

 手元のデータをデータベース化し、チャットAIに聞いて情報を取り出せる仕組みが、とても簡単に実現できる。ただローカルでチャットAIを動かすだけでなく、もっと実用的な活用ができるAIツールなのである。

さらに便利な使い方2選

 おまけにもう2つほど、本ツールの使い方をご紹介しよう。

 1つは「チャットモード」の設定。「クエリ」を「チャット」に変更すると、RAGのデータだけでなく、チャットAI自身の知識からも回答するようになる。RAGで与えてられていない情報への質問に対しては、チャットAIが回答するようになる。

 さらに「代理人」を選ぶと、「エージェントスキル」が使えるようになる。「エージェントスキル」の詳細は本ツール全体の設定の中にあり、「ウェブサイトの取得」がOnになっている場合、AIが自らWebサイトを検索して情報を探しに行く。

 たとえば、「チャットモード」が「チャット」の状態で「現在の日本の総理大臣は?」と聞くと、最新情報を持たない「Qwen3-vl:4b-instruct」は「岸田文雄」と答えてしまう。しかし「代理人」にした上、「Web検索を用いて調べて」と伝えると、「高市早苗」と答えた。情報の細部は誤りも見られるが、自らの知識にはない最新情報を取得できたことは間違いない。

「チャットモード」を「チャット」で質問すると、AIモデルの知識にある中から回答する
「代理人」を選ぶと、Webサイトの情報をAIが自ら検索して探し出すことも可能になる

 もう1つは、同じく全体設定にある「LLMプロバイダー」の選択。今回使用したPC環境は、Ryzen AI 9 HX 370を搭載したミニPCだったが、チャットの推論処理をCPUで行なっており、「LLMプロバイダー」で標準設定の「AnythingLLM」ではGPUやNPUが使われなかった。

 「LLMプロバイダー」は、どのチャットAIツールにLLM処理を任せるかを指定する仕組み。今回はRyzen AIに特化したチャットAIツール「Lemonade Server」を導入しておき、「LLMプロバイダー」で「Lemonade」を選択した。

 チャットウィンドウの左上からAIモデルを選ぶ際、LLMプロバイダーで「Lemonade」を選び、使用するAIモデルは「gemma:gemma4-it-e4b-FLM」を選択。これはNPUで推論を行なうAIモデルだ。

別のAIツール「Lemonade Server」を呼び出せる

 「Lemonade Server」を起動した状態で、「AnythingLLM」でチャットを入力すると、回答中に今までは使用していなかったNPUの負荷が上がるのを確認できた。正しく「Lemonade Server」と連携して動作している。

「AnythingLLM」から「Lemonade Server」を呼び出して使うと、NPU対応モデルも使える。回答の精度は使用するAIモデルに依存するが、RAGで精度を上げることも可能だ

 ちなみに「Lemonade Server」側でダウンロードしていないAIモデルを「AnythingLLM」で呼び出した場合、そのモデルのダウンロードが行なわれ、回答が可能な状態になった時点でテキストが出てくる。かなり待たされることにはなるものの、「Lemonade Server」はただ起動しておくだけで、直接触る必要はほぼない。とてもうまく連携が取れている。

 ほかにもいろいろな設定項目が用意されており、かなり多機能なフロントエンドAIツールとなっている。RAGが魅力的なのは確かだが、それ以外でもローカルAIの活用を広げてくれる面白いツールなので、ぜひお試しいただきたい。