2025/02 現在プレビュー
前回までのあらすじ
検証1と検証2をご覧ください。
この時はベクトルデータベースに、Amazon Auroraを利用し検証しておりました。
今回は、Neptune Analytics (GraphRAG)を利用して関連性のある複数の質問に回答できるかを試してみたいと思います。
Neptune Analytics (GraphRAG) とは
昨年、re:Invent 2024で発表されたナレッジベースの新機能です
RAG(検索拡張生成)技術とグラフデータを組み合わせることで、AI アプリケーションがより関連性の高い、説明可能な回答を提供できるようにするものです。
具体的には、Amazon Neptune Analytics を活用して、データ内のエンティティ(例えば、場所や人物)とその関係性を自動的に分析し、ユーザーの質問に対してより的確な情報を提供します。
(例)
- 通常: 「EC2のネットワークが遅い」と聞くと、一般的なネットワーク最適化の方法がリストアップされる
- GraphRAG: 「EC2のネットワークが遅い、VPCの設定も確認したい」と聞くと、
➡️ 「EC2」「VPC」「サブネット」「セキュリティグループ」などの関係性を分析
➡️ 「VPCフローログを確認」「セキュリティグループの制限をチェック」「ネットワークACLのルールを確認」など、状況に応じた具体的な対策を提案
料金
オレゴンリージョンで試していますが、Neptune Analyticsの料金がUSD 0.48/時で割りかし高めですので、個人で試す場合はある程度情報を収集してから試すことをおすすめします。
設定
ナレッジベース作成時にAmazon Neptune Analytics(GrahRAG)を指定するだけでです
他は前回の記事で書いた設定と同じです。
- 埋め込みモデル: Titan Text Embeddingsv2
- チャンキング戦略: Semantic chunking
- Parsing strategy: Claude 3.5 Sonnet v1 (Bedrock model parsing)
- LLM: anthropic.claude-3-5-sonnet-20241022-v2:0
- temperature: 0.1
- topP: 0.9
検証1
前回の検証1と同じ質問「令和6年の邦画のランキング3位を教えて下さい。また、主演を演じた俳優と誕生日を教えて。」と質問してみます。
期待する回答は前回と同じ以下の通りです。
①邦画のランキング3位であることは、「映画ランキング.pdf」
②主演が山崎賢人であることは、「キングダム_大将軍の帰還.pdf」
③山崎賢人の誕生日は、「山崎賢人.pdf」
"numberOfResults": 10 に設定してみる
①までしか回答してくれません。
"numberOfResults": 30 に設定してみる
①②③まで回答してくれました。前回の記事でAmazon Auroraを利用していた場合は、"numberOfResults": 100 までにしないとここまでの回答をしてくれませんでした。
そのため、関連性の高い質問を回答したい場合は、おそらくGraphRAGが有効であることわかります。
検証2
「令和6年の映画のランキング3位を教えて下さい。」と質問します。
期待する回答は前回と同じ以下の通りです。
邦画では「キングダム 大将軍の帰還」
洋画では「ウィッシュ」
の回答を期待します。
"numberOfResults": 10 に設定してみる
この段階で邦画と洋画両方回答してくれました。
"numberOfResults": 20 に設定してみる
この段階で、邦画した答えてくれなくなりました。これは前回の記事と同じで単純な質問は、"numberOfResults"を増やすと情報量が増え適切な回答をしてくれなくなりそうです