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

Amazon Bedrock を利用したAIチャットボット開発

yu-Matsu
December 01, 2023

Amazon Bedrock を利用したAIチャットボット開発

2023年12月1日の 「Qiita Night〜AI、機械学習〜」にて発表した資料になります。
内容はAmazon Bedrockを利用したSlack botやLINE botの開発、PartyRockについてになります。

yu-Matsu

December 01, 2023
Tweet

Other Decks in Technology

Transcript

  1. 1 KDDI Agile Development Center Corporation ⾃⼰紹介 • ⽒名︓ 松好

    祐紀(@yu-Matsu) • 所属︓ KDDIアジャイル開発センター株式会社 • 役割︓ インフラ/フロントエンジニア • 業務︓ アプリのシステムインフラ/フロントエンド開発、 社内クラウド(AWS/Azure)環境整備、 ⽣成AI関連プロダクト開発 • 趣味︓ゲーム、ウォーキング、観光スポット巡り 先⽉頭にスカイツリーや動く ▶ ガンタムを⾒てきました
  2. 3 KDDI Agile Development Center Corporation Amazon Bedrockとは • AWSから提供されている⽣成AIプラットフォーム

    • Amazonが開発した基盤モデル以外にも、他のAIスタートアップ企業が 開発したモデルを選択することが出来る • モデルをカスタマイズすることが出来るため、独⾃のデータを⽤いて チューニングすることも可能 • AWSのその他のサービスとも連携することが出来るので、 既存のアプリケーションに組み込むことも容易 • ϓϥΠόγʔͱηΩϡϦςΟΛҡ࣋͠ͳ͕Β։ൃ͕Մೳ • LangChainも対応済み︕ ◦ LangChain = LLMを⽤いたアプリケーション開発を効率的に⾏うためのライブラリ
  3. 5 KDDI Agile Development Center Corporation かぐたん について • ⽣成AI関連の取り組みの⼀種として開発している社内⽤Slack

    bot • 名前の由来は弊社の略称が「KAG(かぐ)」だから ※ KDDI Agile Development Center à KAG • 元々はAzure OpenAIを利⽤しており、AWS × Azure のハイブリッド構成だった AWS Cloud Azure &$3 'BSHBUF λεΫ "1*αʔό 4MBDL "[VSF0QFO"* 4FSWJDF Πϝʔδऔಘ イベント検知 会話履歴の送信 下記情報とともに AOAI APIエンドポイント にリクエスト ・システムプロンプト ・会話履歴 (認証︓IP+APIキー) '8CPMUGPS1ZUIPO (15 (15 ࠷৽ϝοηʔδͷจݴͰ ޲͖ઌ൑ఆ VPC かぐたん
  4. 8 KDDI Agile Development Center Corporation かぐたん について • Amazon

    Bedrockを利⽤し、フルAWSで構築 • ⾔語モデルはClaude v2を採⽤(採⽤当時はGPT-4より安価だったが、今はGPT-4 Turboの⽅が安価。。。) • 社外展開も睨んで会話履歴とプロンプトをDynamoDBに保存、取得して利⽤出来るように変更 AWS Cloud &$3 'BSHBUF λεΫ "1*αʔό 4MBDL Πϝʔδऔಘ イベント検知 会話履歴の送信 '8CPMUGPS1ZUIPO VPC %ZOBNP%# "NB[PO#FESPDL Bedrockのみ バージニア北部 リージョンを利⽤ (Claude v2モデル 利⽤のため) 会話履歴の保持 テキスト⽣成 %ZOBNP%# プロンプトの取得 現在、Bedrockを利⽤して魔改造中︕︕ 会話履歴とプロンプ トをDynamoDBに 外出し
  5. 9 KDDI Agile Development Center Corporation かぐたん について • Bedrockを利⽤するにあたり、書き換えたコードはこれだけ︕

    既にLangChainでアプリを作成している場合は簡単に置き換え可能︕ ▼ Bedrock利⽤の場合 ▼ Azure OpenAI利⽤の場合 Claude v2 など を指定
  6. 10 KDDI Agile Development Center Corporation かぐたん の今後の展望 • 社内⽤Slack

    Botに留まらず、社外にも展開していきたい • RAG(Retrieval Augmented Generation: 検索拡張⽣成)の搭載 ◦ 提供先に合わせたデータを利⽤出来るように⼯夫したい ◦ Amazon Kendra や Knowledge Bases for Amazon Bedrock の利⽤ A社のについて教えて︕ A社の情報を検索 検索結果 検索結果を元に回答 Amazon Kendra A社のドキュメント
  7. 12 KDDI Agile Development Center Corporation LINE Bot 作ってみた •

    かぐたんへのRAG搭載に向けて、個⼈でLINE Botを開発し検証中 • かぐたんと同じくBedrockを利⽤(⾔語モデルはClaude Instance) • RAGのデータストアにはPineconeを利⽤ AWS Cloud &$3 Πϝʔδऔಘ ユーザーのメッセージ送信 4 "NB[PO#FESPDL 会話履歴の保持 テキスト⽣成 4 プロンプトの取得 "1*(BUFXBZ -BNCEB Claude v2ではなく Claude Instanceを利⽤ し、全て東京リージョ ンで実装 データを検索
  8. 13 KDDI Agile Development Center Corporation LINE Bot 作ってみた ずんだもん

    東北地⽅のマスコットキャラクター (擬⼈化) ▼ システムプロンプト ずんだもん︓https://zunko.jp/#charaZM イラスト: 坂本アヒル様(h"ps://seiga.nicovideo.jp/user/illust/97452727) キャラクター設定はかぐたんと同様に、システムプロンプトで実現
  9. 15 KDDI Agile Development Center Corporation LINE Bot 作ってみた •

    RAGのデータソースは、ずんだもんに関連するキャラクターや⾳声合成ソフト(VOICEOVOX/VOICEROID)の Wikipediaのデータを利⽤ • 検証する上での⼯夫点 ◦ コスト削減のために、会話履歴とシステムプロンプトの管理にDynamoDBを利⽤せず、S3を利⽤ ◦ 特に会話履歴の管理に関しては、仕組みの理解につながったので良かった PDFで保存 Vector Store作成
  10. 17 KDDI Agile Development Center Corporation PartyRock 誰でも簡単に⽣成AIアプリが作成出来ます︕ • Amazon

    Bedrockを活⽤したサービスで、ローコードで⽣成AIアプリケーションを作成することが出来る︕ • Amazonアカウント、Googleアカウント、Apple IDがあれば誰でも利⽤可能︕ • 作成したアプリを、簡単に他のユーザーに公開することも出来る︕ https://partyrock.aws/
  11. 20 KDDI Agile Development Center Corporation まとめと所感 • フルAWSでアプリケーションを構築出来るようになったので、閉域化しやすくなった •

    LangChainが直ぐに対応したので、既存のアプリケーションの置き換えも簡単 • PartyRockの登場により、誰でも⽣成AIアプリケーションを作成出来るようになった︕(敷居が低くなった) あったらいいな • Claude v2が東京リージョンに来てほしい ◦ セキュリティやレスポンスの速度など⾊々と課題がある • Add your data (Azure OpenAI) や Assistants API (OpenAI) のようにもっと気軽に独⾃データを使いたい ◦ re:Invent で発表されたばかりの Agents for Amazon Bedrock に期待︕︕