🍇

Azure OpenAI ServiceのAzure公式サンプル実装まとめ

2023/04/14に公開

Azure OpenAIサービスを他のAzureサービス等と組み合わせてソリューションを実現するサンプル実装がAzure公式から提供されています。

以下ではそれぞれを取り上げて、何ができるサンプルなのかをまとめていきたいと思います。

azure-search-openai-demo

hoge

  • 組織内のドキュメントやデータベース、SharepointなどをBing ChatのようにGPTに検索させてその結果を使って回答させる
  • サンプルではストレージにPDFドキュメントが配置され、それを検索・読み取って回答してもらえる。ストレージに他のドキュメントを放り込むだけで自分の組織専用のコンシェルジュが出来上がる

https://github.com/Azure-Samples/azure-search-openai-demo

azure-open-ai-embeddings-qna

  • Azure OpenAI Embeddingsを使ってナレッジベース(ストレージなど)のドキュメントをEmbedding(ベクトル化)して検索できるようにし、対話的チャットの裏で検索させる構成
  • ドキュメントが図表を含んでいてもForm Recognizerにより検索対象にできる
  • 最終的にできることは azure-search-openai-demo と近いがEmbedding後のコサイン類似度で検索するためワード単位の一致していなくても検索が可能で、カスタマイズ性も高い
  • Pythonによる実装、デプロイ用のARMテンプレート等環境を再現するために必要なものはほぼそろっている上、ローカル実行も可能なため試しやすい

https://github.com/Azure-Samples/azure-open-ai-embeddings-qna

openai-dotnet-samples

  • Azure Open AIで実現できる様々な機能を.NETで利用するipynbの詰め合わせ
  • 分類、キーワード抽出、Tweet分類、文法訂正、C#バグフィックス、翻訳、自然言語からプログラムへの変換、C#バグフィックスなどのコードヘルパー、Q&Aなどチャット等50種類近くの様々なタスク例が掲載されている
  • Azure OpenAI Serviceで〇〇したいな...と思ったらいったんこの中を見るとざっくりどう実装すれば大抵見つかりそう

https://github.com/Azure-Samples/openai-dotnet-samples

openai-python-enterprise-logging

alt

  • AzureADで認証したうえでOpenAIを利用し、その包括的なログ取得、利用証跡保管、スロットリング制御やアクセス制御等を行うアーキテクチャ
  • 実装サンプルはAPI定義のPython例のみで手順書ベース(デプロイ用テンプレート等は無し)
  • 企業内で使うにしても外部に公開するにしても、ちゃんとしたサービスとして言語モデル提供するベースによさそう
  • azure-search-openai-demoやazure-open-ai-embeddings-qnaと組み合わせるパターンが流行りそう

https://github.com/Azure-Samples/openai-python-enterprise-logging

spring-openai-bot

  • Java Spring Boot (Sprint Boot 3)でのBot作例

https://github.com/Azure-Samples/spring-openai-bot

cosmosdb-chatgpt

  • Cosmos DB (ドキュメントデータベース)とChatGPTを連携させるサンプル
  • C# による実装
  • Blazorによるフロントエンド実装

https://github.com/Azure-Samples/cosmosdb-chatgpt

summarization-python-openai

  • Azure Cognitive SearchとAzure OpenAI(とストレージとVSコード)をJupyter当のPythonノートブック上で連携させるデモ
  • ストレージ等に保管された文書を検索や要約
  • 検索用のインデックスやEmbeddingをAzure OpenAI Embedding APIやAzure Cognitive Searchを利用して整備する過程をなぞれる
  • サンプル実装としてPlaybookを配布。
  • やっていることは azure-open-ai-embeddings-qna と近いがこちらのほうが手を動かして仕組みを理解したい人向けにはよさそう

https://github.com/Azure-Samples/summarization-python-openai

Discussion