この記事はLangChainのハリソン・チェイス、エリック・フリース、リンダ・イェの共著である。
ジェネレーティブAI は、今後数年間でユーザー・エクスペリエンスに革命をもたらすだろう。このプロセスにおける重要なステップは、顧客がデジタル世界をナビゲートするためのツールをインテリジェントに使用できるAIアシスタントの導入である。本稿では、コンテキストを意識したAIアシスタントの導入方法を紹介する。このアシスタントは Amazon Bedrock ナレッジベースそしてアマゾン・レックス 歌で応える アマゾンコネクト WhatsAppをインタラクション・チャンネルとして構築・使用することで、ユーザーにとって使い慣れた便利なインターフェイスを提供している。
Amazon Bedrockナレッジベースは、基礎モデル(FM)とエージェントのために、民間の企業データソースからのコンテキスト情報を提供し、以下をサポートします。 検索強化世代 (ラグ)を使用して、より適切で正確なカスタマイズされた応答を提供します。この機能は、ジェネレーティブAIアプリケーションの強化を検討している組織に強力なソリューションを提供します。Amazon LexおよびAmazon Connectとのネイティブな互換性により、ドメイン固有の知識の統合を簡素化します。ドキュメントのインポート、チャンキング、埋め込みを自動化することで、複雑なベクターデータベースやカスタム検索システムを手動でセットアップする必要がなくなり、開発の複雑さと時間を劇的に削減します。
このソリューションにより、基礎となるモデル回答の精度が向上し、検証ベースのデータによる不正解が減少します。カスタムのナレッジ管理システムを維持するのに比べ、このソリューションは開発リソースと運用コストを削減し、コスト効率を向上させます。AWSのサーバーレス・サービスを利用することで、データ量やユーザー・クエリの増加に迅速に対応できるスケーラビリティを備えています。また、AWSの堅牢なセキュリティ・インフラを活用して、データのプライバシーとコンプライアンスを維持します。ナレッジベースを継続的に更新・拡張することで、AIアプリケーションは常に最新の情報に対応することができます。Amazon Bedrock Knowledge Baseを選択することで、組織は付加価値の高いAIアプリケーションの作成に集中することができ、AWSはナレッジの管理と検索の複雑さを処理するため、より正確で強力なAIソリューションをより少ない労力で迅速に展開することができます。
前提条件
このソリューションを導入するには、以下のものが必要である:
- アン AWSアカウント同社は、Amazon Bedrock、Amazon Lex、Amazon Connect、および AWSラムダ にリソースを作成する権限があります。
- モデルのアクセス権は アマゾンの岩盤 イネーブル クロード 3 人間性の俳句 モデルに従い アマゾンの岩盤ベースモデルへのアクセス のステップである。
- アン WhatsApp Amazon Connectと統合するためのビジネスアカウント。
- ナレッジベースにインポートされる、互換性のあるフォーマット(PDFやテキストなど)の製品ドキュメント、ナレッジ記事、その他の関連データ。
ソリューションの概要
このソリューションは、AIアシスタントを構築し、展開するために、いくつかの主要なAWS AIサービスを使用する:
- アマゾンの岩盤 - Amazon Bedrockは、AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI、Amazonなどの主要なAI企業の高性能なファンダメンタルモデル(FM)を単一のAPIを通じて提供する完全ホスティングサービスです。また、セキュリティ、プライバシー、責任あるAIを備えた生成AIアプリケーションの構築に必要な幅広い機能を提供します。
- アマゾンの岩盤知識ベース - AIアシスタントに、御社のプライベート・データ・ソースからのコンテキスト情報を提供する。
- アマゾン・オープンサーチ・サービス - Amazon Bedrock Knowledge Basesをベクターストレージとしてネイティブサポート。
- アマゾン・レックス - インテントやスロットの定義を含む、AIアシスタントを構築するためのダイアログ・インターフェイス。
- アマゾンコネクト - WhatsAppとの統合により、人気のメッセージングアプリでAIアシスタントが利用可能になる。
- AWSラムダ - サービスを統合するコードを実行し、AIアシスタントのコアロジックを形成するLangChainエージェントを実装する。
- アマゾンAPIゲートウェイ - WhatsAppからのインバウンドリクエストを受信し、AWS Lambdaにリクエストをルーティングする。
- アマゾン・ダイナモDB - ダイアログメモリをサポートするために、受信したメッセージと生成されたメッセージを保存する。
- アマゾンSNS - Amazon Connectからのアウトバウンドレスポンスを処理するルート。
- ラングチェーン - LangChainエージェントを構築するための強力な抽象化レイヤを提供し、Foundation Models (FM)がコンテキストを意識した推論を実行できるようにします。
- ラングスミス - エージェントの実行ログをLangSmithにアップロードすることで、デバッグ、モニタリング、テスト・評価機能などの観測性を強化。
以下の図は、そのアーキテクチャを示している。
プロセス説明
データの取り込みプロセスは、図の右側に赤い数字で示されている:
- ファイルのアップロード アマゾン・シンプル・ストレージ・サービス (Amazon S3)のデータソース。
- 新しいファイルがラムダ関数をトリガーする。
- ラムダ関数は、知識ベース・データ・ソースの同期操作を呼び出します。
- Amazon Bedrock Knowledge Basesは、Amazon S3からデータを取り込み、チャンク化し、選択したベースモデル(FM)から埋め込みベクトルを生成する。
- Amazon Bedrock Knowledge Basesは、埋め込みベクトルをAmazon OpenSearchサービスに保存します。
図の左側は、メッセージの受け渡しプロセスを数字で表している:
- ユーザーはWhatsApp経由でどこかにホストされているWebhookにメッセージを送ることでコミュニケーションを開始する。
- Amazon API Gatewayは、インバウンドメッセージをAWS Lambdaが実行するインバウンドメッセージプロセッサーにルーティングする。
- インバウンド・メッセージ・プロセッサーは アマゾン・ダイナモDB にユーザーの連絡先情報が記録される。
- 初回ユーザーの場合、インバウンドメッセージプロセッサーはAmazon Connectに新しいセッションを作成し、DynamoDBにログを記録します。リピーターの場合、既存のAmazon Connectセッションがリストアされます。
- Amazon Connectは、ユーザーからのメッセージを自然言語処理のためにAmazon Lexに転送する。
- Amazon LexはLambda関数で実装されたLangChain AIアシスタントをトリガーする。
- LangChainのAIアシスタントがDynamoDBから会話履歴を取得。
- Amazon Bedrock Knowledge Bases、LangChain AIアシスタントを使用して、関連する文脈情報を取得します。
- LangChainのAIアシスタントはヒントを生成し、文脈データとユーザーのクエリを組み合わせ、Amazon Bedrock上で動作する基礎モデルに送信する。
- Amazon Bedrockは入力を処理し、モデルの応答をLangChain AIアシスタントに返す。
- LangChainのAIアシスタントは、モデルの反応をAmazon Lexに返す。
- Amazon Lexはモデルの応答をAmazon Connectに送信する。
- アマゾン・コネクトは、このモデルへのレスポンスを公開する。 アマゾン・シンプル・ノーティフィケーション・サービス (アマゾンSNS)。
- Amazon SNSはOutbound Message Processor Lambda関数をトリガーする。
- アウトバウンドメッセージプロセッサーは、Amazon DynamoDBから関連するチャットコンタクト情報を取得します。
- アウトバウンドメッセージハンドラーは Meta の WhatsApp API 経由でユーザーにレスポンスを送信する。
このAIアシスタントの導入には、主に3つのステップがある:
- Amazon Bedrock Knowledge Basesを使用してナレッジベースを作成し、関連する製品ドキュメント、よくある質問(FAQ)、ナレッジ記事、およびAIアシスタントがユーザーの質問に答えるのに役立つその他の有用なデータをインポートします。データは、AIアシスタントがサポートする主要なユースケースとトピックをカバーする必要があります。
- を作成する。 LangChainエージェント AIアシスタントのロジックを駆動する。エージェントはラムダ関数で実装され、情報検索の主要ツールとして知識ベースを使用する。提供される AWS CloudFormationテンプレート エージェントやその他のリソースを自動的に配置します。次のセクションのリソースのリストを参照してください。
- 確立 Amazon Connectインスタンス を設定する。 WhatsAppとの統合これにより、ユーザーはWhatsAppを通じてAIアシスタントとチャットすることができ、使い慣れたインターフェースを提供し、画像やボタンなどの豊富なインタラクションをサポートする。これにより、ユーザーはWhatsAppを通じてAIアシスタントとチャットすることができ、使い慣れたインターフェースを提供し、画像やボタンのようなリッチなインタラクションをサポートします。WhatsAppの人気により、AIアシスタントへのアクセス性が高まりました。
ソリューションの展開
私たちは、事前に構築された AWS CloudFormation AWSアカウントに必要なすべてのコンテンツをデプロイするためのテンプレート。
- ログインしていない場合は、ログインしてください。 AWSコンソール.
- 以下から選択 打ち上げスタック ボタンをクリックして CloudFormationコンソール で、新しいスタックを作る。
- 以下のパラメータを入力する:
スタック名
スタックに名前をつける。WhatsAppAIStack
LangchainAPIKey
スルー ラングチェーン 生成されたAPIキー
岸辺 | 展開ボタン | テンプレートURL(既存のスタックを新しいバージョンにアップグレードする場合) | AWS CDKスタック(必要に応じてカスタマイズ可能) |
---|---|---|---|
バージニア州北部(us-east-1) | YML | ギットハブ |
- を作成することを確認するためにチェックボックスをオンにします。 AWSアイデンティティとアクセス管理 (IAM)リソースを選択します。 スタック作成.
- スタックの作成が終了するまで待つ。終了すると以下のようになる:
- LangChainエージェント
- アマゾン・レックス・ボット
- Amazon Bedrock ナレッジベース
- ベクターストレージ(Amazon OpenSearch Serverless)
- ラムダ(データインポートおよびプロバイダー用)
- データソースアマゾンS3)
- ダイナモDB
- パラメーターストア LangChain API キーの保存に使用
- IAMの役割 と権威
- WhatsApp用に作成されたデータソースにファイルをアップロード(アマゾンS3).ファイルをアップロードすると、データソースは自動的に同期されます。
- Amazon Lexコンソールで、テスト用に最近作成されたアシスタントを選択します。選択 英語を選択し テスト とメッセージを送る。
Amazon Connectインスタンスの作成とWhatsAppの統合
WhatsApp エンタープライズアカウントと統合するためにAmazon Connectを設定し、AIアシスタント用のWhatsAppチャンネルを有効にします:
- ある AWSコンソールのAmazon Connect でナビゲートする。まだインスタンスを作成していない場合は、インスタンスを作成します。インスタンスを 配信設定 コピー インスタンスARNこの情報は後ほどWhatsAppビジネスアカウントと連携する際に必要となります。この情報は後ほどWhatsAppビジネスアカウントと連携する際に必要となります。
- インスタンスを選択し、ナビゲーションパネルで フロー.下にスクロールして アマゾン・レックス.ロボットを選択し Amazon Lex Botを追加.
- ナビゲーションパネルで 概要.で アクセス情報 下位オプション 緊急アクセス用ログイン.
- Amazon Connectコンソールのナビゲーションパネルにある ルーティング 下位オプション フロー.セレクション 流れを作る.を置く。 顧客の意見を聞く ブロックをプロセスにドラッグする。ブロックを選択します。ブロックを選択する。 音声合成またはチャットテキスト を選択し、自己紹介メッセージを追加する。 アマゾン・レックス次に、ステップ2で作成したAmazon Lexボットを選択します。
- ブロックを保存したら、"Disconnect "という別のブロックを追加する。このブロックに エントリー 矢印は 顧客の意見を聞くそして 顧客の意見を聞く 矢印は 切断.セレクション 出版.
- 公開後、ナビゲーションパネルの一番下にある 追加のフロー情報を表示する.プロセスのAmazon Resource Name (ARN)をコピーします。この情報は後でWhatsAppインテグレーションをデプロイする際に必要になります。以下のスクリーンショットはAmazon Connectコンソールでの流れを示しています。
- 基礎 Amazon Connectを通じてWhatsAppメッセージをチャネルとして提供 WhatsAppインテグレーションを導入する。
テストソリューション
以下のように、WhatsApp経由でAIアシスタントと対話します:
晴れる
継続的なコストの発生を避けるため、リソースの使用が終わったら削除してください:
- CloudFormationスタックを削除する。
- Amazon Connectインスタンスを削除します。
概要
この記事では アマゾンの岩盤そしてアマゾン・レックス 歌で応える アマゾンコネクト スマートな会話型AIアシスタントを作成し、それを WhatsApp.
このソリューションは、関連データを アマゾンの岩盤知識ベース 知識ベース LangChainエージェント 実現、知識ベースを通じての質問への回答、そして WhatsApp ユーザーにアクセス・インターフェースを提供このソリューションは、アクセスしやすいインテリジェントなAIアシスタントを提供し、ユーザーを御社の製品やサービスへと導きます。
次のステップとしては、AIアシスタントを特定のユースケースに合わせてカスタマイズすること、ナレッジベースを拡張すること、AIアシスタントを使用することなどが考えられる。 ラングスミス ダイアログログを分析して問題を特定し、エラーを改善し、FMコールシーケンスにおけるパフォーマンスのボトルネックを解消する。