KafkaからBedrockへ:リアルタイムデータ連携

リアルタイムな洞察を解き放つ:カスタムコネクタを介したKafkaからAmazon Bedrock Knowledge Basesへのストリーミングデータ

人工知能(AI)の状況は急速に進化しており、Retrieval Augmented Generation(RAG)が重要な技術として登場しています。RAGは、生成AIモデルの能力を外部データソースとシームレスに統合することにより、AIシステムがより多くの情報に基づいた、状況に応じた適切な応答を提供できるようにします。このアプローチは、モデルの既存の知識ベースのみに依存するという限界を超越します。この記事では、Amazon Bedrock Knowledge Bases内のカスタムデータコネクタの変革の可能性について詳しく掘り下げ、カスタム入力データを活用するRAGワークフローの作成をどのように効率化するかを紹介します。この機能により、Amazon Bedrock Knowledge Basesはストリーミングデータを取り込むことができ、開発者は直接API呼び出しを通じてナレッジベース内の情報を動的に追加、更新、または削除できます。

クリックストリームパターンの分析、クレジットカードトランザクションの処理、モノのインターネット(IoT)センサーからのデータの解釈、ログ分析の実施、商品価格の監視など、リアルタイムのデータ取り込みが重要な数多くのアプリケーションを検討してください。このようなシナリオでは、現在のデータと過去の傾向の両方が、情報に基づいた意思決定において重要な役割を果たします。従来、そのような重要なデータ入力を組み込むには、サポートされているデータソースにデータをステージングし、その後にデータ同期ジョブを開始またはスケジュールする必要がありました。このプロセスの期間は、データの品質と量によって異なりました。ただし、カスタムデータコネクタを使用すると、組織は完全な同期を必要とせずに、カスタムデータソースから特定のドキュメントを迅速に取り込み、中間ストレージに依存せずにストリーミングデータを取り込むことができます。このアプローチは、遅延を最小限に抑え、ストレージのオーバーヘッドを排除し、データへのより迅速なアクセス、レイテンシーの短縮、およびアプリケーションパフォーマンスの向上につながります。

カスタムコネクタによるストリーミング取り込みにより、Amazon Bedrock Knowledge Basesは中間データソースを必要とせずにストリーミングデータを処理できます。これにより、データはほぼリアルタイムで利用可能になります。この機能は、選択されたAmazon Bedrockモデルを使用して入力データを自動的にセグメント化し、埋め込みに変換し、すべてをバックエンドベクトルデータベースに保存します。この合理化されたプロセスは、新しいデータベースと既存のデータベースの両方に適用されるため、データチャンク化、埋め込み生成、またはベクトルストアのプロビジョニングとインデックス作成を調整する負担なしに、AIアプリケーションの構築に集中できます。さらに、カスタムデータソースから特定のドキュメントを取り込む機能により、レイテンシーが短縮され、中間ストレージ要件がなくなるため、運用コストが削減されます。

Amazon Bedrock:生成AIの基盤

Amazon Bedrockは、Anthropic、Cohere、Meta、Stability AI、Amazonなどの主要なAI企業からの高性能な基盤モデル(FM)の多様な選択肢を、統合されたAPIを通じてアクセスできるフルマネージドサービスです。この包括的なサービスは、堅牢なセキュリティ、プライバシー、および責任あるAI機能を備えた生成AIアプリケーションを開発できるようにする幅広い機能を提供します。Amazon Bedrockを使用すると、特定のユースケース向けにトップレベルのFMを調査および評価し、ファインチューニングやRAGなどの手法を使用して独自のデータでプライベートにカスタマイズし、エンタープライズシステムおよびデータソースを使用してタスクを実行できるインテリジェントエージェントを構築できます。

Amazon Bedrock Knowledge Bases:知識によるAIの拡張

Amazon Bedrock Knowledge Basesは、組織がプライベートデータソースから派生したコンテキスト情報でAI応答を強化する、完全に管理されたRAGパイプラインを構築できるようにします。これにより、より関連性が高く、正確で、パーソナライズされたインタラクションが実現します。Amazon Bedrock Knowledge Basesを活用することで、ナレッジベースのクエリから取得したコンテキストによって強化されたアプリケーションを作成できます。パイプラインの構築の複雑さを抽象化し、すぐに使用できるRAGソリューションを提供することで、市場投入までの時間を短縮します。これにより、アプリケーションの開発時間が短縮されます。

カスタムコネクタ:シームレスなストリーミング取り込みの鍵

Amazon Bedrock Knowledge Basesは、カスタムコネクタとストリーミングデータ取り込みのサポートを提供します。これにより、直接API呼び出しを通じてナレッジベースでデータを追加、更新、および削除でき、前例のない柔軟性と制御を提供します。

RAGを使用した生成AI株価アナライザーの構築:ソリューションの概要

この記事では、Amazon Bedrock Knowledge Bases、カスタムコネクタ、およびAmazon Managed Streaming for Apache Kafka(Amazon MSK)で作成されたトピックを使用してRAGアーキテクチャを実証し、ユーザーが株価トレンドを分析できるようにします。Amazon MSKは、Apache Kafkaインフラストラクチャとオペレーションの管理を簡素化するストリーミングデータサービスであり、Amazon Web Services(AWS)でApache Kafkaアプリケーションを簡単に実行できます。このソリューションにより、ベクトル埋め込みと大規模言語モデル(LLM)を介した顧客フィードバックのリアルタイム分析が可能になります。

アーキテクチャコンポーネント

アーキテクチャは、次の2つの主要なコンポーネントで構成されています。

  • ストリーミングデータワークフローのプリプロセス:

    1. 株価データを含む.csvファイルが、ストリーミング入力をシミュレートしてMSKトピックにアップロードされます。
    2. これにより、AWS Lambda関数がトリガーされます。
    3. この関数は、消費されたデータをナレッジベースに取り込みます。
    4. ナレッジベースは、埋め込みモデルを使用してデータをベクトルインデックスに変換します。
    5. ベクトルインデックスは、ナレッジベース内のベクトルデータベースに格納されます。
  • ユーザークエリ中のランタイム実行:

    1. ユーザーは株価に関するクエリを送信します。
    2. 基盤モデルは、ナレッジベースを使用して関連する回答を見つけます。
    3. ナレッジベースは、関連するドキュメントを返します。
    4. ユーザーはこれらのドキュメントに基づいて回答を受け取ります。

実装設計:ステップバイステップガイド

実装には、次の主要な手順が含まれます。

  1. データソースのセットアップ: 入力株価をストリーミングするためのMSKトピックを構成します。
  2. Amazon Bedrock Knowledge Basesのセットアップ: ベクトルストアを自動的にプロビジョニングおよびセットアップする、新しいベクトルストアのクイック作成オプションを使用して、Amazon Bedrockにナレッジベースを作成します。
  3. データ消費と取り込み: データがMSKトピックに到着するたびに、Lambda関数をトリガーして、株価指数、価格、およびタイムスタンプ情報を抽出し、Amazon Bedrock Knowledge Basesのカスタムコネクタにフィードします。
  4. ナレッジベースのテスト: ナレッジベースを使用して、顧客フィードバック分析を評価します。

ソリューションウォークスルー:株式分析ツールの構築

以下のセクションの手順に従って、Amazon Bedrock Knowledge Basesとカスタムコネクタを使用して生成AI株式分析ツールを構築します。

アーキテクチャの構成:CloudFormationテンプレートのデプロイ

このアーキテクチャを実装するには、AWSアカウントのこのGitHubリポジトリからAWS CloudFormationテンプレートをデプロイします。このテンプレートは、次のコンポーネントをデプロイします。

  1. 仮想プライベートクラウド(VPC)、サブネット、セキュリティグループ、およびAWS Identity and Access Management(IAM)ロール。
  2. Apache Kafka入力トピックをホストするMSKクラスター。
  3. Apache Kafkaトピックデータを消費するLambda関数。
  4. セットアップと有効化のためのAmazon SageMaker Studioノートブック。

Apache Kafkaトピックの作成:データストリームのセットアップ

事前に作成されたMSKクラスターでは、ブローカーはすでにデプロイされており、使用する準備ができています。次のステップは、SageMaker Studioターミナルインスタンスを使用してMSKクラスターに接続し、テストストリームトピックを作成することです。Amazon MSKクラスターでトピックを作成するの詳細な手順に従ってください。

一般的な手順は次のとおりです。

  1. 最新のApache Kafkaクライアントをダウンロードしてインストールします。
  2. MSKクラスターブローカーインスタンスに接続します。
  3. ブローカーインスタンスにテストストリームトピックを作成します。

Amazon BedrockでのKnowledge Baseの作成:データへの接続

Amazon Bedrockでナレッジベースを作成するには、次の手順に従います。

  1. Amazon Bedrockコンソールで、左側のナビゲーションページの[ビルダーツール]の下にある[Knowledge Bases]を選択します。
  2. ナレッジベースの作成を開始するには、[作成]ドロップダウンメニューで、次のスクリーンショットに示すように[ベクトルストアを使用したKnowledge Base]を選択します。
  3. [Knowledge Baseの詳細の提供]ペインで、[Knowledge Base名]として「BedrockStreamIngestKnowledgeBase」と入力します。
  4. [IAMアクセス許可]で、デフォルトオプション[新しいサービスロールを作成して使用する]を選択し、(オプションで)次のスクリーンショットに示すように[サービスロール名]を入力します。
  5. [データソースの選択]ペインで、データセットが保存されているデータソースとして[カスタム]を選択します。
  6. 次のスクリーンショットに示すように[次へ]を選択します。
  7. [データソースの構成]ペインで、[データソース名]として「BedrockStreamIngestKBCustomDS」と入力します。
  8. [解析戦略]で、[Amazon Bedrockデフォルトパーサー]を選択し、[チャンク化戦略]で[デフォルトチャンク化]を選択します。次のスクリーンショットに示すように[次へ]を選択します。
  9. [埋め込みモデルの選択とベクトルストアペインの構成]で、[埋め込みモデル]として[Titan Text Embeddings v2]を選択します。[埋め込みタイプ]として、[浮動小数点ベクトル埋め込み]を選択します。[ベクトルディメンション]で、次のスクリーンショットに示すように[1024]を選択します。Amazon Bedrockで選択したFMへのアクセスを要求し、受信していることを確認します。詳細については、Amazon Bedrock基盤モデルへのアクセスの追加または削除を参照してください。
  10. [ベクトルデータベース]ペインで、[新しいベクトルストアのクイック作成]を選択し、ベクトルストアとして新しい[Amazon OpenSearch Serverless]オプションを選択します。
  11. 次の画面で、選択内容を確認します。セットアップを完了するには、[作成]を選択します。
  12. 数分以内に、コンソールに新しく作成されたナレッジベースが表示されます。

AWS Lambda Apache Kafkaコンシューマーの構成:データ取り込みのトリガー

次に、API呼び出しを使用して、入力Apache Kafkaトピックがデータを受信するとすぐにトリガーされるように、コンシューマーLambda関数を構成します。

  1. 手動で作成されたAmazon Bedrock Knowledge Base IDとそのカスタムデータソースIDを、Lambda関数内の環境変数として構成します。サンプルノートブックを使用すると、参照される関数名とIDが自動的に入力されます。

深堀り:リアルタイムデータ取り込みのためのカスタムコネクタを備えたAmazon Bedrock Knowledge Basesの力の解明

生成AIとリアルタイムデータストリームの融合により、企業がより深い洞察を得て、重要なプロセスを自動化し、パーソナライズされたエクスペリエンスを提供するための前例のない機会が開かれています。カスタムコネクタと組み合わせたAmazon Bedrock Knowledge Basesは、この革命の最前線にあり、組織がApache Kafkaのような多様なソースからのストリーミングデータをAI駆動型アプリケーションにシームレスに統合できるようにします。

この機能は、複雑なステージング、変換、および同期プロセスを伴う従来のデータ取り込み方法の限界を超越します。カスタムコネクタを使用すると、データをほぼリアルタイムでKnowledge Baseに直接取り込むことができるため、レイテンシーが排除され、AIモデルが変化する条件に動的に対応できるようになります。

業界全体のユースケース

このアプローチの利点は広範囲に及び、幅広い業界に適用できます。

  • 金融サービス: 銀行や投資会社は、リアルタイムの市場データと顧客トランザクションストリームを活用して、詐欺を検出し、パーソナライズされた投資推奨を行い、取引戦略を自動化できます。リアルタイムでクレジットカードトランザクションを分析し、疑わしいアクティビティにフラグを立て、詐欺的な購入が発生する前に防止するAI駆動型システムを想像してみてください。
  • 小売: Eコマース企業は、クリックストリームデータとソーシャルメディアフィードを分析して、顧客の行動を理解し、製品の推奨をパーソナライズし、価格設定戦略を最適化できます。これにより、リアルタイムの需要に基づいて、マーケティングキャンペーンと在庫管理を動的に調整できます。
  • 製造: 製造業者は、工場設備からのIoTセンサーデータを使用して、メンテナンスのニーズを予測し、生産プロセスを最適化し、製品の品質を向上させることができます。たとえば、AIシステムは、機械からの振動データを分析して、コストのかかるダウンタイムにつながる可能性のある障害を特定できます。
  • 医療: 病院は、患者データストリームを分析して、病気の初期兆候を検出し、治療計画をパーソナライズし、患者の転帰を改善できます。バイタルサインのリアルタイムモニタリングは、患者の状態の重大な変化を医療スタッフに警告し、より迅速な介入と改善されたケアを可能にします。

主な利点:リアルタイムデータを超えて

カスタムコネクタを備えたAmazon Bedrock Knowledge Basesを使用する利点は、リアルタイムでデータを取り込むことだけではありません。

  • レイテンシーの短縮: 中間ストレージと同期プロセスの必要性を排除することで、組織はAIモデルがデータを利用できるようにする時間を大幅に短縮できます。これにより、応答時間が短縮され、より動的なアプリケーションが実現します。
  • 運用コストの削減: カスタムコネクタは、複雑なデータパイプラインの管理と維持の必要性を排除することで、運用コストを削減します。これにより、ビジネスの他の分野に投資できる貴重なリソースが解放されます。
  • データ品質の向上: ソースから直接データを取り込むことで、組織はAIモデルが最新かつ正確な情報で動作することを保証できます。これにより、より良い洞察とより信頼性の高い結果が得られます。
  • 柔軟性の向上: カスタムコネクタを使用すると、組織は形式や場所に関係なく、幅広いデータソースに接続できます。これにより、どこに保存されていても、すべてのデータ資産を活用する柔軟性が得られます。
  • 開発の簡素化: Amazon Bedrock Knowledge Basesは、データ取り込みと管理の複雑さを抽象化することで、簡素化された開発エクスペリエンスを提供します。これにより、開発者は実際のビジネス価値を提供するAIアプリケーションの構築に集中できます。

より深く掘り下げる:カスタムコネクタの内部

カスタムコネクタの力を十分に理解するには、その仕組みを理解することが重要です。カスタムコネクタは基本的に、Amazon Bedrock Knowledge Basesが特定のデータソースに接続できるようにするコードです。このコードは、ソースからデータを抽出し、Knowledge Baseと互換性のある形式に変換し、システムに取り込む役割を担います。

  • API統合: カスタムコネクタは通常、APIを介してデータソースと対話します。これらのAPIは、データにアクセスして操作を実行するための標準化された方法を提供します。
  • データ変換: データ変換は、プロセスにおける重要なステップです。カスタムコネクタは、データをネイティブ形式からKnowledge Baseと互換性のある形式に変換する必要があることがよくあります。これには、データ型の変換、データのクリーンアップ、および追加情報によるデータの充実が含まれる場合があります。
  • ストリーミング取り込み: リアルタイムデータ取り込みの鍵は、データを継続的にストリーミングする機能です。カスタムコネクタは、ストリーミングAPIを使用してデータが生成されると同時にデータを受信することが多く、Knowledge Baseをほぼリアルタイムで更新できます。
  • セキュリティ: データソースへの接続時に、セキュリティは最も重要な懸念事項です。カスタムコネクタはセキュリティを考慮して設計する必要があり、データが転送中および保存中の両方で保護されるようにします。

結論:リアルタイムデータでAIの未来を受け入れる

カスタムコネクタを備えたAmazon Bedrock Knowledge Basesは、AIの分野における重要な進歩を表しています。組織がリアルタイムデータストリームをAIアプリケーションにシームレスに統合できるようにすることで、このテクノロジーはイノベーションとビジネスの成長のための豊富な新しい機会を開きます。AIが進化し続けるにつれて、リアルタイムデータを活用する機能はますます重要になります。Amazon Bedrock Knowledge Basesは、このトレンドの重要なイネーブラーとなるように位置付けられており、これまで以上に動的で応答性が高く、インテリジェントなAIソリューションを構築できるように組織を支援します。