Amazon BedrockでGraphRAGを試してみる
はじめに
re:Invent 2024で発表されたGraphRAGを試します!
試してみる
前提として
Amazon Bedrockのナレッジベースを使ったことのあることを前提に書くので、ナレッジベース初見だと分かりにくいかもしれません。ナレッジベースに関して知りたい方は過去記事を見ていただくか、ググって調べていただければと思います。
GraphDB(Amazon Neptune)を使ったナレッジベースを作る
GraphRAGを作るには、Amazon Bedrockのナレッジベース機能を使います。
AI系の新機能はアメリカでしか使えないパターンが多いですが、GraphRAGは東京リージョンでも使えるようなので東京リージョンで試します。
Bedrockのコンソールからナレッジベースのページに行き、「ナレッジベースを作成」を押下します。今まで使っていた方には見たことのない選択肢が追加されていますが、これはGraphRAGとは関係ないので既存機能側の「Knoledge Base with vector store」を選びます。[1]
このあとは今までのナレッジベースの作成と同様にデータソース(S3など)を選んで、step3まで進めます。すると、ベクトルデータベースの設定に Amazon Neptune Analytics (GraphRAG)
が選べるようになっているので選択します。
ここで気づいたのですが、Aurora Serverlessも選択できるようになっていますね。(Aurora Serverless自体は以前からナレッジベースに対応していたけど、今まではコンソールから簡単に新規作成は出来なかったはず!)
それはともかく、GraphRAGを選択したらそのまま進んで「ナレッジベースを作成」を押下すればOK
作成中に暇だったので、Neptuneのコンソールを確認したら、作成中になっていました。
(データベースの方にないなぁと思ったら、Analyticsの方にありました。)
作成には数分間待たされるので気長に待ちましょう。
完成したら、今までのナレッジベースと同様にデータソースを同期して、画面右側で試せます。
私の感覚では、いつも(OpenSearch Serverless)よりも同期に時間がかかるような気がします。(測ってないので気のせいかもしれません)
うん。なんか微妙な回答。
ついでなのでBedrock Agentと繋いでSlackと連携してみた
ついでなのでSlackからGraphRAGを呼び出しました。Slack連携のやり方は過去記事を参考にしてください。
Slack連携の設定ができたら、実際にSlackからBedrockのGraphRAGを呼び出してみます。
うーん。Agentを通したことでナレッジベース単体よりも多少精度は上がった気がしますが、正直微妙な回答です。パッと見だとOpenSearchより良くなったとは判断できないですね。(悪くなったとも言えないので微妙なところです。)
最後に
とりあえず、簡単にGraphRAGの構築が出来ました。精度は軽く触っただけだと正直なんともいえないです。
しばらく試して、追加で気づいたことや利用料金に関して追記したいと思います。
追記(お値段)
データ量が極めて少ない状態で、日額約14ドル。月額に換算すると63000円程度。
やっぱり結構お高い。。。でもナレッジベース用のDBと考えるとそんなものだよなぁと言う感じ。
-
もう1つの選択肢もre:invent 2024の新機能で、選択するとAmazon Redshiftと連携が出来ます。またリージョンによっては更にもう1つKendra連携の選択肢が追加されていたりします。 ↩︎
NCDC株式会社( ncdc.co.jp/ )のエンジニアチームです。 募集中のエンジニアのポジションや、採用している技術スタックの紹介などはこちら( github.com/ncdcdev/recruitment )をご覧ください! ※エンジニア以外も記事を投稿することがあります
Discussion