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

DEIM2024 チュートリアル ~AWSで生成AIのRAGを使ったチャットボットを作ってみよう~

DEIM2024 チュートリアル ~AWSで生成AIのRAGを使ったチャットボットを作ってみよう~

Hiroki YAMAMOTO

March 05, 2024
Tweet

More Decks by Hiroki YAMAMOTO

Other Decks in Science

Transcript

  1. 自己紹介:山本紘暉 修士(電子情報学) クラスメソッド株式会社 研究開発エンジニア 2020年 5月~ ・コンピュータビジョン 骨格検出や人物追跡 2023年 3月~

    ・生成AIやLLM 最近はRAGに注力 「クラスメソッド 山本 ブログ」で検索 https://dev.classmethod.jp/author/yamamoto-hiroki/
  2. LLMの問題点・RAGの目的 ユーザ 質問 誤った回答 LLM プログラム 質問 誤った回答 ユーザ 質問

    正しい回答 LLM プログラム 質問 + 関連テキスト 正しい回答 参考 ドキュメント 検索 関連テキスト 通常 RAG
  3. RAGの構成要素 ユーザ 質問 回答 LLM プログラム 質問 + 関連テキスト 回答

    参考 ドキュメント インポート 検索 システム 検索クエリ 関連テキスト
  4. RAGのシステム構成(例) AWS ユーザ Slack App Slack Notion アップロード 社内ドキュメント (PDF・ワードなど)

    Python プログラム (in コンテナ) App Runner Kendra インデックス S3 バケット Bedrock Anthropic Claude インポート
  5. AWSには色々なサービスがあります ※ エンタープライズ検索 様々のデータソースから 様々なドキュメントを読み込んで 横断的に検索できるシステムの総称 エンタープライズ検索※ を使いたい Amazon Kendra

    とりあえずRAGを試したい Amazon Bedrock(knowledge base) 生成AIモデルを使いたい Amazon Bedrock(基盤モデル) 文章検索エンジンを作りたい Amazon OpenSearch Service
  6. RAGの構成要素(genai-usecaseの場合) 質問 + 会話履歴 ユーザ 質問 回答 LLM プログラム 質問

    + 関連テキスト + 会話履歴 回答 参考 ドキュメント インポート 検索 システム 検索クエリ 関連テキスト 検索クエリ LLM 会話履歴
  7. AWSログイン~デプロイ開始:genai-usecaseをデプロイ(3) Cloud9のシェルで以下のコマンドを実行してください npm run cdk:deploy 少し待つと「Do you wish to deploy

    these changes (y/n)?」 と聞かれるので、「y」を入力して「enter」を押します (これが面倒な場合は、オプションで無視することが可能です) https://qiita.com/eyuta/items/cc9817d59aa1dc6c8b80#cdk-deploy 20~30分ほど待つとデプロイが完了します (主にKendraのIndexを作成する時間です)
  8. 課題2:回答が難しい例 例: ・質問 「20期の年末年始の スケジュールを教えて」 ・ドキュメント ・2023年の年末年始 ・2022年の年末年始 ポイント ・20期が何なのか把握させる

    ・20期が何年に対応するのか 計算させる ・1期が何年なのか教える 普遍的な社内知識に対応させる (こうしたケースが大量にある)
  9. 課題2:人間が利用している情報(ナレッジ関係) (社内情報に関するQAの場合) ※ 山本独自の用語です 性質 1質問に関わる量 暗黙知 明文化 (ドキュメント) 暗黙知

    明文化 (ドキュメント) 業務知識 社内知識 暗黙知 明文化 (ドキュメント) 業界の常識 間接的・普遍的 直接的・専門的 少ない 多い ドキュメント化されている割合
  10. 課題2:補足:LLMが対応できる範囲もある(はず) 暗黙知 明文化 (ドキュメント) 暗黙知 明文化 (ドキュメント) 業務知識 社内知識 暗黙知

    業界の常識 エンタープライズ検索で 検索できる(しやすい)範囲 暗黙知 社会の常識 ある程度はLLMが対応できる ただし、会社固有の知識には 対応できない
  11. 課題2:人間が利用している情報 質問本文 メタデータ コンテキスト 暗黙知 明文化 (ドキュメント) 暗黙知 明文化 (ドキュメント)

    業務知識 社内知識 暗黙知 業界の常識 ドキュメント 本文 メタデータ コンテキスト テキスト 画像 リンク 質問 ナレッジ ドキュメント 本文
  12. 課題2:システムが利用できる情報 システムが使用している情報は、人間に比べてごく一部 質問本文 メタデータ コンテキスト 暗黙知 明文化 (ドキュメント) 暗黙知 明文化

    (ドキュメント) 業務知識 社内知識 暗黙知 業界の常識 ドキュメント 本文 メタデータ コンテキスト 通常のQAシステムの 対象範囲 通常のQAシステムの 対象範囲 エンタープライズ検索で 検索できる(しやすい)範囲 テキスト 画像 リンク 通常の検索システムの 対象範囲
  13. 課題2:差分をどう埋めるのか 質問本文 メタデータ コンテキスト 暗黙知 明文化 (ドキュメント) 暗黙知 明文化 (ドキュメント)

    業務知識 社内知識 暗黙知 業界の常識 ドキュメント 本文 メタデータ コンテキスト 通常のQAシステムの 対象範囲 通常のQAシステムの 対象範囲 エンタープライズ検索で 検索できる(しやすい)範囲 テキスト 画像 リンク 通常の検索システムの 対象範囲 検索システムを 変更する プログラムを 改良する プログラムを 改良する 別の検索システムを追加する(?) できる限り範囲をふやす (制約:そもそもデータがあるか・実装コスト・運用可能か) どうする? (明文化してもらう)
  14. 課題2:(参考) 最近取り組んでいること ユーザ 質問 回答 LLM プログラム 質問 + 関連テキスト

    回答 参考 ドキュメント 前処理 ドキュメント 検索システム 検索クエリ 関連テキスト 前処理済み ドキュメント インポート UI 質問 回答 用語 検索システム 検索クエリ 関連テキスト インポート 他 検索システム 検索クエリ 関連テキスト 自律システム (Agent) ドキュメント 作成者・管理者 フィードバック オンボーディング 定期処理 用語集の自動作成 検索の仕組み 会話履歴
  15. このチュートリアルで話したこと 背景・前提知識 ・RAGとは:検索 + 生成AIで 新たな知識に関して回答させること ・世の中のホットトピック AWSで生成AIを始めるには ・AWS製リポジトリが便利 ・使いやすい・機能が豊富

    実際にやると課題がたくさん ・検索システムに前処理を加え 意図した読み方に修正する必要 ・人間と同じ情報を持たせるには 検索システムを追加した方が良い 研究的なRAGの精度改善よりも、 前段階にまだまだやることがある