Azure OpenAI Service を利用したエンタープライズアーキテクチャのメモ
はじめに
Azure 上で OpenAI をエンタープライズ利用するアーキテクチャがガンガン出てくるので自分用にメモ
1. ChatGPT × Cognitive Search を使ったエンタープライズサーチ
今一番バズってるアーキテクチャ。組織内の大量のドキュメントを ChatGPT で検索できる。多くの企業がまずこのアーキテクチャで実装を始めている。MS 公式 Tech Blog 記事は 228K Views というとんでもない View 数を記録。
- ChatGPT(gpt-35-turbo)モデルでトレーニングされたデータに基づいてテキストを生成するのではなく、企業内に閉じたデータのみから生成する方法の例を示しています
- トークンの制限(4,096)の壁をできるだけ回避するための手法を紹介しています
- 「引用」をテキストに付加することで信頼できる応答を生成します
日本語解説記事
- 6/20 ノーコードで本アーキテクチャを実現する新機能「Azure OpenAI on your data」が Chat Playground に登場しました。(リンク)
- 5/24 ついにベクトル検索機能が実装されました!
Azure Cognitive Search にベクトル検索機能が実装され、ChatGPT × ハイブリッド検索が可能になりました。(リンク)
2. ChatGPT × CosmosDB でチャット履歴の保存
ChatGPT のチャット履歴を CosmosDB に保管するアーキテクチャ。Blazor Server のフロントエンド付き。
日本語解説記事
3. ChatGPT × Azure Cache for Redis Enterprise でベクトル検索
Azure OpenAI の Embeddings API でドキュメントのチャンクを Embeddings に変換し、Redis に保管。ユーザーからのクエリーも Embeddings に変換して、近似最近傍探索(ANN Search)を行う。
4. Enterprise Search with OpenAI Architecture
Azure Accelerators としてデータインジェストフェーズから利用フェーズまでカバーしたエンタープライズサーチアーキテクチャ
5. Azure OpenAI Custom Skill on Azure Cognitive Search
Azure Cognitive Search のカスタムスキルとして Azure OpenAI を呼び出して全文検索インデックスをエンリッチするアーキテクチャ。文書に対して要約、分類、キーフレーズ抽出、固有名詞抽出などの情報を付加できる。
5.1 チャンク分割・Embeddings 生成カスタムスキル
azure-search-power-skills へ EmbeddingGenerator が追加。
6. Business Process Automation Accelerator
BPA の観点からのパイプラインアーキテクチャ
7. GPT Smart Search Architecture
取得先の情報ソースを Azure Cognitive Search だけでなく、Bing Search API、Azure SQL Database、CSV ファイルに拡張したアーキテクチャ。オーケストレーションに LangChain を利用。
8. Azure OpenAI Enterprise Logging
Azure OpenAI リソースをサブスクリプション管理者側からロギングして、アクセス元 IP アドレスやトークン使用量を集計するアーキテクチャ。
既定の Azure OpenAI リソースではモニタリングできない、完全な呼び出し元 IP アドレス、モデル使用率、トークン使用率 (入出力)、入力プロンプト詳細、出力完了詳細のメトリックが取得可能。
9. Azure OpenAI を VNET に限定する設定
構築手順は以下が詳しい。Azure OpenAI Service を企業がセキュアに導入する際の基本設定。
もちろん他の Azure サービスと以下のように連携したり、オンプレからもセキュアにアクセスできる。モデルも利用サブスクリプションのリソース内にデプロイされている。
10. 負荷分散
Azure OpenAI Service のクォータ制限の回避策として、Azure API Management と Azure Front Door、Azure Traffic Manager 等を用いて複数のリソースに負荷分散する。
※注意:6/9 Azure OpenAI にクォータ管理機能が導入されました。
11. Azure Speech Service × Azure OpenAI
音声入力を Speech To Text でテキスト化して Azure OpenAI と連携させるアーキテクチャ。Cool なリアルタイムデモコードも公開されている。
12. ChatGPT × Azure Video Indexer
ChatGPT と Azure Video Indexer を連携させて組織内の動画コンテンツを検索しちゃうアーキテクチャ。
13. Azure OpenAI Service で ChatGPT お試し環境の構築
まずは社内で ChatGPT を検証してみたい方向けのノーコード ChatGPT Playground セキュア構築。
14. 「Project Miyagi」Semantic Kernel 系ガチ全部乗せアーキテクチャ
Azure-Samples にありがちな全部乗せ系アーキテクチャ。気の弱い方閲覧注意。
データ取得のオーケストレーションに Semantic Kernel を利用している。TODO: 理解のために要解体。Project Miyagi の Miyagi は映画ベスト・キッド(The Karate Kid)の空手の天才 Mr.Miyagi の事らしい。
Semantic Kernel 解説
Semantic Kernel って何?という方向け解説記事&動画
15. Semantic Kernel を使って独自の Copilot System を作るためのアーキテクチャ例
LLM を様々な企業内システム・DB と連携させるオーケストレーターとして動作させる例。
5/24 Build 2023 AI Copilot の時代が到来
「Copilot stack による LLM 中心アプリ開発」で最新の開発手法を学んでください
参考動画
これ見とけば Azure OpenAI Service 語れるよ動画
どんどん追加してこう
Discussion