[Bedrock]ナレッジベースへの直接取り込みの使い所
ナレッジベースへの直接取り込みの使い所
はじめに
Amazon Bedrockのナレッジベース機能が強化され、新たにIngestKnowledgeBaseDocuments APIが追加されました。
これにより、データを事前にデータソースに同期することなく、直接ナレッジベースに取り込むことが可能になりました。本記事では、このナレッジベースへの直接取り込みの使い所について紹介します。1. Bedrockとは?
AWS Bedrock は、生成AIモデルを簡単に利用できるマネージドサービスです。
さまざまなモデルをAPI経由で利用でき、開発者は自社アプリにAI機能を統合しやすくなります。
2. ナレッジベースとは?
ナレッジベースは、企業のプライベートデータソースから基盤モデルやエージェントにコンテキスト情報を提供し、より正確で関連性の高い応答を生成するためのフルマネージド機能です。
RAGの構築に主に用いられ、外部データソースと統合し、
データをベクトル化して検索できるようにするといったことができます。
ナレッジベースの主なデータソース
- Amazon S3
- Confluence(プレビュー)
- Microsoft SharePoint(プレビュー)
- Salesforce(プレビュー)
- Web Crawler(プレビュー)
- カスタムデータソース(新APIにより同期不要で直接取り込み可能)
3. アップデート内容
3.1 IngestKnowledgeBaseDocuments API とは?
2024年12月1日、新しく IngestKnowledgeBaseDocuments API が発表されました。
従来はデータソース全体をナレッジベースと同期する必要がありましたが、
このアップデートで、特定のデータのみをナレッジベースに反映することが可能になりました。
従来のStartIngestionJobAPIを使用したフローとの違いは図にするとこんな感じです。
詳しくはAWS公式ブログをご覧ください。
4. 直接取り込みの使い所
IngestKnowledgeBaseDocuments APIを使用できるのは上図のように3パターンあるので、それぞれ適したユースケースを考えてみました。
4.1 データソースS3 + S3ロケーション
すでにS3をデータソースとしてナレッジベースを構築済みの環境では、新しいデータをリアルタイムで取り込むのにAPIが役立ちます。
例えば、RAG(Retrieval-Augmented Generation)でAIが参照した内容をユーザーに表示したいようなユースケースで使えそうです。
4.2 データソースカスタム + インライン
IoTセンサーやストリーミングデータなど、リアルタイムで生成されるデータを即時反映したい場合などで有効そうです。
これまでは、
- データをS3やその他のデータソースに保存
- ナレッジベースと同期
というプロセスが必要でしたが、直接取り込みAPIを利用することで、データソースに保存したりするプロセスを省略できます。
4.3 データソースカスタム + S3ロケーション
ナレッジベースのデータソースとして登録されていないS3バケットにデータを保存している場合でも、新APIを使うことで、ナレッジベースに直接データを取り込めるようになります。
あんまりイメージはわかないですが、ナレッジベースのデータソースとしては使用したくないけど、特定のファイルのみナレッジにしたいみたいな場合でしょうか。
5. まとめ
新しく追加されたIngestKnowledgeBaseDocuments APIを活用することで、従来のデータソースの制約を超えて、より柔軟にナレッジベースを運用できるようになりました。
直接取り込みのメリット
✅ データの即時反映が可能
✅ ナレッジベースの更新プロセスをシンプルに
✅ リアルタイムデータやデータソースに登録していないS3バケットのデータも活用可能

NCDC株式会社( ncdc.co.jp/ )のエンジニアチームです。 募集中のエンジニアのポジションや、採用している技術スタックの紹介などはこちら( github.com/ncdcdev/recruitment )をご覧ください! ※エンジニア以外も記事を投稿することがあります
Discussion