第9章 知識強化型 RAG
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
RAGは、情報検索へのアプローチを根本から変えた。我々は、キーワードマッチングという硬直した世界から、より流動的で直感的なセマンティック検索のドメインへと移行した。 この変化により、文書に含まれる特定の単語だけでなく、その概念的な意味に基づいて文書を発見することができるようになった。 その強みにもかかわらず、ベクトル検索やハイブリッド検索のみに基づいて構築されたRAGシステムは、エンティティ間の関係性をより正確に理解する必要があるクエリに対しては、処理に苦労することがある。この問題は、ベクトル検索が確定的な事実ではなく、確率や類似性を扱うために生じる。以下にいくつかの例を示す:
- 時間限定の事実
-
セマンティック検索は、特定の時点に依存する質問への回答には向いていない。なぜなら、セマンティック埋め込みは過去と現在の情報を混同しがちだからだ。1
-
例えば、「2022年10月のTwitterのCEOは誰だったか?」といったクエリの場合、検索されたテキストによっては、イーロン・マスク、ジャック・ドーシー、あるいはパラグ・アグラワルに言及した結果が返される可能性があり、要求された日付との明確な対応関係は得られない。これにより、不適切なレスポンスが返されるか、LLMが2022年の具体的な正解を特定せずにすべての選択肢を提示しようとするケースが多々ある。
- 複数の制約の積集合
-
質問が一度に複数の要件を満たす必要がある場合、セマンティック検索は確実な一致ではなく、緩やかに関連するテキストを提示する傾向がある。
-
「ワルファリンとグレープフルーツジュースの両方と相互作用する薬は何か?」というクエリを考えてみよう。セマンティック検索では、ワルファリンの相互作用に関する断片や、グレープフルーツジュースの相互作用に関する断片が返される可能性はあるが、必ずしも両方を網羅した単一の断片が返されるとは限らない。このシナリオでは、返された断片のいずれかがたまたま両方を扱っている場合のみ、RAGシステムは正確な回答を返すことになる。
- 連鎖的またはマルチホップ推論
-
ベクトル検索はトピック間の類似性を扱うが、関係性の段階的な連鎖を追跡するわけではない。
-
「『インセプション』も監督した人物が監督した2014年の映画の主演俳優は誰か?」というクエリに対し、ベクトル検索では『インセプション』に関するチャンクが返される可能性がある。そこにはクリストファー・ノーランや彼のフィルモグラフィーに関する言及が含まれているかもしれないが、LLMはそれらを「クリストファー・ノーラン → インターステラー → マシュー・マコノヒー」のような形で確実に結びつけることができないかもしれない。
第7章で論じたように、AIエージェントはクエリをサブクエリに慎重に分解し、ツールを反復的に使用することで、これらのシナリオに完全に対処できる可能性がある点に留意すべきだ。 とはいえ、本章では次の点を検討したい。AIエージェントに依存せずに、RAGにおける検索精度を向上させる方法はあるのか?
実は、ナレッジグラフ(KG)は、 こうした種類のクエリを処理するための有用なツールとなり得る。また、こうした複雑なクエリが頻繁に発生し、高品質なレスポンスが得られないことがビジネス成果に重大な影響を及ぼす場合、KGの構築とデプロイに伴う複雑さは正当化される。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access