Upgrade to Pro — share decks privately, control downloads, hide ads and more …

生成AIを使ったLINEチャットボットのサーバーレス設計

Avatar for ugr0 ugr0
April 11, 2024
120

 生成AIを使ったLINEチャットボットのサーバーレス設計

設計カンファレンス extends OOC で発表した「生成AIを使ったLINEチャットボットのサーバーレス設計」の資料

https://youtu.be/O4Bpu7OYpgs?t=8355
https://yumemi.connpass.com/event/310541/

- LINE Messaging API
- Step Functions
- Bedrock
- SQS

Avatar for ugr0

ugr0

April 11, 2024

Transcript

  1. 3 今日の内容 ※ オブジェクト指向とは関係がありません • ANGEL Dojo 2023 ◦ AWSサービスを使った3ヶ月間のハッカソン

    ◦ 「自炊をベタぼめしてくれるサービス」 • LINE x 生成AI x AWSサービスを使ったアーキテクチャ例 ◦ LINE Messaging API ◦ Amazon Lex ◦ 生成AI ◦ Amazon SQS ◦ AWS Step Function
  2. LINE Messaging API • LINEからの入力パターンは様々 ◦ テキスト ▪ 固定化した入力(リッチメニュー), 自由な入力,

    一連の入力項目を促す ◦ 写真 ◦ (その他音声やスタンプ、位置情報など様々なタイプがある ) 5 テキスト 写真 スタンプ 音声
  3. テキストメッセージのパターン 固定化した入力 A: キャンペーン情報(トリガー) 応答: キャンペーンメッセージ 自由入力 A: カレーの作り方を教えて 応答:

    じゃがいもの皮を剥き... 6 一連の情報の入力 A: 注文(トリガー) 応答: 商品名を教えてください A: マルゲリータ 応答: 個数を教えてください A: 2 … 往復が続いて面倒...
  4. Amazon Lex • 欲しい一連の情報を管理できる • インテント ◦ ユーザーの目的 ◦ スロット:

    目的に必要な情報 • 例 ◦ インテント: ユーザー登録 7 意図しない入力に対するメッ セージや確認メッセージなど カスタマイズ可能
  5. 10 生成AIを使う • LangChainとは? ◦ LLMを用いたアプリ開発を効率的に行うことを目的とするライブラリ ◦ プロンプトテンプレート・会話履歴管理などの実装を容易にできる ◦ 複数のLLM

    Providerの処理を吸収するために抽象化されている ▪ Bedrockを使えたり、OpenAI APIを使えたりする ▪ 抽象化が過度で継続的な開発では使いにくい場合もあったりす るみたい • Amazon Bedrockとは? ◦ AWSが提供するAI21 Labs、Anthropic、Cohere、Meta、 Stability AI、Amazon などの大手 AI 企業が提供する高性能な 基盤モデル (FM) を単一の API で選択できるフルマネージド型 サービス ◦ Claude 3は画像にも対応している
  6. 11 • memory 状態保持、会話履歴 • llm どのモデルを使うか • prompt プロンプトの形式

    • chain 設定をまとめて、実行する (複数のchainを連携できた りもする) • その他にもRetrieval, Agentsなど様々な機能があ る
  7. EventBridge Pipes 17 • SQSとStep Functionを繋げる • Step Functionsの呼び出しができたらSQSのメッセージを削除をAWSサー ビスがしてくれる

    • フィルタし(メッセージ絞っ)たり、エンリッチメント(情報付加や変換)な どもできる
  8. 構成メモ • 自己紹介 • ANGEL Dojoの紹介 • 内容 ◦ LINE

    Messaging API ◦ サービス ▪ 生成系AI • Bedrock ▪ 画像処理 ▪ SQS ▪ Step Function • 締め 21