🍣

OpenAI プロジェクトにおけるインフラエンジニアの役割

2024/08/20に公開

最近、Azure OpenAI に関連するプロジェクトが増えてきました。ここでは、インフラエンジニアの視点から使用された Azure サービスとその関連アーキテクチャを整理します。

使用された Azure サービスとアーキテクチャ

  1. Azure OpenAI:

    • 役割: 指定された資料(例: 会社の製品マニュアルや規定)を基に、生成 AI を用いて回答を作成するシステムを構築します。
    • 特徴: 使用するためには、事前に Microsoft へ利用申請を行い、認可を受ける必要があります。プロセスは通常 1~2 週間かかります。
  2. App Service:

    • 役割: アプリケーションをホスティングし、チャットアプリケーションを起動してユーザーとやり取りします。
    • 特徴: サーバーを立てる必要がなく、アプリケーションをデプロイするだけで即利用可能です。スケーリングやバックアップもサポートされています。
  3. Blob Storage:

    • 役割: PDF や HTML などのドキュメント(例: マニュアル)を保管します。
    • 特徴: 生成 AI が回答を生成する際に、これらの資料を参照します。
  4. Email Communication Service:

    • 役割: 認証プロセスに使用され、ユーザーにメールを送信し、ログイン画面で認証を行います。
    • 特徴: セキュリティを強化するための手段として利用されます。
  5. Langfuse:

    • 役割: 生成 AI の RAG(Retrieval-Augmented Generation)を構築する際に、AI がどのように回答に到達したかを可視化するツールです。
    • 特徴: 生成 AI の回答プロセスをログとして記録し、ベクトル化されたデータを確認することができます。
  6. GitHub:

    • 役割: コードのバージョン管理およびデプロイのためのリポジトリとして使用します。
    • 特徴: Azure DevOps も使用可能ですが、GitHub の方が親和性が高いと感じられます。
  7. PaaS/SaaS:

    • 役割: クラウドサービスとして提供されるプラットフォームおよびソフトウェアを活用します。
    • 特徴: インフラエンジニアの直接的な関与を最小限にし、アプリケーションの迅速なデプロイを可能にします。

全体的なアーキテクチャ

このプロジェクトでは、サーバーレスなアプローチが採用されており、Azure の PaaS/SaaS サービスを活用しています。これにより、インフラの構築や管理が簡素化され、スピーディな開発が可能です。

エンタープライズレベルのセキュリティや特定の要件を満たす場合には、さらに高度な設定や追加のリソースが必要となる場合もありますが、今回のデモレベルでは、シンプルな構成で十分対応可能です。

結論

クラウドサービスの進化により、インフラエンジニアの役割が少なくなっているように感じますが、その反面、クラウド技術の進化を楽しむこともできると考えています。

Discussion