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

Azure OpenAI Service リファレンスアーキテクチャからみる本番システムレベルの LLM アプリに必要な検討項目の解説 / From Azure OpenAI Reference Architecture to Production-Ready LLM Apps #serverlessdays #serverlesstokyo

Kodai Sakabe
September 23, 2023

Azure OpenAI Service リファレンスアーキテクチャからみる本番システムレベルの LLM アプリに必要な検討項目の解説 / From Azure OpenAI Reference Architecture to Production-Ready LLM Apps #serverlessdays #serverlesstokyo

ServerlessDays Tokyo 2023 で Azure OpenAI Service リファレンスアーキテクチャからみる、本番システムレベルの LLM アプリに必要な検討項目の解説 / From Azure OpenAI Reference Architecture to Production-Ready LLM Apps というタイトルで紹介しました

HP: https://tokyo.serverlessdays.io/
Ticket: https://serverless.connpass.com/event/290640/

#serverlessdays #serverlesstokyo

Kodai Sakabe

September 23, 2023
Tweet

More Decks by Kodai Sakabe

Other Decks in Technology

Transcript

  1. ࡔ෦޿େ!LPVEBJJJ ೔ຊϚΠΫϩιϑτͷύʔτφʔࣄۀຊ෦ͷ"[VSFͷύʔτφʔιϦϡʔγϣϯΞʔΩςΫτɻ1P$ɺ1SPEVDUJPO؀ڥͷΞηεϝϯτɺϖΞΦϖ΍τϥγϡʔͳͲӡ༻ʹؔΘΔࢧԉʹैࣄɻ 5*4ͳΒͼʹ8BOUFEMZʹͯ4BB4ͷΠϯϑϥ΍ӡ༻อकͳΒͼʹࣾ಺*5΍಺෦౷੍ɺηΩϡϦςΟɺπʔϧ࡞੒ɺαʔόʔαΠυΤϯδχΞ΍%FW0QT43&Λܦݧɻ ࠷దղΛ࣮ݱ͢ΔมԽʹڧ͍ΠϯϑϥΛ͍ͭ΋ߟ͍͑ͯ·͢ɻ w )1IUUQTLPVEBJJJDPN υϝΠϯҠ؅ͷखҧ͍ʹͯ".෮ؼ  w 044

    w IUUQTHJUIVCDPN"[VSFB[UGZ"[VSFB[UGFYQPSU΁Ϧϒϥϯυ w #PPLIUUQTBNB[PODPKQEQ#2-#48-ͦͷଞϨϏϡʔͰͷࢀՃଟ਺ w *OUFSWJFX w ΞʔΩςΫτIUUQTUIJOLJUDPKQBSUJDMF w ΠϯϑϥIUUQTBXTBNB[PODPNKQTPMVUJPOTDBTFTUVEJFTXBOUFEMZ w %FW0QTIUUQTYUFDIOJLLFJDPNJUBUDMXBUDIFS w ΨόφϯεIUUQTXXXMSNKQJTPWPJDFXBOUFEMZ w ηΩϡϦςΟIUUQTXXXUFDINBUSJYDPKQDBTFTUVEZXBOUFEMZJOEFYIUNM * https://learn.microsoft.com/ja-jp/azure/developer/terraform/azure-export-for-terraform/export-terraform-overview
  2. 0 章 はじめに Azure OpenAI リファレンスとは 1 章 コールセンター向け AI

    アシスタント 2章 料理メニュー提案 3章 ⽬標達成アシスタント 4章 企業分析 5章 企業内向けChatと社内⽂書検索 6章 共通基盤ガイド 認証/ロギング/クォータ制限
  3. リファレンスの利⽤⽅法 3 3 リファレンス⼀覧 4 章 カテゴリー ガイドライン 0 はじめに

    1. Azure Openリファレンスとは 1 コールセンター向けAIアシスタントシナリオ 1. シナリオ概要 2. アプリUI 3. アーキテクチャ 4. デプロイ⽅法 5. 考慮事項 2 料理メニューの提案シナリオ 1. シナリオ概要 2. アプリUI 3. アーキテクチャ 4. デプロイ⽅法 5. 考慮事項 3 ⽬標達成アシスタントシナリオ 1. シナリオ概要 2. アプリUI 3. アーキテクチャ 4. デプロイ⽅法 5. 考慮事項 章 カテゴリー ガイドライン 4 企業分析シナリオ 1. シナリオ概要 2. アプリUI 3. アーキテクチャ 4. デプロイ⽅法 5. 考慮事項 5 企業内向けChatと社内⽂書検索シナリオ 1. シナリオ概要 2. アプリUI 3. アーキテクチャ 4. デプロイ⽅法 5. 考慮事項 6 共通基盤ガイド 1. このガイドの位置づけ 2. 基盤の全体概要 3. ユーザーの認証認可 4. ログ取得 5. クォータ制限(利⽤制限) 6. デプロイ⽅法 7. 補⾜事項 8. 考慮事項 4 制限事項 5 5 © Copyright Microsoft Corporation. All rights reserved. 本資料は情報提供のみを⽬的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの⾒解を⽰したものです。状況等の変化により、内容は変更される場 合があります。本資料の記載内容(提⽰されている条件等を含みます)は、弊社での社内承認、および/またはお客様との有効な契約を経たうえで最終的に確定されます。それまでは、 正式に発効するものではありません。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります。お客様の最終的な購⼊価格は、お客様のリセラー 様により決定されます。マイクロソフトは、本資料の情報に対して明⽰的、黙⽰的または法的な、いかなる保証も⾏いません。 © 2023 Microsoft Corporation. All rights reserved.
  4. On-premises Azure Web App Speech Service Language Service OpenAI Service

    WEB アプリ にアクセス マイクからの⾳ 声を⽂字越し、 翻訳 会話のフレーズ毎 に感情分析 会話終了時に要 約やキーフレーズを ⽣成 コンポーネントとデータフロー 家族のプロフィール等を送信 OpenAI ServiceをTokenで認証 ⽣成した⽂章・画像をレスポンス ⽂章・画像⽣成のプロンプトを送信 提案メニュー・料理画像を表⽰ Azure App Service Azure OpenAI Service ⽂章⽣成モデル (text-davinci-003) 画像⽣成モデル (DALL-E) Webブラウザ コンポーネントとデータフロー コンポーネントとデータフロー ナレッジデータ (テキスト) Redis Enterprise RediSearch ナレッジベース … Azure App Services Web Browser Python Console (PCで実⾏) GPT に渡すための付加情報を収集/登録 シナリオによってデータソースの種別や取得⽅法が 異なるため、システム構築の検討は必要 ・Cognitive Service (Speech / Form Recognizer) ・ Synapse Analytics / Databricks ・AKS / Container Apps ・Azure Open AI (⽂章要約/加⼯⽅法の判断など) ナレッジデータから GPT Embedding(ベクトル)を⽣成 Embeddingとナレッジデータを Redis Cache に登録 達成したい⽬標を⼊⼒ 設定⽬標から GPT Embedding (ベクトル)を取得 設定⽬標 Embeddingから 関連ナレッジを検索 (コサイン類似度) OpenAI とのチャット/⽂章⽣成 ⽬標達成に曖昧な部分を AI から利⽤者に質問する データソース - DBMS - PDF - HTML - etc… ナレッジベースの準備 Azure OpenAI と ナレッジベースによる アプリケーション Azure Open AI Service GPT-4-32k for chat text-embedding-ada-002 for embedding Azure Active Directory URLを開く 認証 企業情報 (JSON) Redis Enterprise RediSearch 企業情報はAzure Cosmos DB のような ストアに配置することも有効です ナレッジベース … Azure App Services Web Browser Python Console (PCで実⾏) Azure Active Directory データソースから企業分析に必要な情報を収集。 企業によってデータソースの種別や取得⽅法が 異なるため、システム構築の検討は必要 ・Cognitive Service (Speech / Form Recognizer) ・ Synapse Analytics / Databricks ・AKS / Container Apps ・Open AI (⽂章要約/加⼯⽅法の判断など) 企業情報から GPT Embedding(ベクトル)を⽣成 Embeddingと企業情報を Redis Cache に登録 URLを開く 企業名を検索 企業名から GPT Embedding (ベクトル)を取得 企業名の Embeddingから 企業情報を検索 認証 OpenAI とのチャット/⽂章⽣成 OpenAI に送信するプロンプトには、ナレッジベースから取得した企業情報を含める (それにより Open AI は企業の最新情報を認識した回答を作成) データソース - DBMS - PDF - HTML - etc… Azure Open AI Service gpt-35-turbo for chat text-embedding-ada-002 for embedding チャット⼊⼒から 関連情報を検索 (コサイン類似度) チャット⼊⼒ (事前準備) ナレッジベースの構築 企業分析 Web アプリケーション コンポーネントとデータフロー コンポーネントとデータフロー Blob Storage 参照⽤⽂書 Azure App Services Web Browser Azure Active Directory データソースとなるPDFを分割し、 Blob Storageにアップロード 分割したPDFからCognitive Searchの インデックスを作成 URLを開く 問い合わせ 問い合わせからCognitive Search の検索クエリを⽣成(Davinciモデル を使⽤) 認証 Azure OpenAI で回答⽣成 (GPT-35-Turboモデルを使⽤) PDF ⽂書検索の準備 Azure OpenAI と ナレッジベースによる アプリケーション Azure OpenAI Service Davinci/GPT-35-Turbo/(GPT-4) pdf Azure Cognitive Search Index (gptkbindex) Cognitive Searchで⽂書を検索 必要に応じて引⽤元⽂書をプレ ビュー/ダウンロード プロンプトをCosmos DBに保存 Azure Cosmos DB
  5. ڞ௨ࣄ߲ ͲͷϦϑΝϨϯεͰ΋ݕ౼͞Ε͍ͯΔࣄ߲ w ηΩϡϦςΟ w Ϣʔβೝূ w "[VSF0QFO"*ͷΑ͏ͳγεςϜΛ௨ͯ͠ར༻͢ΔΤϯυϙΠϯτΛͦͷ··ग़͞ͳ͍ w ϩάऔಘϝτϦΫε

    w ωοτϫʔΫ w ΞϓϦέʔγϣϯ w σʔλετΞ w "*Ϟσϧ w ։ൃج൫ w ΫΥʔλ੍ݶ w σϓϩΠํ๏ w ΩϟύγςΟϓϥϯχϯά ෛՙςετؚΉ ΍ج൫ϩʔυϚοϓ
  6. ಛ௃తͳҧ͍ ඇػೳཁ݅ͷτϨʔυΦϑ w ѻ͍͍ͨσʔλͷಛ௃ ػີɺߏ଄ɺσʔλͷ௥੻  w ηΩϡϦςΟ θϩτϥετɺڥքܕ 

    w ωοτϫʔΫ Πϯό΢ϯυΞ΢τό΢ϯυ  w 1VCMJDʹҰ੾ग़͞ͳ͍ઃܭͷ͔ɺઃܭ্1VCMJDʹग़Δ͜ͱ͕ͳ͍ઃܭͳͷ͔ w ίετ w େن໛ σʔλͷαΠζͱϦΫΤε਺ Ϧʔδϣϯ  w ඼࣭վળ΁ͷΞϓϩʔν ϩά "#ςετ 6OJU5FTU %BUB fl PX QSPNQU fl PX