2 プライベートAIサービス・コンテナのインストール

記載されているステップに従って、bashスクリプトを使用し、ベスト・プラクティスでコンテナを構成およびインストールします。

Oracle Private AI Services Containerは、オンプレミス環境と、オプションでエアギャップ環境で稼働するように設計されたAIインフラストラクチャです。コンテナにより、独自のレルムのプライバシ内で、低レイテンシかつ無料のベクトル埋込みを安全な方法で作成できます。

コンテナでは、セキュリティのためにTLS 1.3およびAPIキーを使用します。PKCS12キーストアがデフォルトで使用されますが、JKSもサポートされています。また、コンテナは、強制モードでSecurity Enhanced Linux (SELinux)と連携して動作することもできます。

付属のスクリプトは、HTTPおよびHTTP/SSL用に提供されており、curlを使用したベクトル埋込みの作成方法、ロードされた埋込みモデルのリスト方法、コンテナのヘルスの確認方法およびランタイム・メトリックの生成方法の例を示しています。

前提条件

Oracle Private AI Services Containerでは、コンテナ内でOracle Linux 8を使用し、次のホストLinux x86_64ディストリビューションと連携して動作します:

  • Oracle Linux 8.6以降
  • Oracle Linux 9
  • Oracle Linux 10

AIサービス・コンテナでは、TLS 1.3を使用します。つまり、証明書を作成するには、次のようなTLS 1.3をサポートするバージョンのOpenSSLが必要です:

  • OpenSSL 1.1.1k以降
  • OpenSSL 3.0以降

AIサービス・コンテナは、次のソフトウェアで使用できます:

  • Podman

選択したソフトウェアは、次のバージョンのいずれかである必要があります:

  • Podman 3.4.4以降、4.4以降、5以降
  • Kubernetes 1.31.1以降
  • Red Hat OpenShift 4.19以降

記載されている例では、OCI上のホスト・オペレーティング・システムであるOracle Linux 8でPodmanを使用しています。例の中でコンテナのインストール先となるOCI VMは、privateaivmという名前です。

また、プライベートAIサービス・コンテナを使用する際には、注意する必要があるシステム要件がいくつかあります:
  • メモリー:コンテナを効果的に使用してベクトル埋込みを作成するには、少なくとも16 GBの空きメモリーが必要です。大規模な埋込みモデルを使用したり、複数の異なるタイプのベクトルを同時に作成する場合は、さらに多くのメモリーが必要になります。メモリーが不足すると、パフォーマンスが低下する可能性があります。

  • CPUコア: 単一のCPUコアをONNX Runtimeで使用してベクトル埋込みを作成できますが、CPUコアを増やすとパフォーマンスが向上します。複数のCPUコアにより、単一のベクトルを作成するか、マルチスレッドを使用して同時に多数の様々なベクトルを作成することが可能になります。

  • ディスク領域: コンテナを効果的に使用するには、少なくとも22 GBのディスク領域が必要です。使用する追加の埋込みモデルごとに、追加のディスク領域が必要になります。また、長時間実行コンテナのログ・レベルに応じて、追加のディスク領域が必要になります。

コンテナは、Oracle AI Database Serverと同じマシン上ではなく、データベース・サーバーに近接するLinuxマシン上で実行する必要があります。コンテナは、Oracle AI Database以外のマシンのベクトルの作成やベクトル索引のオフロードなどのリソース消費型タスクを高速化するように設計されています。これにより、Oracle AI Databaseは、これらのリソース消費型のAIインフラストラクチャ・タスクに負荷をかけることなく、低レイテンシと高スループットを実現できます。

  1. コンテナをインストールします。
    sudo dnf module install -y container-tools:ol8
  2. Podmanが正しくインストールされていることを確認します。
    podman version
    podman images
  3. Oracle Container Registry (OCR)にサインインします。

    Oracle Container Registryにアクセスし、「サインイン」をクリックします。

    SSOユーザー名およびパスワードの入力を求められます。container-registry.oracle.comにまだ登録していない場合は、登録を求められます。登録すると、SSOユーザー名がcontainer-registry.oracle.comにSSO許可ユーザーとして保存されます。

    1回かぎりの登録が完了すると、次回以降のアクセス時に「サインイン」をクリックすると、SSOユーザー名およびパスワードの入力のみが求められます。

  4. ライセンス契約に同意します。

    「続行」をクリックし、ライセンス契約を読んで同意する必要があります。このアクションを実行する必要があるのは1回のみです。

  5. コンテナ・イメージをプルするための認証トークンを生成します。

    Podmanを使用してプライベートAIサービス・コンテナ・イメージをダウンロードするには、SSOユーザー名および生成された認証トークンを指定してPodmanログインを使用する必要があります。認証トークンを生成するには、『Podmanユーザー・ガイド』「Oracle Container Registry認証トークンの生成」のステップに従います。

    ノート:

    生成ページからナビゲートする前に、必ず生成された認証トークンをセキュアな場所にコピーしてください。トークンは再度表示されることはなく、別のトークンを作成する前に既存のトークンを削除する必要があります。
  6. コンテナ・イメージをプルします。

    プライベートAIサービス・コンテナ・イメージを実行する予定のホストにダウンロード(プル)します。

    1. 次のコマンドを実行して、OCRにログインします。
      podman login container-registry.oracle.com

      ユーザー名の入力を求められたら、SSOユーザー名を入力します。パスワードの入力を求められたら、前のステップで生成された認証トークンを入力します。

    2. ログインに成功したら、イメージをプルします。
      podman pull container-registry.oracle.com/database/private-ai:25.1.2.0.0
  7. イメージがプルされたことを確認します。

    次のコマンドを実行して、システム上のすべてのイメージ(container-registry.oracle.com/database/private-ai:25.1.2.0.0を含む)を表示します。

    podman images
  8. (オプション)エアギャップ環境を使用する場合は、次のステップに進んで、プライベートAIコンテナ・イメージにオフラインでアクセスできるようにします。
    1. プライベートAIコンテナ・イメージをtarファイルに保存します。

      次のコマンドは、コンテナ・イメージを現行ディレクトリ内のprivate-ai-25.1.2.0.0.tarという名前のファイルに保存します。

      podman save -o private-ai-25.1.2.0.0.tar  container-registry.oracle.com/database/private-ai:25.1.2.0.0
    2. tarファイルをエアギャップ・マシンにロードします。

      tarファイルをエアギャップ・ホストにコピーした後に、次のコマンドを使用してローカルpodmanイメージ・リポジトリにロードできます:

      podman load -i private-ai-25.1.2.0.0.tar

      このロード操作が成功したら、podman imagesを使用して、エアギャップ・ホストでプライベートAIコンテナ・イメージにアクセスできることを確認します。これにより、ホスト上のすべてのpodmanイメージ(container-registry.oracle.com/database/private-ai:25.1.2.0.0を含む)が示されます。