LoginSignup
115
100

Azure OpenAI Service を利用したエンタープライズアーキテクチャのメモ

Last updated at Posted at 2023-05-11

はじめに

Azure 上で OpenAI をエンタープライズ利用するアーキテクチャがガンガン出てくるので自分用にメモ

1. ChatGPT × Cognitive Search を使ったエンタープライズサーチ

001.png

今一番バズってるアーキテクチャ。組織内の大量のドキュメントを ChatGPT で検索できる。多くの企業がまずこのアーキテクチャで実装を始めている。MS 公式 Tech Blog 記事は 153K 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 のフロントエンド付き。
002.png

日本語解説記事

3. ChatGPT × Azure Cache for Redis Enterprise でベクトル検索

Azure OpenAI の Embeddings API でドキュメントのチャンクを Embeddings に変換し、Redis に保管。ユーザーからのクエリーも Embeddings に変換して、近似最近傍探索(ANN Search)を行う。
004.png

4. Enterprise Search with OpenAI Architecture

Azure Accelerators としてデータインジェストフェーズから利用フェーズまでカバーしたエンタープライズサーチアーキテクチャ
km-openai.png

5. Azure OpenAI Custom Skill on Azure Cognitive Search

Azure Cognitive Search のカスタムスキルとして Azure OpenAI を呼び出して全文検索インデックスをエンリッチするアーキテクチャ。文書に対して要約、分類、キーフレーズ抽出、固有名詞抽出などの情報を付加できる。
arch.png

5.1 チャンク分割・Embeddings 生成カスタムスキル

azure-search-power-skills へ EmbeddingGenerator が追加。

6. Business Process Automation Accelerator

BPA の観点からのパイプラインアーキテクチャ

sample-pipelines-may-2023.png

7. GPT Smart Search Architecture

取得先の情報ソースを Azure Cognitive Search だけでなく、Bing Search API、Azure SQL Database、CSV ファイルに拡張したアーキテクチャ。オーケストレーションに LangChain を利用。
003.jpg

8. Azure OpenAI Enterprise Logging

Azure OpenAI リソースをサブスクリプション管理者側からロギングして、アクセス元 IP アドレスやトークン使用量を集計するアーキテクチャ。

005.png

既定の Azure OpenAI リソースではモニタリングできない、完全な呼び出し元 IP アドレス、モデル使用率、トークン使用率 (入出力)、入力プロンプト詳細、出力完了詳細のメトリックが取得可能。

9. Azure OpenAI を VNET に限定する設定

構築手順は以下が詳しい。Azure OpenAI Service を企業がセキュアに導入する際の基本設定。
006.png

もちろん他の Azure サービスと以下のように連携したり、オンプレからもセキュアにアクセスできる。モデルも利用サブスクリプションのリソース内にデプロイされている。
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3637343334342f33626466343039612d393735652d386436652d666162322d6665363939303139326534652e706e67.png

10. 負荷分散

Azure OpenAI Service のクォータ制限の回避策として、Azure API Management と Azure Front Door、Azure Traffic Manager 等を用いて複数のリソースに負荷分散する。

※注意:6/9 Azure OpenAI にクォータ管理機能が導入されました。
https://learn.microsoft.com/azure/cognitive-services/openai/how-to/quota

11. Azure Speech Service × Azure OpenAI

音声入力を Speech To Text でテキスト化して Azure OpenAI と連携させるアーキテクチャ。Cool なリアルタイムデモコードも公開されている。
007.png

12. ChatGPT × Azure Video Indexer

ChatGPT と Azure Video Indexer を連携させて組織内の動画コンテンツを検索しちゃうアーキテクチャ。
012.png

13. Azure OpenAI Service で ChatGPT お試し環境の構築

まずは社内で ChatGPT を検証してみたい方向けのノーコード ChatGPT Playground セキュア構築。

14. 「Project Miyagi」Semantic Kernel 系ガチ全部乗せアーキテクチャ

Azure-Samples にありがちな全部乗せ系アーキテクチャ。気の弱い方閲覧注意。
008.png

データ取得のオーケストレーションに Semantic Kernel を利用している。TODO: 理解のために要解体。Project Miyagi の Miyagi は映画ベスト・キッド(The Karate Kid)の空手の天才 Mr.Miyagi の事らしい。

009.png

Semantic Kernel 解説

Semantic Kernel って何?という方向け解説記事&動画

Semantic Kernel サンプル(C#)

最近 Copilot Chat という高機能チャットサンプルが追加されたので要チェック。

010.png

15. Semantic Kernel を使って独自の Copilot System を作るためのアーキテクチャ例

LLM を様々な企業内システム・DB と連携させるオーケストレーターとして動作させる例。
011.png

5/24 Build 2023 AI Copilot の時代が到来

「Copilot stack による LLM 中心アプリ開発」で最新の開発手法を学んでください

参考動画

これ見とけば Azure OpenAI Service 語れるよ動画

どんどん追加してこう

115
100
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
115
100