Amazon Web Services ブログ

AWS Step Functions と Amazon Bedrock を利用して、生成系 AI アプリケーションを構築する

2023 年 11 月 26 日、AWS Step FunctionsAmazon Bedrock との最適化された統合を発表します。 AWS Step Functions は、開発者が分散アプリケーションを構築し、プロセスを自動化し、そして、マイクロサービスのオーケストレーションやデータと機械学習のパイプラインを作成するのに役に立つビジュアルワークフローサービスです。

9 月には、基盤モデルを使用した生成系 AI アプリケーションの構築および拡張が最も簡単な Amazon Bedrock が利用可能になりました。Amazon Bedrock は、AI21 Labs、Anthropic、Cohere、Stability AI、Amazon などの主要プロバイダーの基盤モデルを提供し、プライバシーとセキュリティを維持しながら、お客様が生成系 AI アプリケーションを構築するために必要な幅広い機能を提供しています。Amazon Bedrock は、AWS マネジメントコンソールAWS コマンドラインインターフェイス (AWS CLI)、または AWS SDK から利用できます。

AWS Step Functions の Amazon Bedrock との新たな最適化された統合により、220 以上の AWS サービスとの統合に加え、Amazon Bedrock を使用して生成系 AI アプリケーションを構築するためのタスクをオーケストレーションできます。 AWS Step Functions によって、ワークフローを視覚的に開発、検査、監査できます。 以前は、ワークフローから Amazon Bedrock を使用するために AWS Lambda 関数を呼び出す必要があり、コードの追加や、アプリケーションの実装コストを増やす必要がありました。

AWS Step Functions は、Amazon Bedrock のための 2 つの新しい最適化された API アクションを提供します。

  • InvokeModel – この統合により、モデルを呼び出し、入力されたパラメーターを使用して推論を実行できます。この API アクションを利用して、テキスト、画像、埋め込みモデルの推論を実行できます。
  • CreateModelCustomizationJob – この統合により、基盤モデルをカスタマイズするためのファインチューニングジョブが作成されます。パラメーターで、基礎モデルとトレーニングデータの場所を指定します。ジョブが完了すると、カスタムモデルが利用可能になります。これは非同期 API であり、この統合により、AWS Step Functions はジョブを実行し、次の状態に進む前にジョブの完了を待つことができます。これは、ステートマシンの実行がモデルのカスタマイズジョブの作成中に一時停止し、ジョブの作成が完了すると自動的に再開されることを意味します。

InvokeModel API アクションは最大 25 MB までのリクエストとレスポンスを受け付けます。しかし、AWS Step Functions ではステートの入出力ペイロードに 256 KB の制限があります。この統合でより大きなペイロードをサポートするために、InvokeModel API がデータを読み込み、結果を書き込む Amazon Simple Storage Service (Amazon S3) バケットを定義することができます。これらの設定は、設定セクションの API パラメーターという項目で提供されます。

Amazon Bedrock と AWS Step Functions を使い始める方法

始める前に、Amazon Bedrock が利用可能な地域でステートマシンを作成することを確認してください。 この例では、us-east-1 (US バージニア地域) を利用します。 AWS マネジメントコンソールから、新しいステートマシンを作成します。“bedrock” と検索すると、利用可能な 2 つの API アクションが表示されます。InvokeModel をステートマシンにドラッグします。

右側のメニューでステートの設定ができるようになりました。まず、使用する基盤モデルを定義できます。一覧からモデルを選択するか、入力からモデルを取得します。

次に、モデルパラメーターを設定する必要があります。テキストボックスに推論パラメーターを入力するか、Amazon S3 からパラメーターを読み込むことができます。

API アクション設定の項目をスクロールすると、宛先となる S3 バケットなど、API の追加設定オプションを指定できます。この宛先となる S3 バケットが指定されている場合、API アクションは、ステート出力セクションではなく、指定されたバケットに API レスポンスを格納します。ここでは、リクエストとレスポンスのコンテンツタイプを指定することもできます。

ステートマシンの設定が完了したら、作成して実行できます。ステートマシンが実行されると、実行の詳細を視覚化し、Amazon Bedrock のステートを選択すると、その入出力を確認できます。

AWS Step Functions を利用すると、必要に応じて広範囲にステートマシンを構築し、さまざまなサービスを組み合わせて多くの問題を解決できます。 たとえば、AWS Step Functions と Amazon Bedrock を利用して、プロンプトチェーンを使用したアプリケーションを作成できます。 これは、非常に長く詳細なプロンプトではなく、複数の小さくてシンプルなプロンプトを FM に渡すことで、複雑な生成系 AI アプリケーションを構築する技術です。 プロンプトチェーンを構築するには、Amazon Bedrock を複数回呼び出して、小さなプロンプトごとに推論を得るステートマシンを作成できます。 並列ステートを使用して、これらすべてのタスクを並行で実行でき、AWS Lambda 関数を利用すれば、並列タスクの応答を 1 つの応答に統合して結果を生成することができます。

今すぐ利用可能

AWS Step Functions の Amazon Bedrock との最適化された統合は、Amazon Bedrock が利用可能な AWS リージョンに限定されています。

AWS Step Functions コンソールからサンプルプロジェクトを試すことで、AWS Step Functions と Amazon Bedrock を使い始めることができます。

Marcia

この記事は、テクニカルインストラクターの青木克臣が翻訳しました。

原文はこちらです。