【新機能】Amazon Bedrock Knowledge Bases でGraphRAGをサポートするようになりました(Preview)
こんにちは! AWS 事業本部コンサルティング部のトクヤマシュンです。
ラスベガスで開催されている AWS re:Invent 2024に参加しています。
3日目のキーノート:KEY003 | Swami Sivasubramanian, Vice President, Data and AI at AWS
にて、Amazon Bedrock Knowledge BasesのGraphRAGサポートが発表されました(Preview)。
What's Newにも記載されています。
何が嬉しい?
これまでKnowledge Basesで対応していたRAGの単純なベクトル検索は、情報同士の関連性を正確に把握することが難しい場合がありました。
一方、GraphRAGでは保存される情報同士の関連性が強化されます。
こうしたグラフ情報を組み合わせることで、コンテキスト情報を持ったより精度の高いテキストを生成できるようになります。
下記のセッションレポートでもGraphRAGの利点について述べられていますので、ご参照ください。
機能概要
今回の機能は、Amazon Bedrock Knowledge BasesのVector StoreにAmazon Neptune Analyticsを用いることができるようになった、というものです。
Knowledge Baseを作成すると、Amazon Neptune AnalyticsのグラフDBが実際に作成され、GraphRAGに利用されます。
Amazon OpenSearch Serverlessを使ってKnowledge Baseを作成したことがある方は、その部分がAmazon Neptune Analyticsに置き換わると考えていただくと分かりやすいかもしれません。
対応リージョンは、Amazon Bedrock Knowledge BasesのVector StoreとAmazon Neptune Analyticsが利用可能なリージョンすべてです。
料金は、Amazon Bedrock Knowledge Basesの料金とAmazon Neptune Analyticsの料金に従います。
Knowledge Baseを作成してみる
Knowledge Baseを作成する際、下図のようにVector StoreにGraphRAGを選択できるようになっています。
なお、グラフ生成に利用される基盤モデルはClaude 3 Haiku v1固定のようでした。
最後まで進んでCreate Knowledge Baseボタンをクリックすると、Knowledge Baseが作成されます。
作成には少し時間がかかります。Neptune AnalyticsのGraphDBが作成されるためです。
なお、Vector DatabaseにNeptune Analyticsが利用されていることは画面からもわかります。
Neptune Analytics側を確認すると、Graphデータベースが作成されていました。
GraphRAGを使ってみる
GraphRAGを用いたテキスト生成を試してみます。
今回、次のようなテキストを準備しました。
Aさんの子はBさん
Bさんの子はCさん
このテキストを先ほど作成したNeptune AnalyticsをVectorStoreに用いたKnowledge Base(GraphRAG)にSyncし、
OpenSearch Serverless Base(RAG)と比較してみます。
せっかくなので昨日発表されたNova Liteを使い、「Aさんの孫は誰ですか?」と聞いてみます。
GraphRAG(Neptune Analytics)の場合
質問の結果、「Aさんの孫はCさんです」と正しい答えが帰ってきました!
RAG(OpenSearch Serverless)の場合
質問の結果、「Aさんの孫はCさんの子です」と誤った答えが帰ってきました。。。
このように、お互いに関連しているような情報を用いたテキスト生成が必要な場合は、GraphRAGが有効だと言えると思います。
以上でGraphRAGを使ってみる、を終えます。
なお、検証を終えた後にはNeptune AnalyticsやOpenSearch Serverlessを削除することをお忘れなく。
まとめ
Amazon Bedrock Knowledge BasesのGraphRAGサポート(プレビュー)を紹介しました。
手軽にGraphRAGを用いたテキスト生成が行えるようになったので、とても熱いサービスです!
本エントリがどなたかのお役に立てば幸いです。