🍣
OpenAI プロジェクトにおけるインフラエンジニアの役割
最近、Azure OpenAI に関連するプロジェクトが増えてきました。ここでは、インフラエンジニアの視点から使用された Azure サービスとその関連アーキテクチャを整理します。
使用された Azure サービスとアーキテクチャ
-
Azure OpenAI:
- 役割: 指定された資料(例: 会社の製品マニュアルや規定)を基に、生成 AI を用いて回答を作成するシステムを構築します。
- 特徴: 使用するためには、事前に Microsoft へ利用申請を行い、認可を受ける必要があります。プロセスは通常 1~2 週間かかります。
-
App Service:
- 役割: アプリケーションをホスティングし、チャットアプリケーションを起動してユーザーとやり取りします。
- 特徴: サーバーを立てる必要がなく、アプリケーションをデプロイするだけで即利用可能です。スケーリングやバックアップもサポートされています。
-
Blob Storage:
- 役割: PDF や HTML などのドキュメント(例: マニュアル)を保管します。
- 特徴: 生成 AI が回答を生成する際に、これらの資料を参照します。
-
Email Communication Service:
- 役割: 認証プロセスに使用され、ユーザーにメールを送信し、ログイン画面で認証を行います。
- 特徴: セキュリティを強化するための手段として利用されます。
-
Langfuse:
- 役割: 生成 AI の RAG(Retrieval-Augmented Generation)を構築する際に、AI がどのように回答に到達したかを可視化するツールです。
- 特徴: 生成 AI の回答プロセスをログとして記録し、ベクトル化されたデータを確認することができます。
-
GitHub:
- 役割: コードのバージョン管理およびデプロイのためのリポジトリとして使用します。
- 特徴: Azure DevOps も使用可能ですが、GitHub の方が親和性が高いと感じられます。
-
PaaS/SaaS:
- 役割: クラウドサービスとして提供されるプラットフォームおよびソフトウェアを活用します。
- 特徴: インフラエンジニアの直接的な関与を最小限にし、アプリケーションの迅速なデプロイを可能にします。
全体的なアーキテクチャ
このプロジェクトでは、サーバーレスなアプローチが採用されており、Azure の PaaS/SaaS サービスを活用しています。これにより、インフラの構築や管理が簡素化され、スピーディな開発が可能です。
エンタープライズレベルのセキュリティや特定の要件を満たす場合には、さらに高度な設定や追加のリソースが必要となる場合もありますが、今回のデモレベルでは、シンプルな構成で十分対応可能です。
結論
クラウドサービスの進化により、インフラエンジニアの役割が少なくなっているように感じますが、その反面、クラウド技術の進化を楽しむこともできると考えています。
Discussion