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

Agents for Amazon BedrockとAmazon Kendraを活用してRAGを構築してみた!

Naoki
December 20, 2023

Agents for Amazon BedrockとAmazon Kendraを活用してRAGを構築してみた!

Naoki

December 20, 2023
Tweet

More Decks by Naoki

Other Decks in Technology

Transcript

  1. 自己紹介 ⚫ 石原 直樹(いしはら なおき) ⚫ 業務 • グループ企業のCCoE •

    社内LLM研究会にも所属 ⚫ 好きなAWSサービス ・ Amazon Kendra ・ Amazon Bedrock 2 @lshihara_Naok1 X最近始めました!
  2. Amazon Bedrockとは ・AWS基盤上にあるAIモデルをAPIを通じて利用できる ユーザー Amazon Bedrock ・使えるAIモデル ・Julassic-2 ・Claude ・Command

    ・Llama 2 ・Stable Diffusion ・Amazon Titan ・質問すると回答が返ってくるのみ、実際のタスクは人間が行う必要がある 期限切れの課題持ってる人 にリマインドを送って リマインドを送る際の注意点は~
  3. Agents for Amazon Bedrockとは 6 ・質問をするとエージェントが思考し、計画し、実行する ・Lambda関数を設定すると、計画に応じて実行してくれる ユーザー Agents for

    Amazon Bedrock AWS Lambda 期限切れの課題持ってる人 にリマインドを送って Step1: 課題を取得する Step3: メッセージを送信する AWS Lambda Amazon Bedrock Step2: 担当者を特定する 課題を取得して、担当者を特定し、 リマインド送信しよう ・使えるAIモデル ・Claudeのみ ※2023年11月29日 一般利用開始
  4. Amazon Kendraとは ・高性能な検索機能を持った企業内検索エンジン ユーザー Amazon Bedrock Amazon Kendra アプリ 使えるデータソースコネクタ

    ・Amazon S3 ・JIRA ・BOX ・Slack etc.. ・Bedrock+Kendraで、AIモデルが専門的な情報から回答できるRAG※を構築できる ②検索 ③結果出力 ④結果取得 ⑤回答生成 ①質問 ⑥回答取得 ※外部の知識ベースから検索して、AIが回答を生成する仕組み
  5. 今まで検証してきたもの 10 Amazon Bedrock Amazon Kendra アプリ 製品FAQ 製品マニュアル 過去事例

    HULFTサポート部門 HULFT8を導入するために 必要なソフトウェアは? HULFT8を導入するために 必要なソフトウェアは主に~ 専門知識から回答しているが、業務に即した回答ではない →Agents for Amazon Bedrockでより適した回答を生成させる
  6. 回答までの流れ(こんにちは編) 13 Agents for Amazon Bedrock Amazon Bedrock こんにちは AWS

    Lambda Amazon Kendra (エージェント) (AIモデル) (検索エンジン)
  7. 回答までの流れ(こんにちは編) 14 Agents for Amazon Bedrock Amazon Bedrock こんにちは AWS

    Lambda Amazon Kendra 挨拶をされたので、 挨拶と自己紹介を返そう (エージェント) (AIモデル) (検索エンジン)
  8. 回答までの流れ(こんにちは編) 15 Agents for Amazon Bedrock Amazon Bedrock こんにちは AWS

    Lambda Amazon Kendra こんにちは、HULFTテクニカルサ ポートです。 (エージェント) (AIモデル) (検索エンジン) 挨拶をされたので、 挨拶と自己紹介を返そう
  9. 回答までの流れ(質問編) 17 Agents for Amazon Bedrock Amazon Bedrock HULFT8を導入するために 必要なソフトウェアは?

    AWS Lambda Amazon Kendra HULFTに関する質問なの で、検索しよう (エージェント) (AIモデル) (検索エンジン)
  10. 回答までの流れ(質問編) 18 Agents for Amazon Bedrock Amazon Bedrock HULFT8を導入するために 必要なソフトウェアは?

    AWS Lambda Amazon Kendra ①「HULFT8 導入に必要なソフトウェア」とKendra検索 ②検索結果を取得してエージェントに渡す HULFTに関する質問なの で、検索しよう (エージェント) (AIモデル) (検索エンジン) ① ① ② ②
  11. 回答までの流れ(質問編) 19 Agents for Amazon Bedrock Amazon Bedrock HULFT8を導入するために 必要なソフトウェアは?

    AWS Lambda Amazon Kendra 検索結果を取得したので、 回答を生成しよう (エージェント) (AIモデル) (検索エンジン)
  12. 回答までの流れ(質問編) 20 Agents for Amazon Bedrock Amazon Bedrock HULFT8を導入するために 必要なソフトウェアは?

    AWS Lambda Amazon Kendra 検索結果を取得したので、 回答を生成しよう お問い合わせありがとうございま す。~~~~~~~~~~ 以上、よろしくお願いします (エージェント) (AIモデル) (検索エンジン)
  13. プロンプトエンジニアリングのテクニックを多用 22 あなたはHULFTという製品に詳しいHULFTテクニカルサポートというエージェントです。 ~~ 1. 「製品ドキュメント検索」:製品に関する質問をされた際に、検索して取得してください。~~ 2. 「回答の生成」:1. 「製品ドキュメント検索」で取得した回答を生成してください。~~ 以下<example></example>はその回答例です。

    <example> お問い合わせいただきありがとうございます。 "DocumentTitle“ "Content“ 参考:"DocumentURI“ 以上、よろしくお願いいたします。 </example> もし、「こんにちは」など、質問形式の発話ではない場合、「こんにちは。HULFTテクニカルサポートです。ご質問いただければと思います。」と 返してください。 ・エージェント作成時に設定したInstructionの記載内容 ・ステップバイステップで行動を記載 ・<example></example>などのXMLタグを使用 ※多少省略しています。 ANTHROPIC プロンプトデザインの紹介 https://docs.anthropic.com/claude/docs/introduction-to-prompt-design ※AIから欲しい回答を得るために命令文を最適化する手法 ※
  14. 関数を呼び出すスキーマのdescriptionにも工夫 23 openapi: 3.0.0 info: title: 'Test API' description: "APIs

    for testing Agents' behavior" version: '1.0.0' paths: /search: get: summary: 'GreetingAndDocumentSearchAPI' description: | もし、「こんにちは」などの挨拶をされた場合、user::askuser を実行し、「こんにち は。HULFTテクニカルサポートです。ご質問いただければと思います。」と必ず返してください。この関 数は、HULFTに関するドキュメントを検索し、~~JSON形式の配列で必ず返すAPIです。~~ 検索時に取得した"DocumentTitle"、"Content"、"DocumentURI"を使用して以下 <example></example>にように回答を生成してください。<example>お問い合わせいただきあ りがとうございます。>"DocumentTitle""Content"参考:"DocumentURI"以上、よろしく お願いいたします。</example> operationId: searchFaq ~~~~~~~~~~~~~~~~ descriptionにもプロンプトを細かく記載することで忠実に命令に従ってくれるようになった ・エージェント作成時に設定するOpenAPIスキーマの記載内容 ・この内容を基に、エージェントが関数を呼び出すかどうか判断
  15. Knowledge base for Amazon Bedrockとは 27 ・RAGを容易に構築できるBedrockの機能。 ・Agents for Amazon

    Bedrockと統合 ※2023年11月29日 一般利用開始 Vector Database Amazon S3 Agents for Amazon Bedrock Knowledge base for Amazon Bedrock 同期 ベクトル検索 呼び出す
  16. Knowledge baseとAmazon KendraのRAGにおける違い 28 Knowledge base Amazon Kendra 検索機能 ベクター検索

    全文検索、セマンティック検索 対応データソース S3のみ 約40種類 S3,JIRA,BOX,Slack etc.. 参照できるコンテンツの情報 テキスト、S3パス データソースにより様々 削除、変更、追加可能 コンテンツの情報を編集したかった(S3パス→URLに変更)ためKendraを採用