はじめに
今回はAmazon Bedrock「Prompt Flows」のS3 Retrievalノードを使って、Amazon S3の場所からテキストデータを取得し、そのテキストに英語で返答する、シンプルなアプリケーションを作成してみました。
「Prompt Flows」は、ノードを配置して生成AIのワークフローを開発・管理できるサービスです。
導入
アプリケーションの全体像は以下の通りです。
①オブジェクトキーの入力
②S3からデータを取得
③Promptsでの処理
④処理結果の出力
という流れになっています。
今回Amazon S3を使用するにあたって、バケットの作成をおこないましたので、その方法も共有します。
以下のような設定でバケットを作成しました。
バケットを作成
↓
バケットタイプ:汎用を選択
↓
バケット名を記入
↓
ACL無効
↓
パブリックアクセスをすべてブロック
↓
バケットのバージョニング:無効
↓
暗号化タイプ:Amazon S3 マネージドキーを使用したサーバー側の暗号化 (SSE-S3)
バケットキー:有効
↓
詳細設定
オブジェクトロック:無効
アプリケーションの流れについて説明します。
①オブジェクトキーの入力
Flow Inputでは、オブジェクトキーの入力をおこないます。
まず今回使用する2つのファイルについて説明します。
これらのファイルを事前にアップロードしておきます。
・1つ目
オブジェクトキー:folder/aws_pf_test.txt
内容:こんにちは。 今日は良い天気ですね。
・2つ目
オブジェクトキー:aws_pf_test2.txt
内容:Good afternoon. How are you today?
②S3からデータを取得
S3 Retrievalノードでは、S3からデータを取得してフローに導入できます。
S3 Bucket Nameで、データを取得するバケットを指定します。
Inputはオブジェクトキーで、OutputではS3ロケーション内のコンテンツを出力として返します。
③Promptsでの処理
今回Promptsでは、バケットから取得したテキストデータに対して、英語で返事するように指示しています。
{{s3Content}}の文章に英語で返事して。
④処理結果の出力
③Promptsでの処理でおこなった処理の結果を出力します。
実行結果
実行結果は、それぞれ以下のようになっています。
・1つ目のファイル
実行結果
・2つ目のファイル
実行結果
まとめ
今回は「Prompt Flows」のS3 Retrievalノードを使って、S3からテキストデータを取得し、そのテキストに英語で返答する、シンプルなアプリケーションを作成してみました。
今後はもっと発展した内容の例を作成したいと考えています。