[アップデート] Amazon Bedrock用に最適化された2つの新しいAPIアクションがAWS Step Functionsに追加されました! #AWSreInvent
はじめに
明日開催のAWS re:Invent 2023。 直前にAmazon Bedrock用に最適化された2つの新しいAPIアクションがAWS Step Functionsに追加されました!
Build generative AI apps using AWS Step Functions and Amazon Bedrock | AWS News Blog
3行まとめ
- AWS Step FunctionsとAmazon Bedrockの最適化された統合されました
- これにより、生成AIアプリケーションの構築とAWSサービスとの統合が容易になります
- 新しいAPIアクションであるInvokeModelとCreateModelCustomizationJobを使用して、モデルの呼び出しとカスタマイズジョブの作成が可能です
何が嬉しいか
従来はAmazon BedrockのAPI呼び出しにAWS Lambda関数を呼び出していましたが、Step Functionsで新しいAPIを使用することでコードのメンテナンスやアプリケーションのコストを削減できます。
新しいAPIアクションの概要
InvokeModel API
このAPIを使用することで、パラメータで指定された入力を使用してモデルを呼び出し、推論を実行することができます。 テキスト、画像、埋め込みモデルの推論を実行するために使用することができ、より柔軟なジェネラティブAIアプリケーションの構築が可能となります。
また、InvokeModel APIはリクエストとレスポンスのサイズに制限がありますが、Step Functionsの状態ペイロードの入力と出力には256KBの制限があります。この制限を超えるペイロードをサポートするために、Amazon S3のバケットを定義して、APIがデータを読み取り結果を書き込む場所として使用することができます。
CreateModelCustomizationJob API
このAPIを使用することで、ベースモデルをカスタマイズするためのファインチューニングジョブを作成することができます。 つまり、ベースモデルのカスタマイズが容易になり、より高度なジェネラティブAIアプリケーションの開発が可能となります。
APIのパラメータで、ベースモデルとトレーニングデータの場所を指定します。ジョブが完了すると、カスタムモデルが作成され、使用可能になります。CreateModelCustomizationJobは非同期なAPIであり、この統合により、Step Functionsはジョブを実行し、次のステートに進む前にジョブの完了を待つことができます。つまり、ステートマシンの実行は、カスタムモデルの作成ジョブが実行中の間は一時停止し、タスクが完了すると自動的に再開されます。
やってみた
今回はInvokeModel APIを実際に試しみます。 リージョンは対応モデルが多いus-east-1を利用します。
AWS Step Functions ワークフロースタジオで空のワークフローを用意します。
左袖の検索ボックスでAmazon Bedrockを検索します。
InvokeModelをワークフローにドラッグアンドドロップします。
ワークフロー内のBedrock InvokeModelを選択すると、右袖でモデルやパラメータを選択できます。
モデルはAnthropicのClaude 2を利用します。
Bedrock モデルパラメータ > モデル推論パラメータを入力 で以下のようなパラメータを入力します。
{ "prompt": "\n\nHuman:気分はもうAWS re:Invent 2023です!\n\nAssistant:", "max_tokens_to_sample": 200 }
今回は他はデフォルトのままで、画面右上の「作成」をクリックしてワークフローを作成します。
「ロールの作成を確認」の画面がでたら確認をクリックします。
ステートマシンが作成されました。
ステートマシンを実行します。
ステートマシンが成功して、結果が出力されました。
さいごに
今回のアップデートでAmazon BedrockのAPIをより簡単に利用できるようになりました。 今後のAmazon Bedrockと既存サービスとの連携も楽しみです!