Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

LLM活用を加速させる Prompt Flow 実践

LLM活用を加速させる Prompt Flow 実践

More Decks by 田口 大智 / ぐっちー

Other Decks in Technology

Transcript

  1. 0 PUBLIC LLM活⽤を加速させる Prompt Flow 実践 2024.04.13 Azure Travelers 勉強会

    神⼾の旅 セキュリティ&データガバナンスセクション クラウドセキュリティアーキテクト ⽥⼝ ⼤智
  2. 1 ⽥⼝ ⼤智 (@hirotomotaguchi) Cloud Security Architect ⾃⼰紹介 経歴 l

    明治⼤学︓野球部 l コンサルティング会社︓ISO27000(ISMS)、ISMAP 等 現在の仕事 l 現職︓ l セキュリティ系 l ゼロトラストの概念に基づくIT基盤設計 l CASB/SWG/EDR/SIEM等の構築運⽤⽀援や運⽤サポート l AI系 l AOAI/AI Search の構築⽀援 趣味 l ダンス・野球・ゴルフ(初⼼者)
  3. 4 実績 デジタルプラットフォーム 構築条業報告書 ゼロトラストアーキテクチャの概念を 取り込んだ環境を構築する実証実験を ⾏いました。 ⽣成AI(Azure OpenAI) 構築⽀援

    独⾃データを組み込んだChatGPTを、 セキュアに構築し、業務へ組み込みむ⽀ 援を⾏いました。 意外と変われる霞ヶ関 ⼤賞 霞が関初、フルクラウド 霞が関初、フルクラウドで業務・働き⽅ を改⾰しました。当社代表が最⾼情報 セキュリティアドバイザーに就任しました。 Chapter1.関与しているシステム・サービスの紹介(⼀部)
  4. 5 去年から流⾏っているRAGでいろいろやってます︕ Retrieval-Augmented Generation 検索 拡張 ⽣成 1 6 2

    3 USER 検索インデックス (情報ソース) 参考︓Patterns for Building LLM-based Systems & Products (eugeneyan.com) 注意︓わかりやすさを重視して書いています。また、RAGのアーキテクチャや処理の流れはシステムによって異なります。 UI オーケストレーター (iPaaS/PaaS 等) 5 回答⽣成 4 検索結果 LLM クエリ プロンプト 回答 プロンプト & 検索結果 指⽰(ユーザーからの質問に検索結果を参 考に回答してください。) ユーザーからの質問 (XXについて教えてください。) 検索結果 Chapter1.関与しているシステム・サービスの紹介(⼀部)
  5. 10 Prompt Flowとは︖ Prompt Flow はAzure上で使えるAIアプリケーションの開発サイクル全体を合理化するために設 計された総合開発ツールです。 Chapter2. Prompt Flow

    概要 ü AIアプリケーション向 け開発ツール ü Pythonのコードを実 ⾏できる ü AIアプリのテストや評 価のための機能を備え ている ü エンドポイントを公開 して、作ったフローを 外部から実⾏できる
  6. 11 Prompt Flow を利⽤できる場所 Prompt Flow は Azure Machine Learning、Azure

    AI Studio、ローカル環境で利⽤できます。 Chapter2. Prompt Flow 概要 Azure AI Studio Azure Machine Learning ローカル(VS Code)
  7. 12 Prompt Flow で⽤意されている通常フロー・チャットフロー Prompt Flow ではテンプレートのフローが⽤意されています。 ⽤意されているフロー 概要 Ask

    Wikipedia ユーザーの質問に対して、Wikipediaの内容をもとに回答する。 Chat with Wikipedia 「Ask Wikipedia」と同様だが、チャット履歴機能を備えてお り、チャットに特化している。 Web Classification Webサイトのカテゴリを分類する。 Use Function with Chat Models 外部のAPI(Function)を呼び出す。 Bring Your Own Data QnA 独⾃データを取り込んだフローを作る。 Chapter2. Prompt Flow 概要
  8. 16 Prompt Flow で作るRAGシステム Azure AI Studio Prompt Flow はAzure上で使えるAIアプリケーションの開発サイクル全体を合

    理化するために設計された総合開発ツールです。 Chapter2. Prompt Flow 概要 Azure Azure AI Studio (Prompt Flow) input Hybrid Search Create output output 何か Azure OpenAI Azure AI Search 質問 回答 Hybrid Search Create output 規定のデータを ベクターDB化する︕ MSの世界で1番精度がいい⼿法 (ベクトル検索+セマンティックリランク)
  9. 25 AIシステム導⼊前の状況 • 顧客サポートシステム • Workato(iPaaS)を使って構築 • 別チームのメンバーが開発 • セキュリティチェックAI

    • AWSを基盤とするSaaSとして構築 • 開発チームとは⾮同期で作業している • AWSの⽅は極⼒触りたくない Chapter3. Prompt Flow がどう役に⽴ったのか?
  10. 28 例えばRAGのGの部分 Retrieval Augmented Generation 検索 拡張 ⽣成 1 6

    2 3 USER 検索インデックス (情報ソース) 参考︓Patterns for Building LLM-based Systems & Products (eugeneyan.com) 注意︓わかりやすさを重視して書いています。また、RAGのアーキテクチャや処理の流れはシステムによって異なります。 UI オーケストレーター (iPaaS/PaaS 等) 5 回答⽣成 4 検索結果 LLM クエリ プロンプト 回答 プロンプト & 検索結果 指⽰(ユーザーからの質問に検索結果を参 考に回答してください。) ユーザーからの質問 (XXについて教えてください。) 検索結果 Chapter3. Prompt Flow がどう役に⽴ったのか?
  11. 29 RAGのプロンプト例(セキュリティチェックAI) ※ 実際の環境では英語のプロンプトを利⽤しており、かつ情報量もこれよりも多いですが、登壇のわかりやすさを重視して省略しています。 ※ ⾚字部分が変数部分です。 Chapter3. Prompt Flow でどう幸せになれたのか?

    Instructions: あなたは優秀なセキュリティ担当者です。規定の検索結果がコンテキストを提供し、セキュリテ ィチェックリストの質問に⽇本語で回答します。⽂書に回答に関連する情報が含まれている場合 は、以下の例⽰のとおり、質問に具体的に回答を提供し、参照⽂書番号を含めます。 <example>当社は {XXのような対策} を実施しています。[doc2]</example> <context> <doc1>セキュリティ規定︓ウイルスの被害を防⽌するためにOSをアップデートする</doc1> <doc2>セキュリティ規定︓AVソフトをMDMでPCに展開する</doc2> <doc3>セキュリティポリシー︓情報セキュリティの可⽤性をホゲホゲ</doc3> </context> <question>アンチウイルスソフトを導⼊していますか︖</question> Answer:
  12. 30 RAGのプロンプト例(セキュリティチェックAI) ※ 実際の環境では英語のプロンプトを利⽤しており、かつ情報量もこれよりも多いですが、登壇のわかりやすさを重視して省略しています。 ※ ⾚字部分が変数部分です。 Chapter3. Prompt Flow でどう幸せになれたのか?

    Instructions: あなたは優秀なセキュリティ担当者です。規定の検索結果がコンテキストを提供し、セキュリテ ィチェックリストの質問に⽇本語で回答します。⽂書に回答に関連する情報が含まれている場合 は、以下の例⽰のとおり、質問に具体的に回答を提供し、参照⽂書番号を含めます。 <example>当社は {XXのような対策} を実施しています。[doc2]</example> <context> <doc1>セキュリティ規定︓ウイルスの被害を防⽌するためにOSをアップデートする</doc1> <doc2>セキュリティ規定︓AVソフトをMDMでPCに展開する</doc2> <doc3>セキュリティポリシー︓情報セキュリティの可⽤性をホゲホゲ</doc3> </context> <question>アンチウイルスソフトを導⼊していますか︖</question> Answer: わからないとき どう動いて欲しい︖ 例⽰はどんな フォーマット︖ Context(検索結果)は いくつ渡す︖ LLMに情報を 渡す順番 どんな指⽰を 与えたらいい︖ ⽇本語か︖ 英語か︖
  13. 31 評価の時に考えること(LLMの実⾏時) Chapter3. Prompt Flow でどう幸せになれたのか? 事前定義しているプロンプト × ユーザーからの質問 ×

    モデル(3.5? 4? Claude?) ↓ エグいパターン数 • 精度 • 応答速度 • パフォーマンス • コスト
  14. 32 RAGのRの部分もかなり曲者 Retrieval Augmented Generation 検索 拡張 ⽣成 1 6

    2 3 USER 検索インデックス (情報ソース) 参考︓Patterns for Building LLM-based Systems & Products (eugeneyan.com) 注意︓わかりやすさを重視して書いています。また、RAGのアーキテクチャや処理の流れはシステムによって異なります。 UI オーケストレーター (iPaaS/PaaS 等) 5 回答⽣成 4 検索結果 LLM クエリ プロンプト 回答 プロンプト & 検索結果 指⽰(ユーザーからの質問に検索結果を参 考に回答してください。) ユーザーからの質問 (XXについて教えてください。) 検索結果 Chapter3. Prompt Flow でどう幸せになれたのか?
  15. 33 評価の時に考えること Chapter3. Prompt Flow でどう幸せになれたのか? 検索の部分について • 検索サービスどうする︖ •

    ベクトル検索のモデル (ada-002・003・オープンソースのやつ) • リランク • データ構造 (どのようなフィールドにする︖・チャンク分割)
  16. 36 よくやる評価 - ⼀貫性をLLMで評価 gpt-3.5-turbo に検索結果を多く与えすぎると、明後⽇の⽅にいく回答となることが多いため、 質問と回答の⼀貫性をスコア化してもらう Chapter3. Prompt Flow

    でどう幸せになれたのか? 回答 質問 評価 点数 定義 1 ⼀貫性が全くない 2 ⼀貫性がほとんどない 3 ⼀部⼀貫性がある 4 ほとんど⼀貫している 5 ⼀貫性がある はい、当社は Microsoft Defender for Endpoint を 導⼊して、ウイルス対策をお こなっています。また、 Netskope を導⼊して、情報 漏洩対策をしています。 アンチウイルスソフトを導⼊ していますか︖ ほぼ⼀貫しているが、聞かれて ないことに答えている。
  17. 37 よくやる評価 - 根拠(捏造していないか︖) 回答が根拠に基づくものなのか、捏造しているものではないかをLLMを使ってチェックする。 Chapter3. Prompt Flow でどう幸せになれたのか? 回答

    質問 検索結果 はい、当社は Microsoft Defender for Endpoint を 導⼊して、ウイルス対策をお こなっています。 アンチウイルスソフトを導⼊ していますか︖ 端末管理規定 ~~~ 脅威から端末を保護するため に、Microsoft Defender for Endpoint P2をMDMで登録 する。 根拠に基づくものか、捏造した ものかをLLMでチェック
  18. 38 よくやる評価 - 期待する回答との類似度 期待する答えとの類似度をLLM(GPT-3.5)やベクトルモデル(text-embedding-ada)等で評価 します(僕は評価⽤のAzure AI Searchインデックスを作ったりしている。) Chapter3. Prompt

    Flow でどう幸せになれたのか? 回答 質問 期待する答え はい、当社は Microsoft Defender for Endpoint を 導⼊して、ウイルス対策をお こなっています。また、 Netskope を導⼊して、情報 漏洩対策をしています。 アンチウイルスソフトを導⼊ していますか︖ はい、当社は Microsoft Defender for Endpoint を 導⼊して、ウイルス対策をお こなっています。 類似度スコア 0.832464
  19. 40 【余談】テスト結果を社内ユーザーに出⼒したらウケた 元々、評価⽤に作っていた情報を含めて、社内ユーザーに提供してみたら好評だった。 Chapter3. Prompt Flow でどう幸せになれたのか? id question answer

    注意書き 情報ソース URL X X セキュリティを推進 する組織はあります か︖ 当社はCISOを任命し ています。 質問の回答に なっていない 可能性があり ます。 XX規定 [XXX].com X X 関連法令を確認して いますか。 関連法令を確認して います。 質問と回答は マッチしてい ます。 XX規定 [XXX].com X X 個⼈情報保護責任者 を設けていますか。 情報セキュリティ管 理責任者を設けてい ます。 質問の回答に なっていない 可能性があり ます。 XX規定 [XXX].com
  20. 41 頑張って欲しい部分 Chapter3. Prompt Flow でどう幸せになれたのか? • node の名前変えても変わらないみたいなエラー多いな (FBはちょいちょいしてますw

    • Azure Machine Learning と Azure AI Studio のどっち 使えばいい問題(AI Studioだとネットワークの制限がで きなさそうなので、個⼈的にはAzure ML) • マネージドIDとかで認証したい。
  21. 42 まとめ Chapter3. Prompt Flow がどう役に⽴ったのか? • Prompt Flow はMS社が提供するAIシステムの総合開発

    環境です。 • Prompt Flow はテンプレートが⽤意されており、中⾝を 理解しながら開発を進めらられやすい。 • 特に評価の仕組みが重宝する。(例え、Prompt Flowで はなくて、FunctionsやLogic Apps、PowerAutomateで フローを作る場合でも、触っておいて損はない。)
  22. 43 株式会社クラウドネイティブ Cloud Native Inc. 設⽴︓2017年5⽉ 所在地︓〒106-0032 東京都港区六本⽊1-4-5 アークヒルズサウスタワー 16F

    代表電話番号︓050-1791-0450 Eメールアドレス︓[email protected] ITの世界だからこそ、⼈と⼈とのコミュニケーションを最重要視し、 全員が前を向いて楽しく仕事を進められる世界を作るのが最⼤のミッションです。 https://cloudnative.co.jp