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

Azure OpenAI Service リファレンスアーキテクチャからみる本番システムレベル...

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for Kodai Sakabe 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

Avatar for Kodai Sakabe

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