今日のペースの速い世界では、顧客は企業に迅速かつ効率的なサービスを期待しています。 しかし、問い合わせの量が問い合わせに対応するために雇用されている人員を上回った場合、優れた顧客サービスを提供することは非常に困難になる可能性があります。 しかし、企業は、大規模言語モデル (LLM) を活用した生成人工知能 (生成 AI) の進歩により、パーソナライズされた効率的な顧客サービスを提供しながら、この課題に対処することができます。
生成型 AI チャットボットは、人間の知性を模倣する能力で有名になりました。 ただし、タスク指向のボットとは異なり、これらのボットはテキスト分析とコンテンツ生成に LLM を使用します。 LLM は、 変圧器のアーキテクチャ、2017 年 XNUMX 月に導入された深層学習ニューラル ネットワークで、ラベルのないテキストの膨大なコーパスでトレーニングできます。 このアプローチにより、より人間らしい会話エクスペリエンスが作成され、いくつかのトピックに対応できます。
この記事の執筆時点では、あらゆる規模の企業がこのテクノロジーの使用を希望していますが、どこから始めればよいのかを理解する必要があります。 生成 AI と会話型 AI での LLM の使用を始めたいと考えている場合は、この投稿が最適です。 を迅速にデプロイするためのサンプル プロジェクトが含まれています。 Amazon Lex 事前トレーニングされたオープンソース LLM を使用するボット。 このコードには、カスタム メモリ マネージャーを実装するための開始点も含まれています。 このメカニズムにより、LLM は以前の対話を思い出して会話のコンテキストとペースを保つことができます。 最後に、一貫した結果を得るには、プロンプトと LLM のランダム性および決定性パラメーターを微調整して実験することの重要性を強調することが重要です。
ソリューションの概要
このソリューションは、Amazon Lex ボットを、一般的なオープンソース LLM と統合します。 Amazon SageMaker ジャンプスタート、経由でアクセス可能 アマゾンセージメーカー 終点。 また、LLM を利用したアプリケーションを簡素化する人気のフレームワークである LangChain も使用します。 最後に、QnABot を使用してチャットボットのユーザー インターフェイスを提供します。
まず、上の図の各コンポーネントの説明から始めます。
- JumpStart は、さまざまな種類の問題に対して事前トレーニングされたオープンソース モデルを提供します。 これにより、機械学習 (ML) をすぐに始めることができます。 それには、 FLAN-T5-XLモデル、深層学習コンテナにデプロイされた LLM。 テキスト生成を含むさまざまな自然言語処理 (NLP) タスクで優れたパフォーマンスを発揮します。
- A SageMaker リアルタイム推論エンドポイント イベントを予測するための ML モデルの迅速かつスケーラブルな展開が可能になります。 Lambda 関数と統合できるため、エンドポイントを使用してカスタム アプリケーションを構築できます。
- AWSラムダ 関数は、Amazon Lex ボットまたは qnabot を使用して SageMaker エンドポイントを呼び出すためのペイロードを準備します。 ラングチェーン。 LangChain は、開発者が LLM を利用したアプリケーションを作成できるフレームワークです。
- Amazon Lex V2 ボットには、
AMAZON.FallbackIntent
インテントタイプ。 ユーザーの入力がボット内のどのインテントとも一致しない場合にトリガーされます。 - QnABot は、Amazon Lex ボットにユーザー インターフェイスを提供するオープンソース AWS ソリューションです。 で構成しました。 ラムダフック のための関数
CustomNoMatches
項目を選択し、QnABot が答えを見つけられない場合に Lambda 関数をトリガーします。 すでにデプロイ済みであり、それを構成する手順が次のセクションに含まれていることを前提としています。
このソリューションの概要を次のシーケンス図に示します。
ソリューションによって実行される主なタスク
このセクションでは、ソリューションで実行される主なタスクについて説明します。 このソリューションのプロジェクト ソース コード全体は、このドキュメントで参照できます。 GitHubリポジトリ.
チャットボットのフォールバックの処理
Lambda 関数は、「わからない」という回答を次のように処理します。 AMAZON.FallbackIntent
Amazon Lex V2 および CustomNoMatches
QnABot の項目。 この関数は、トリガーされると、セッションのリクエストとフォールバック インテントを調べます。 一致するものがあれば、リクエストを Lex V2 ディスパッチャに渡します。 それ以外の場合、QnABot ディスパッチャはリクエストを使用します。 次のコードを参照してください。
LLM へのメモリの提供
マルチターン会話で LLM メモリを保持するために、Lambda 関数には LangChain カスタム メモリ クラス を利用した仕組み Amazon Lex V2 セッション API 進行中のマルチターン会話メッセージのセッション属性を追跡し、以前の対話を通じて会話モデルにコンテキストを提供します。 次のコードを参照してください。
以下は、LangChain ConversationChain にカスタム メモリ クラスを導入するために作成したサンプル コードです。
プロンプト定義
LLM のプロンプトは、生成される応答のトーンを設定する質問またはステートメントです。 プロンプトは、関連する応答を生成するようにモデルを指示するのに役立つコンテキストの形式として機能します。 次のコードを参照してください。
LLM メモリサポートのための Amazon Lex V2 セッションの使用
Amazon Lex V2 は、ユーザーがボットと対話するとセッションを開始します。 セッションは、手動で停止またはタイムアウトしない限り、時間が経過しても持続します。 セッションには、メタデータと、セッション属性と呼ばれるアプリケーション固有のデータが保存されます。 Lambda 関数がセッション属性を追加または変更すると、Amazon Lex はクライアント アプリケーションを更新します。 QnABot には、Amazon Lex V2 上でセッション属性を設定および取得するためのインターフェイスが含まれています。
私たちのコードでは、このメカニズムを使用して LangChain にカスタム メモリ クラスを構築し、会話履歴を追跡し、LLM が短期および長期の対話を呼び出せるようにしました。 次のコードを参照してください。
前提条件
導入を開始するには、次の前提条件を満たす必要があります。
ソリューションを展開する
ソリューションを展開するには、次の手順に進みます。
- 選択する 発射スタック でソリューションを起動するには、
us-east-1
地域: - スタック名、一意のスタック名を入力します。
- HFモデル、私たちは
Hugging Face Flan-T5-XL
JumpStart で入手可能なモデル。 - HFTタスク、 入る
text2text
. - キープ S3バケット名 そのまま。
これらは検索するために使用されます Amazon シンプル ストレージ サービス (Amazon S3) ソリューションのデプロイに必要な資産は、この投稿の更新が公開されると変更される可能性があります。
- 能力を認識します。
- 選択する スタックを作成.
スタックが XNUMX つ正常に作成されているはずです。
Amazon Lex V2 ボットを設定する
Amazon Lex V2 ボットとは何の関係もありません。 CloudFormation テンプレートはすでに面倒な作業を行っています。
QnABot を構成する
環境に既存の QnABot がすでに展開されていることを前提としています。 ただし、助けが必要な場合は、次に従ってください指示に従ってください それを展開します。
- AWS CloudFormation コンソールで、デプロイしたメイン スタックに移動します。
- ソフトウェア設定ページで、下図のように 出力 タブで、次の内容をメモします。
LambdaHookFunctionArn
後で QnABot に挿入する必要があるためです。
- にログインします。 QnABot デザイナーのユーザー インターフェイス (UI) 管理者として。
- 質問UI、新しい質問を追加します。
- 次の値を入力します。
- ID –
CustomNoMatches
- 質問 –
no_hits
- 回答 – 「わからない」に対するデフォルトの回答
- ID –
- 選択する 高機能 そして、 ラムダフック のセクションから無料でダウンロードできます。
- 前にメモした Lambda 関数の Amazon リソースネーム (ARN) を入力します。
- セクションの一番下までスクロールし、選択します 作成します。
成功メッセージを示すウィンドウが表示されます。
あなたの質問は現在、 質問 ページで見やすくするために変数を解析したりすることができます。
ソリューションをテストする
ソリューションのテストに進みましょう。 まず、JumpStart が提供する FLAN-T5-XL モデルを微調整せずにデプロイしたことを言及しておきます。 これには予測不可能な可能性があり、その結果、応答がわずかに変化する可能性があります。
Amazon Lex V2 ボットを使用してテストする
このセクションは、SageMaker エンドポイントにデプロイされた LLM を呼び出す Lambda 関数と Amazon Lex V2 ボットの統合をテストするのに役立ちます。
- Amazon Lex コンソールで、次のタイトルのボットに移動します。
Sagemaker-Jumpstart-Flan-LLM-Fallback-Bot
.
このボットは、他に一致するインテントがない場合にフォールバック インテントとして LLM をホストする SageMaker エンドポイントを呼び出す Lambda 関数を呼び出すように構成されています。 - 選択する 意図 ナビゲーションペインに表示されます。
右上に、「英語 (米国) は変更を構築していません」というメッセージが表示されます。
- 選択する 完成に向けてあなたの背中を押してくれる、執筆のための持続可能で本物のモーメンタムを作り出す。.
- 完了するのを待ちます。
最後に、次のスクリーンショットに示すように、成功メッセージが表示されます。
- 選択する ホイール試乗.
チャット ウィンドウが表示され、モデルと対話できるようになります。
組み込みの機能を調べることをお勧めします Amazon Lex ボット間の統合 および アマゾンコネクト。 また、メッセージング プラットフォーム (Facebook、Slack、Twilio SMS) や、Amazon Chime SDK や Genesys Cloud などを使用したサードパーティのコンタクト センターも含まれます。
QnABot インスタンスを使用してテストする
このセクションでは、SageMaker エンドポイントにデプロイされた LLM を呼び出す Lambda 関数との QnABot on AWS 統合をテストします。
- 左上隅にあるツールメニューを開きます。
- 選択する QnABotクライアント.
- 選択する 管理者としてサインイン.
- ユーザー インターフェイスに質問を入力します。
- 応答を評価します。
クリーンアップ
今後の料金発生を回避するには、次の手順に従って、ソリューションによって作成されたリソースを削除します。
- AWS CloudFormation コンソールで、という名前のスタックを選択します。
SagemakerFlanLLMStack
(またはスタックに設定したカスタム名)。 - 選択する 削除.
- テスト用に QnABot インスタンスをデプロイした場合は、QnABot スタックを選択します。
- 選択する 削除.
まとめ
この投稿では、ユーザーのリクエストをオープンソースの大規模言語モデルにルーティングするタスク指向ボットへのオープン ドメイン機能の追加について検討しました。
次のことをお勧めします。
- 会話履歴を外部永続化メカニズムに保存する。 たとえば、会話履歴を次の場所に保存できます。 Amazon DynamoDB または S3 バケットを取得し、Lambda 関数フックで取得します。 この方法では、Amazon Lex が提供する内部の非永続的なセッション属性管理に依存する必要がなくなります。
- 要約を試してみる – マルチターンの会話では、プロンプトでコンテキストを追加し、会話履歴の使用を制限するために使用できる概要を生成すると便利です。 これは、ボットのセッション サイズを削減し、Lambda 関数のメモリ消費を低く保つのに役立ちます。
- プロンプトのバリエーションを試してみる – 実験の目的に合わせて、元のプロンプトの説明を変更します。
- 最適な結果を得るために言語モデルを適応させる – これを行うには、ランダム性などの高度な LLM パラメータを微調整します (
temperature
) と決定論 (top_p
) アプリケーションに応じて。 サンプル値を含む事前トレーニング済みモデルを使用したサンプル統合をデモンストレーションしましたが、ユースケースに合わせて値を調整して楽しんでください。
次回の投稿では、事前トレーニングされた LLM を利用したチャットボットを独自のデータで微調整する方法を発見できるようにする予定です。
AWS で LLM チャットボットを実験していますか? コメントでもっと詳しく教えてください!
リソースと参考資料
著者について
マルセロシルバ は、最先端の製品の設計、開発、実装に優れた経験豊富な技術専門家です。 シスコでキャリアをスタートさせたマルセロは、史上初のキャリア ルーティング システムの導入や ASR9000 の展開の成功など、さまざまな注目を集めるプロジェクトに取り組みました。 彼の専門知識はクラウド テクノロジー、分析、製品管理にまで及び、GenAI に入社する前は Cisco、Cape Networks、AWS などのいくつかの企業でシニア マネージャーを務めていました。 現在、会話型 AI/GenAI プロダクト マネージャーとして働いているマルセロは、業界全体に革新的なソリューションを提供することに優れ続けています。
ビクターロホ は、最新の AI、ML、ソフトウェア開発に情熱を注ぐ経験豊富な技術者です。 彼はその専門知識を活かして、Amazon Alexa を米国とメキシコの市場に導入する上で極めて重要な役割を果たし、また AWS パートナー向けの Amazon Textract と AWS Contact Center Intelligence (CCI) の立ち上げを成功させる陣頭指揮を執りました。 現在、会話型 AI コンピテンシー パートナー プログラムの主任技術リーダーとして、Victor はイノベーションを推進し、進化する業界のニーズを満たす最先端のソリューションを提供することに尽力しています。
ジャスティン・レト アマゾン ウェブ サービスのシニア ソリューション アーキテクトであり、機械学習を専門としています。 彼の情熱は、顧客が機械学習と AI の力を活用してビジネスの成長を促進できるよう支援することです。 Justin は、AWS サミットを含む世界的な AI カンファレンスで発表したり、大学で講義を行ったりしています。 彼はニューヨーク市の機械学習と AI の会合を率いています。 余暇には、沖合でのセーリングやジャズの演奏を楽しんでいます。 彼は妻と幼い娘と一緒にニューヨーク市に住んでいます。
ライアン・ゴメス は、AWS プロフェッショナル サービス インテリジェンス プラクティスのデータおよび ML エンジニアです。 彼は、クラウドでの分析および機械学習ソリューションを通じて、顧客がより良い成果を達成できるよう支援することに情熱を注いでいます。 仕事以外では、フィットネス、料理、友人や家族と充実した時間を過ごすことを楽しんでいます。
マヘシュ・ビラルダル アマゾン ウェブ サービスのシニア ソリューション アーキテクトであり、DevOps と可観測性を専門としています。 彼は、顧客が拡張可能なコスト効率の高いアーキテクチャを実装できるよう支援することに喜びを感じています。 仕事以外では、映画鑑賞とハイキングを楽しんでいます。
カンジャナ・チャンドレン アマゾン ウェブ サービス (AWS) のソリューション アーキテクトであり、機械学習に情熱を注いでいます。 彼女は、顧客の AWS ワークロードの設計、実装、管理を支援します。 仕事以外では、旅行、読書、家族や友人と時間を過ごすことが大好きです。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- EVMファイナンス。 分散型金融のための統一インターフェイス。 こちらからアクセスしてください。
- クォンタムメディアグループ。 IR/PR増幅。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 データ インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/exploring-generative-ai-in-conversational-experiences-an-introduction-with-amazon-lex-langchain-and-sagemaker-jumpstart/
- :持っている
- :は
- :not
- :どこ
- 100
- 11
- 12
- 13
- 14
- 17
- 2017
- 27
- 7
- 8
- 9
- a
- 能力
- 私たちについて
- アクセス可能な
- 従った
- 達成する
- 越えて
- 使徒行伝
- 加えます
- 追加
- 添加
- 住所
- 追加
- 高度な
- 進歩
- 後
- AI
- アレクサ
- すべて
- ことができます
- 既に
- また
- Amazon
- アマゾンチャイム
- Amazon Lex
- アマゾンテキストラック
- Amazon Webサービス
- Amazon Webサービス(AWS)
- an
- 分析
- 分析論
- および
- 回答
- 回答
- どれか
- API
- 登場する
- アプローチ
- です
- 人工の
- 人工知能
- AS
- 資産
- At
- 属性
- 利用できます
- 避ける
- AWS
- AWS CloudFormation
- AWSプロフェッショナルサービス
- 赤ちゃん
- ベース
- BE
- なぜなら
- き
- 始まる
- より良いです
- の間に
- ロボット
- ボット
- ボトム
- 持参
- ビルド
- 建物
- 内蔵
- 内蔵
- ビジネス
- ビジネス
- 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。
- by
- コール
- コール
- 缶
- 機能
- キャリア
- 例
- センター
- センター
- チェーン
- 挑戦する
- 挑戦
- 変化する
- 変更
- 課金
- チャットボット
- チャットボット
- チャイム
- 選択する
- Cisco
- 市町村
- class
- クリア
- クライアント
- クラウド
- クラウドテクノロジー
- コード
- コミットした
- 企業
- コンプリート
- コンポーネント
- 会議
- 整合性のある
- 領事
- 消費
- 接触
- コンタクトセンター
- コンテナ
- コンテンツ
- コンテンツ生成
- コンテキスト
- 続ける
- 会話
- 会話
- 会話型AI
- 会話
- コーナー
- コスト効率の良い
- 作ります
- 作成した
- 作成します。
- 電流プローブ
- 現在
- カスタム
- 顧客
- 顧客サービス
- Customers
- 最先端
- データ
- 深いです
- 深い学習
- デフォルト
- 配信する
- 実証
- 展開します
- 展開
- 展開
- 配備
- 記載された
- 説明
- デザイナー
- 設計
- 細部
- 開発者
- 開発
- 開発
- DICT
- DID
- 直接
- 発見する
- do
- ありません
- そうではありません
- ドン
- ドント
- ダウン
- ドライブ
- 運転
- 各
- 効率的な
- ほかに
- 採用
- enable
- 可能
- 奨励する
- エンドポイント
- エンジニア
- 入力します
- 全体
- エンティティ
- と題する
- 環境
- 本質的な
- イベント
- イベント
- EVER
- 進化
- 例
- Excel
- 優れた
- 既存の
- 期待する
- 体験
- 経験豊かな
- エクスペリエンス
- 専門知識
- 調査済み
- 探る
- 拡張する
- 外部
- 顔
- 家族
- スピーディー
- テンポの速い
- 最後に
- もう完成させ、ワークスペースに掲示しましたか?
- 名
- フィットネス
- フォロー中
- フォーム
- 形式でアーカイブしたプロジェクトを保存します.
- 4
- フレームワーク
- 優しい
- 友達
- から
- 満たす
- 楽しいです
- function
- 機能
- 未来
- 獲得
- 生成する
- 生成された
- 生成
- 世代
- 生々しい
- 生成AI
- 取得する
- グローバル
- Go
- 成長性
- ハンドル
- ハンド
- ハーネス
- 持ってる
- 持って
- he
- ヘビー
- 重いもの
- 助けます
- 役立つ
- 助け
- ことができます
- こちら
- ハイ
- 人目を引く
- 特徴
- 非常に
- 彼の
- 歴史的
- history
- 主催
- ホスティング
- 認定条件
- How To
- しかしながら
- HTML
- HTTP
- HTTPS
- 人間
- 人事
- if
- 実装する
- 実装
- 重要性
- in
- 含まれました
- 含ま
- 含めて
- 産業
- 産業を変えます
- 情報
- 開始する
- 革新的手法
- 革新的な
- 入力
- お問い合わせ
- 統合する
- 統合する
- 統合
- インテリジェンス
- 意図
- 対話
- 相互作用
- 相互作用
- 相互作用する
- インタフェース
- 内部
- に
- 導入
- 導入
- 概要
- 呼び出す
- IT
- ITS
- 参加
- JPG
- JSON
- 六月
- ジャスティン
- キープ
- キー
- キー
- 知っている
- 既知の
- 言語
- 大
- 後で
- 最新の
- 起動する
- リーダー
- リード
- 学習
- 左
- ことができます
- レベル
- フェイスリフト
- ような
- LIMIT
- LINK
- リスト
- 命
- LLM
- 負荷
- 長期的
- 見て
- 探して
- LOOKS
- で
- ロー
- 機械
- 機械学習
- メイン
- 主要な
- make
- 管理します
- 管理
- マネージャー
- 管理する
- 手動で
- マーケット
- 大規模な
- 一致
- マッチ
- 五月..
- メカニズム
- 大会
- ミート
- メモリ
- 言及
- メニュー
- メッセージ
- メッセージ
- メッセージング
- Mexico
- ML
- モデル
- 修正する
- 他には?
- 動画
- 名
- 名前付き
- ナチュラル
- 自然言語処理
- ナビゲート
- ナビゲーション
- 必要
- 必要とされる
- ニーズ
- ネットワーク
- ネットワーク
- ニューラルネットワーク
- 新作
- ニューヨーク
- ニューヨーク市
- 次の
- NLP
- いいえ
- 注意
- 何も
- 今
- NYC
- オブジェクト
- 入手する
- of
- オフ
- 提供
- オファー
- on
- 継続
- オープンソース
- 開設
- 最適な
- or
- オリジナル
- その他
- さもないと
- 私たちの
- でる
- 成果
- 外側
- が
- 自分の
- 平和
- ページ
- ペイン
- パラメータ
- パートナー
- 情熱
- 情熱的な
- 過去
- 実行
- 実行する
- 持続性
- 持続する
- カスタマイズ
- 極めて重要な
- 計画
- プラットフォーム
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 演奏
- 再生
- ポイント
- 人気
- ポスト
- 電力
- パワード
- 練習
- 予測
- 準備
- 前提条件
- PLM platform.
- 前
- 前に
- 校長
- 問題
- 処理
- プロダクト
- 製品管理
- プロダクトマネージャー
- 製品
- プロ
- 演奏曲目
- プロジェクト
- プロジェクト(実績作品)
- 提供します
- 提供
- は、大阪で
- 提供
- 公表
- 目的
- Python
- qnabot
- 品質
- 質問
- 質問
- クイック
- すぐに
- ランダム
- リーディング
- への
- 推奨する
- 地域
- 関連した
- 頼る
- 要求
- リクエスト
- リソースを追加する。
- リソース
- 応答
- 回答
- 結果として
- 結果
- return
- 収益
- 右
- 職種
- ロールアウトする
- ルート
- ルーティング
- s
- セージメーカー
- セーリング
- Save
- 言う
- ド電源のデ
- 規模
- SDDK
- セクション
- セクション
- 選択
- 自己
- シニア
- シーケンス
- 仕える
- サービス
- サービス
- セッション
- セッション
- セッションに
- セット
- いくつかの
- 彼女
- 短期
- すべき
- 示す
- 符号
- 著しく
- 簡単な拡張で
- サイズ
- サイズ
- スラック
- SMS
- ソフトウェア
- ソフトウェア開発
- 溶液
- ソリューション
- 一部
- ソース
- ソースコード
- 先導する
- 特定の
- 支出
- スタック
- スタック
- start
- 開始
- 起動
- ステートメント
- ステップ
- 停止
- ストレージ利用料
- 店舗
- 保存
- 成功
- 成功した
- 首尾よく
- そのような
- 概要
- サミット
- タスク
- テク
- 技術者
- テクノロジー
- 言う
- template
- test
- テスト
- テスト
- それ
- アプリ環境に合わせて
- それら
- そこ。
- ボーマン
- サードパーティ
- この
- 介して
- 時間
- Timed
- 〜へ
- 今日の
- TONE
- 豊富なツール群
- top
- トピック
- に向かって
- 追跡する
- 訓練された
- トリガ
- type
- ui
- ユニーク
- 大学
- 異なり、
- 更新版
- us
- 使用法
- つかいます
- 中古
- ユーザー
- ユーザーインターフェース
- 使用されます
- 価値観
- さまざまな
- 、
- 目に見える
- ボリューム
- 欲しいです
- 見ている
- 仕方..
- we
- ウェブ
- Webサービス
- WELL
- いつ
- while
- 誰
- 妻
- 無し
- 仕事
- 働いていました
- ワーキング
- 世界
- 価値
- 書き込み
- ヨーク
- You
- あなたの
- ゼファーネット