ベクトルストアを使ってみたら便利だった話

社内での調べものに、これまでは RAG + LLM(外部のWeb情報などを検索して答えてくれる機能)だけを使っていました。
正直、「わざわざベクトルストアまで使わなくても、RAG があれば十分では?」と思っていました。

ところが、同僚から

「何度も利用するドキュメントを調べるなら、ベクトルストアがあるとかなり便利だよ」

と言われたのをきっかけに、実際に試してみたところ

「分けて考えると理解しやすいし、確かに便利かも」と感じたので、簡単にまとめてみます。

RAG と ベクトルストアの違い(社内エンジニアの整理)

社内のエンジニアに違いを聞いたときの整理が、自分的にかなり腑に落ちました。

RAG は 「外部情報を使って答える仕組み」。
ベクトルストア は 「意味が近い文章を探すための倉庫」。

もう少し補足すると:

  • 文章は AI が扱いやすいように、数字のリスト(ベクトル) に変換される
  • そのベクトルをしまっておいて、意味が近いものを検索 するのがベクトルストア
  • Web検索であれ、社内文書であれ、外部の情報を引っ張ってきて LLM に渡す仕組みは全部 RAG

つまり、

  • 「RAG = 外部情報を使うという全体の枠組み」
  • 「ベクトルストア = その中の、意味ベース検索用のストレージ」

というイメージです。

ミニ就業規則をベクトルストアに入れて試してみた

実験として、Word でごく簡単な ミニ就業規則 を作りました(スクショ参照)。

image.png

これを以下の2パターンで試しました。

  1. ベクトルストアを選択しない(=ミニ就業規則を参照しない)状態で質問
  2. 「ミニ就業規則」というベクトルストアを選択 して質問

質問内容は例えばこんな感じです。

  • 「この会社ではリモートワークは週何回までできますか?」
  • 「有給休暇は何日前までに申請が必要ですか?」

ベクトルストア「なし」の場合

image.png

image.png

スクショのとおり、ベクトルストアを選択せずに質問した場合は、

  • 「一般的には〜な企業が多いです」
  • 「会社によって異なるので就業規則を確認してください」

といった、“世の中全体の一般論” ベースの答え が返ってきました。
これはこれで間違いではないのですが、こちらが知りたいのは「このミニ就業規則に基づく答え」です。

ベクトルストア「あり」の場合

image.png
一方で、「ミニ就業規則」というベクトルストアを選択した状態で同じ質問をすると、

  • 「就業規則では在宅勤務は週◯日までと定められています」
  • 「有給休暇は取得希望日の◯日前までに申請すると書かれています」

というように、ちゃんとミニ就業規則の文言に沿った回答 が返ってきました。

スクショを見てもらうと分かりますが、

  • なし: “普通の会社なら…“ という話
  • あり: “この規則にはこう書いてある“ という話

という違いがはっきり出ています。

使ってみて「便利だな」と感じたポイント

今回のような小さな例でも、ベクトルストアを噛ませると次のようなメリットが見えてきました。

  • 一般論ではなく、特定ドキュメントに基づいて答えさせられる
    → 就業規則、社内ルール、手順書などにぴったり

  • 「意味が近い」文を拾ってくれる
    → たとえば、文書側が「在宅勤務」、質問が「リモートワーク」でも、きちんと同じ話として扱ってくれる

  • RAG の“外部情報”を、手元の文書に限定できる
    → Web検索ではなく、「このベクトルストアに入れた文書だけで答えてほしい」というコントロールがしやすい

個人的には、「RAG だけ」で何となくやっていたときよりも、「どの情報源から答えさせるか」を意識的に切り替えられるようになったのが一番の収穫でした。

この記事を書いた人

aws-recipe-user