「Amazon Bedrock のエージェント付きカスタマーサービスボットの基盤モデル(FM)を構築する」
「Amazon Bedrockのエージェント付きカスタマーサービスボットの基盤モデル(FM)を構築する方法」
会話エクスペリエンスの向上からエージェントの支援まで、生成型人工知能(AI)およびファウンデーションモデル(FM)は、より高速かつより良いサポートを提供するために様々な方法を提供しています。 FMsの利用可能性と多様性が増えるにつれて、最新のモデルバージョンで実験し、最新を追い続けることは困難です。 Amazon Bedrock は、AI21 Labs、Anthropic、Cohere、Meta、Stability AI、Amazonなど、AIのリーディング企業から高性能のFMを選択できるフルマネージドサービスです。 Amazon Bedrockの包括的な機能を使用して、さまざまなトップFMを簡単に実験し、ファインチューニングやRetrieval Augmented Generation(RAG)などのテクニックを使用してデータをカスタマイズできます。
Amazon Bedrockのエージェント
7月に、AWSはAmazon Bedrockのエージェント のプレビューを発表しました。開発者はわずかなクリックで完全に管理されたエージェントを作成するための新しい機能です。 エージェントは、コードを書かずに旅行の予約や保険の申請処理、広告キャンペーンの作成や在庫管理など、複雑なビジネスタスクを実行できます。 完全に管理されたエージェントを使用すると、インフラストラクチャのプロビジョニングや管理の心配はする必要がありません。
この記事では、顧客サービスのボットを作成するためのストームパンキングの手順を提供します。このソリューションには、テキスト生成モデル(Anthropic Claude V2)とAmazon Bedrockのエージェントを使用します。 このソリューションの構築に必要なリソースをプロビジョニングするためのAWS CloudFormationテンプレートを提供し、次に、Amazon Bedrockのエージェントを作成する手順を説明します。
ReAct Prompting
FMは、ReActと呼ばれる技術を使用してユーザーオーダータスクを解決する方法を決定します。これは、FMと推論と行動を組み合わせた一般的なパラダイムです。ReActは、FMに対して、タスクに対する口頭推論のトレースと行動を生成するように指示します。 これにより、システムは動的な推論を実行し、推論に追加の情報を組み込みながら、計画を作成、維持、調整できます。 構造化されたプロンプトには、質問、思考、行動、観察のシーケンスが含まれます。
- 「Amazon Rekognitionを使用して、Amazon IVSライブストリームを適度に制御する」
- LLMWareは、複雑なビジネスドキュメントを含む企業ワークフローに適した、生産用の微調整済みモデルであるRAG-Specialized 7BパラメータLLMを発表しました
- このAI論文では、大規模なマルチモーダルモデルの機能を拡張する汎用のマルチモーダルアシスタントであるLLaVA-Plusを紹介しています
- 質問は、ユーザーが依頼したタスクや解決すべき問題です。
- 思考は、FMが問題に取り組み、実行すべき行動を特定するために、推論ステップを助けるものです。
- 行動は、モデルが呼び出せる許可されたAPIのセットからのAPIです。
- 観察は、行動を実行した結果です。
Amazon Bedrockのエージェントのコンポーネント
Amazon Bedrockのエージェントは、ユーザーの依頼タスクのプロンプトエンジニアリングとオーケストレーションを自動化します。 会社固有の情報をプロンプトに安全に追加して、自然な言語でユーザーに応答できます。 エージェントは、ユーザーの依頼タスクを複数のステップに分割し、FMのサポートを受けてサブタスクをオーケストレーションします。 アクショングループは、エージェントが自律的に実行できるタスクです。 アクショングループは、API呼び出しを行うためのAWS Lambda関数と関連するAPIスキーマにマッピングされます。以下の図は、エージェントの構造を示しています。
ソリューション概要
靴の小売業者のユースケースを使用して、顧客サービスボットを構築します。 ボットは人間のような会話で顧客に靴の購入オプションを提供して購入をサポートします。顧客は自然な言語でボットと会話し、サブタスクを実行するために外部APIを複数のステップで呼び出します。 次の図は、サンプルのプロセスフローを示しています。
以下の図は、このソリューションの高レベルアーキテクチャを示しています。
- Anthropic Claude V2などのAmazon BedrockでサポートされるFMを使用してエージェントを作成できます。
- ビジネスロジックを含むAPIスキーマ(Amazon Simple Storage Service(Amazon S3)バケット内)と、Lambda関数をエージェントにアタッチします。(注:これは一度だけのセットアップ手順です。)
- エージェントは顧客のリクエストを使用してReActフレームワークを使用してプロンプトを作成し、APIスキーマを使用してLambda関数内の対応するコードを呼び出します。
- メール通知の送信、データベースへの書き込み、Lambda関数内でのアプリケーションAPIのトリガーなど、さまざまなタスクを実行できます。
この記事では、Lambda関数を使用して顧客の詳細を取得し、顧客が好むアクティビティに一致する靴の一覧を表示し、最終的に注文を行います。コードはインメモリのSQLiteデータベースによってバックアップされています。永続的なデータストアに書き込むためには、同様の構造を使用できます。
前提条件
この記事で提供されているソリューションを実装するためには、AWSアカウントとエージェントが有効になったAmazon Bedrockへのアクセスが必要です(現在はプレビュー版)。解決策に必要なリソーススタックを作成するために、AWS CloudFormationテンプレートを使用します。
us-east-1 |
CloudFormationテンプレートは2つのIAMロールを作成します。これらのロールを更新して、セキュリティのベストプラクティスで議論されている最小特権の権限を適用します。エージェントに使用するためのIAM機能については、ここで使用できるIAM機能について学ぶことができます。
LambdaBasicExecutionRole
には、Amazon S3のフルアクセス権限とログへのCloudWatchアクセス権限があります。AmazonBedrockExecutionRoleForAgents
には、Amazon S3のフルアクセス権限とLambdaのフルアクセス権限があります。
重要:Amazon Bedrockのエージェントには、ロール名にAmazonBedrockExecutionRoleForAgents_*
の接頭辞を付ける必要があります。
Bedrockエージェントのセットアップ
次の2つのセクションでは、エージェントの作成とテストの手順を説明します。
Amazon Bedrockのエージェントを作成する
エージェントを作成するには、Amazon Bedrockコンソールを開き、左のナビゲーションペインでAgentsを選択します。そして、Create Agentを選択します。
これにより、エージェントの作成ワークフローが開始されます。
- エージェントの詳細を提供:エージェントに名前と説明(オプション)を付けます。 CloudFormationスタックで作成されたサービスロールを選択し、次へを選択します。
- ファンデーションモデルを選択: モデルを選択画面で、モデルを選択します。エージェントに、どのタスクを実行し、ユーザーとのやり取りをどのように行うかについて、明確かつ正確な指示を提供してください。
- アクショングループを追加: アクションは、エージェントがAPIコールを行うことによって実行できるタスクです。アクショングループは、一連のアクションから成り立ちます。アクショングループ内のすべてのAPIを定義するAPIスキーマを提供してください。APIスキーマは、OpenAPIスキーマのJSON形式で提供する必要があります。Lambda関数には、APIコールを実行するために必要なビジネスロジックが含まれています。各アクショングループには、Lambda関数を関連付ける必要があります。
アクショングループに名前と説明を付け、Lambda関数を選択し、APIスキーマファイルを提供し、次へを選択してください。
- 最後のステップでは、エージェントの設定を確認し、エージェントを作成を選択します。
Amazon Bedrockのエージェントのテストと展開
- エージェントのテスト: エージェントが作成されると、エージェントの概要と作業用のドラフトがダイアログボックスに表示されます。Amazon Bedrockコンソールは、エージェントをテストするためのUIを提供します。
- 展開: テストが成功した後、エージェントを展開することができます。アプリケーションにエージェントを展開するには、エイリアスを作成する必要があります。Amazon Bedrockは、そのエイリアス用のバージョンを自動的に作成します。
前述のエージェントのセットアップとこの投稿で提供されたLambdaコードによって以下のアクションが発生します:
- エージェントは、開発者からの指示(例:“顧客が靴を購入するのを手助けするエージェントです。”)、タスクの完了に必要なAPIスキーマ、およびデータソースの詳細からプロンプトを作成します。自動的なプロンプトの作成により、さまざまなFM用のプロンプトの実験にかかる時間を短縮できます。
- エージェントは、顧客が要求したタスク(例:“靴を探しています。”)を顧客の詳細を取得する、顧客の希望するアクティビティとシューズのアクティビティをマッチングする、靴の注文を行うなどの小さなサブタスクに分割します。エージェントは、正しいタスクのシーケンスを決定し、途中で発生するエラーシナリオを処理します。
次のスクリーンショットは、エージェントからのいくつかの例の応答を表示しています。
各応答に対してShow traceを選択すると、エージェントが使用した推論手法とFMによって生成された最終応答を示すダイアログボックスが表示されます。
クリーンアップ
将来の料金を発生させないために、リソースを削除してください。CloudFormationコンソールからスタックを削除することでこれを行うことができます。
本投稿で使用したコードはGitHubのAmazon Bedrockリポジトリのエージェントからダウンロードしてテストしてください。また、Amazon Bedrockのエージェントはプログラム的にも呼び出すことができます。リポジトリには例のJupyter Notebookも提供されています。
結論
Amazon Bedrockのエージェントは、生産性の向上、顧客サービスの向上、またはDevOpsタスクの自動化に役立つことがあります。この投稿では、エージェントを使用して顧客サービスボットを作成する方法を紹介しました。
Amazon Bedrockのその他の機能についても学ぶことをお勧めします。本投稿で提供される例のコードを使用して、独自の実装を作成してみてください。Amazon Bedrockにおけるハンズオン体験をするために、ワークショップをお試しください。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- マルチクエリアテンションの解説
- mPLUG-Owl2をご紹介しますこれは、モダリティの協力によってマルチモーダルな大規模言語モデル(MLLMs)を変換するマルチモーダルファウンデーションモデルです
- AIキャリアのトレンド:人工知能の世界で注目されているものは何ですか?
- CV2(OpenCV)は、コンピュータビジョンのためのオープンソースのライブラリですこのライブラリは、画像処理やコンピュータビジョンの応用を開発するために広く使用されています CV2を使用すると、さまざまな画像処理タスクを実行できますその中の一つが、イメージ上のパターンを見つけることです パターン検出は、コンピュータビジョンの重要な分野です例えば、顔検出や文字認識などのアプリケーションでは、パターン検出が一般的に使用されます
- このAI論文は、実世界の網膜OCTスキャンを使用して、年齢に関連した黄斑変性の段階を分類するためのディープラーニングモデルを紹介しています
- 「ネットイース・ヨウダオがEmotiVoiceをオープンソース化:強力でモダンなテキスト読み上げエンジン」というタイトルの記事です
- このAIの論文は「ミスからの学習(LeMa):エラー駆動学習を通じた大規模言語モデルにおける数学的推論の強化」という題目です