本文へ移動

RAG(検索拡張生成)

検索拡張生成(RAG)とは、文書の集まりから質問にもっとも関係する部分を検索し、それを言語モデルに渡して、その内容から回答を書かせる技術のことです。学習していない資料や、丸ごと貼り付けるには大きすぎる資料を、モデルが扱えるようになります。

2026年11月8日 更新

  1. 読めるのは、あなたのデバイスだけ。

    会話を読めるのは、あなたのデバイスと、同期していればほかのデバイスだけ。それ以外のどこでも読めません。

  2. 私たちには読めない。

    メッセージは記録されずに通過します。チャットが保存されるときは、必ず暗号化されています。

  3. モデルはあなたを知らない。

    届くのは質問だけ。メール、アカウント、IP アドレスは渡しません。

  4. 途中に何も残らない。

    回答は戻ってきて、暗号化されてここに保存されます。同期していても、あなたの鍵が平文で私たちに届くことはありません。

NeverNo での会話の流れ。詳細は透明性ページにあります。

しくみ

RAG のしくみには二つの段階があります。まず索引づけの段階で、各文書を小さな部分に切り分け、それぞれを埋め込み(意味をとらえた数値のリスト)に変換します。似た話題の部分は、似たベクトルになります。次に、質問のときに、質問も同じ方法でベクトルにし、ベクトルを比べてもっとも近い部分を見つけ、質問のそばにプロンプトとして加えます。モデルはそれを使って答えます。

この方法は、通常のモデルの二つの限界に対処します。一つは、学習していないものは読めないことです。講義ノート、取引先との契約書、製品マニュアル、先週の変更履歴などがそうです。もう一つは、コンテキストウィンドウに限りがあることです。検索は必要なものだけを持ち込むので、ウィンドウよりはるかに大きな書庫にも質問できます。さらに、回答に足場を与えます。モデルが使った箇所を引用できるので、ハルシネーションに気づきやすくなります。

回答の質は、検索の質に左右されます。正しい部分が見つからなければ、モデルは引用するものがなく、推測に頼ることもあります。部分の大きさも大切です。文の途中で切れた断片は意味を失い、章ほどの大きさの塊は余白を無駄にします。スキャンしたページ、表、脚注はつまずきやすい点です。そのため、RAG の回答は、引用された箇所を見ながら読むのがいちばんです。典型的な部品は、埋め込みモデル、ベクトル索引、リランカー(再順位付け)、分割の規則、プロンプトのひな形で、ヘルプデスクのボット、法務調査、学習の補助、社内の Wiki などに使われます。ハイブリッド方式では、意味によるベクトル検索と、BM25 のような従来のキーワード採点を組み合わせ、絞り込んだ候補をクロスエンコーダーで再順位付けします。製品コード、姓、エラー番号のような正確な文字列は、意味だけよりも文字そのものの一致のほうがよく見つかるからです。

NeverNo では

NeverNo の金庫(Vault)は、プライバシーを中心に作った RAG です。追加した文書は、PDF、Word、Markdown、テキスト、コードのいずれでも、ブラウザの neverno という IndexedDB データベースに、会話と同じ鍵で暗号化して保管されます。各文書は約800トークンの部分に切り分けられ、それぞれに1,024個の数値からなるベクトルが付きます。このベクトルは DeepInfra のプライベートモデルで一度だけ計算され、検索そのものは、ブラウザに保存されたベクトルを使ってブラウザ内で行われます。

「金庫を使って答える」をオンにすると、質問には、もっとも近い部分だけが、最大6件(無料プランでは3件)、文書名とともに、そのメッセージだけに添えて、答えるモデルへ送られます。ほかの文書がブラウザの外へ出ることはありません。匿名化モデルでは、その部分もメッセージとともに開発元に届き、開発元の規則が適用されます。GLM 5.3 Flash は Z.ai の無料のプライベートモデルで、画像も読み取れます。プライベートな AI のページでは、すべてがどこに保管されるかを説明しています。

覚えておきたいこと

  1. RAG はまず集まりを検索し、見つかった部分からモデルに回答させます。

  2. コンテキストウィンドウに限りがあっても、非常に大きな書庫を使えるようにします。

  3. 裏づけとなる部分を示せるので、回答を確認しやすくなります。

  4. 質は検索に左右されます。正しい部分を見逃すと、回答が悪くなります。

よくある質問

RAG は、自分の文書でモデルを訓練することと同じですか?

いいえ。訓練はモデル自体を変えるもので、時間も費用もかかります。RAG はモデルを変えず、質問ごとに関係する部分をプロンプトに置くだけなので、文書はいつでも変更できます。

埋め込みとは何ですか?

文章の意味を表す数値のリストです。意味の似た文章はベクトルが近くに並ぶので、正確な言葉ではなく意味で検索することができます。

RAG でハルシネーションはなくなりますか?

モデルに頼れる本物の文章を与えるので減りますが、なくなりはしません。モデルが部分を読み違えたり無視したりすることもあるので、引用された部分と回答を照らし合わせてください。見逃した部分、読み違えた表、古い資料が典型的な失敗です。質問ごとにどの部分が検索されたかを記録しておくと、なかなか直らない誤答をエンジニアが調べやすくなります。鮮度も大切で、文書が変わるたびに索引を作り直してください。

最初の質問をしてみましょう

アカウントもカードも不要。NeverNo が対応する10言語のどれでも書けます。

チャットを開く