ノート:

Oracle Cloud Native EnvironmentでのAIアシスタントの使用

イントロダクション

Oracle Cloud Native Environment (Oracle CNE) AI Assistantは、Oracle CNEユーザー・インタフェース(UI)に付属するプラグインです。AIアシスタントは、ユーザーが自然言語(現在は英語のみ)を使用してKubernetesクラスタのステータスを管理および把握するのに役立ちます。コンテキスト対応です。つまり、そのレスポンスは、AIアシスタントとの対話を開始するときのクラスタのステータスおよびOracle CNE UI内の場所に関連します。たとえば、ユーザーがクラスタ内のノード数を確認できない場合は、AIアシスタントに「クラスタ内のノード数はいくつですか。」と尋ねると、クラスタ内のノード数が確認されます。さらにプロンプトをポストできるため、ユーザーはAIアシスタントを使用して会話フローを開始できます。AIアシスタントが提供する主な機能は次のとおりです。

このチュートリアルでは、ローカルでホストされたAIインスタンス(Ollama)を使用して、Oracle CNE UIに含まれるAIアシスタント・プラグインを構成する方法を示します。

目的

このチュートリアルでは、次のことを学習します。

前提条件

Oracle Cloud Native Environmentのデプロイ

ノート:独自のテナンシで実行している場合は、演習環境をデプロイする前に、linux-virt-labs GitHubプロジェクトREADME.mdを読み、前提条件を満たしてください。

  1. Luna Desktopでターミナルを開きます。

  2. linux-virt-labs GitHubプロジェクトをクローニングします。

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
  3. 作業ディレクトリに変更します。

    cd linux-virt-labs/ocne2
  4. 必要なコレクションをインストールします。

    ansible-galaxy collection install -r requirements.yml
  5. 演習環境をデプロイします。

    ansible-playbook create_instance.yml -e localhost_python_interpreter="/usr/bin/python3.6" -e install_ocne_rpm=true -e create_ocne_cluster=true -e "ocne_cluster_node_options='-n 1 -w 1'"

    空き演習環境には、localhostで実行されている再生に対してansible_python_interpreterを設定する追加の変数local_python_interpreterが必要です。この変数は、python3.6モジュールの下にあるOracle Cloud Infrastructure SDK for PythonのRPMパッケージが環境によってインストールされるため必要です。

    デフォルトのデプロイメント・シェイプでは、AMD CPUおよびOracle Linux 8が使用されます。Intel CPUまたはOracle Linux 9を使用するには、デプロイメント・コマンドに-e instance_shape="VM.Standard3.Flex"または-e os_version="9"を追加します。

    重要:プレイブックが正常に実行され、一時停止タスクに到達するまで待ちます。プレイブックのこの段階で、Oracle Cloud Native Environmentのインストールが完了し、インスタンスの準備が整いました。前のプレイをメモしておきます。このプレイでは、デプロイするノードのパブリックIPアドレスとプライベートIPアドレス、およびラボの実行中に必要となるその他のデプロイメント情報が出力されます。

ノード数の確認

これは、Kubernetesクラスタ内のノードの数と名前を知るのに役立ちます。

  1. 端末を開き、SSHを介してocneインスタンスに接続します。

    ssh oracle@<ip_address_of_node>
  2. クラスタ内のノードを一覧表示します。

    kubectl get nodes

    出力には、コントロール・プレーンおよびワーカー・ノードがReady状態で、現在のKubernetesバージョンとともに表示されます。

アクセス・トークンの作成

Oracle Cloud Native Environmentでは、UIという名前のDeployment and Serviceを使用してUIをKubernetesクラスタにデプロイします。このクラスタへのアクセスに使用します。デプロイメントとサービスの両方がocne-systemネームスペースにデプロイされます。サービスに接続するには、アクセス・トークンを生成する必要があります。

  1. アクセス・トークンを生成します。

    kubectl --namespace ocne-system create token ui

    出力例:

    > [oracle@ocne ~]$ kubectl --namespace ocne-system create token ui
    > eyJhbGciOiJSUzI1NiIsImtpZCI6IjhfRWczUG13VWRfWjFkWDIxdkp6UUZlRzEwU2QxaExkbm9TME1CcS1rVFEifQ.eyJhdWQiOlsiaHR0cHM6Ly9rdWJlcm5ldGVzLmRlZmF1bHQuc3ZjLmNsdXN0ZXIubG9jYWwiXSwiZXhwIjoxNzI4Mzg3MTgwLCJpYXQiOjE3MjgzODM1ODAsImlzcyI6Imh0dHBzOi8va3ViZXJuZXRlcy5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsIiwianRpIjoiYzlmMWViZTctYzA1ZC00MTYxLTg2MzctOWNiZGFlNTI5MzFiIiwia3ViZXJuZXRlcy5pbyI6eyJuYW1lc3BhY2UiOiJvY25lLXN5c3RlbSIsInNlcnZpY2VhY2NvdW50Ijp7Im5hbWUiOiJ1aSIsInVpZCI6IjdjY2RjZGZlLTAzNzMtNGUwZS1hMzViLTc5MzdhM2NiZmYzMyJ9fSwibmJmIjoxNzI4MzgzNTgwLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6b2NuZS1zeXN0ZW06dWkifQ.WSLZFste1ggkE2GtjJ2cBrORNFgCzHOlALNXD_-6vLA9kIiDJHp44HshUcXvUFH1XdFM1SGbiCvITOwT8Y5_93IKVZLu1NRyGPZlo5l4JqwnJtqLn7J6e39OlC2SXqex6vLBCU-sBqiw_P9xksNa7fO_MzsryEo-5oMgsVVo9oJr9wv4LYLv2Obd8U5ukKjBeiRiwTu9MTK0r_GlhmZ9d7GHrYrgF1MJGMgzvqyTyviyIynD2F0OkKARIThghpEL6aou4F_DFFMy8t0qjiJG3rBTXL6fXxZ-3WxZUGdx920ZSHcqG2XOaLY7txRkKYbudIjyt-gODeR-FZCIthw5kw
    >

    UIに接続するときに、表示されたトークンを使用して認証します。

UIを公開するためのポート転送の作成

ポート転送では、UIサービスをローカル・システムにすばやく簡単に公開できるため、これを使用して、開発環境の監視、トラブルシューティングおよび必要に応じてデバッグを行うことができます。

重要: Oracleでは、本番環境のUIを公開するためにポート転送を使用することはお薦めしません。

  1. ポート転送を設定します。

    kubectl port-forward --namespace ocne-system service/ui 8443:443

    出力例:

    > [oracle@ocne ~]$ kubectl port-forward --namespace ocne-system service/ui 8443:443
    > Forwarding from 127.0.0.1:8443 -> 4466
    > Forwarding from [::1]:8443 -> 4466
    >

    ノート: kubectl port-forwardコマンドは引き続きフォアグラウンドで実行されます。UIにアクセスしている間も続行します。

Ollamaのインストール

  1. 新しいターミナルを開き、SSHを介してocneインスタンスに接続します。

    ssh oracle@<ip_address_of_node>
  2. 必要な依存関係をインストールします。

    sudo dnf install -y zstd
  3. Ollamaをインストールします。

    curl -fsSL https://ollama.com/install.sh | sh
  4. モデルを実行します。

    ollama run llama3.2
  5. 新しいターミナルを開き、SSHトンネルを作成します。

    ssh -L 11434:127.0.0.1:11434 -L 9898:127.0.0.1:8443 oracle@<ip_address_of_node>

    トンネルでは、ローカル・システム上のブラウザから、Kubernetesクラスタを実行しているリモート・システムへの特定のポートへのアクセスが許可されます。両方が同じシステム上にある場合は、トンネルを生成する必要はありません。同じシステムで実行している場合、https://127.0.0.1:8443を使用してUIにアクセスし、http://127.0.0.1:11434を使用してOllamaにアクセスできます。

  6. Lunaデスクトップでブラウザを開き、Ollamaが実行されていることを確認するためのURLを入力します。

    http://127.0.0.1:11434

    ブラウザに次のようなテキスト・メッセージが表示されます: Ollama is running.

UIへのログイン

  1. Lunaデスクトップでブラウザを開き、URLを入力します。

    https://127.0.0.1:9898

    使用しているブラウザに基づいてセキュリティ警告を承認します。Chromeの場合は、Advancedボタンをクリックし、Accept the Risk and Continueリンクをクリックします。

  2. アクセス・トークンを入力してください。

    前に作成したアクセス・トークンを入力し、Authenticateリンクをクリックします。

    ocne-ui-login

  3. 「UIの概要」ページが表示されます。

    オクネ・ウイ・ウェブイ

    ポップアップウィンドウの「Open Settings」ボタンをクリックします(Configure AI Assistant)。

    注意:ランディング・ページの「イベント」セクションに、いくつかの「警告」が表示される場合があります。この動作は正常であり、数分後にクリアされます。

  4. これにより、「設定」セクションの「ai-assistant」構成ページが開きます。

オクネ・ウイ・ウェブイ

ノート: 「AIツール」セクションの「Kubernetes APIリクエスト」ボタンの選択を解除します。

ローカル・プロバイダを構成します。

  1. Add Providerボタンをクリックします。

    オクネ・ウイ・ウェブイ

  2. 「条件と重要情報」ダイアログ・ボックスを確認します。

    ocne-ui-login

  3. Clusterメニュー・オプションをクリックし、Local Modelsリンクをクリックします。

    ocne-ui-login

    ノート:使用しているローカルOllamaモデルの正しい詳細を入力してください。この例は、前に設定したllama3.2モデルを示しています。

  4. Saveボタンをクリックしてプロバイダ設定を保存します。

    これで、AIアシスタントが構成され、使用する準備ができました。

AIアシスタントが機能することを確認します。

  1. 「クラスタ」というメニュー項目をクリックし、「ノード」をクリックして「ノード」ページに移動します。

    ocne-ui-login

  2. メイン画面の右上にある「AIアシスタント」ボタンをクリックします。

    ocne-ui-login

  3. 「AI Assistant」ウィンドウが表示されます。

    ocne-ui-login

  4. ドロップダウンリストボックスをクリックして、モデルをデフォルトオプション(llama2)から新しく構成されたローカルモデル(llama3.2)に変更します。

    ocne-ui-login

  5. AIアシスタントに、「AIに質問」というテキスト・ボックスに質問してください。

    この例をAsk AIというテキスト・ボックスに貼り付けます。

    How many nodes are present?
  6. 「送信」ボタンをクリックして、質問を送信します。

    ocne-ui-login

    ノート: AIアシスタントが応答するのにかかる時間は、構成されたLLMモデルで使用可能なリソースや尋ねられる質問の複雑さなど、いくつかの要因に依存します。

  7. AIアシスタントが回答を返します。

    ocne-ui-login

    ノート:返信で使用される正確な表現は、リクエストによって多少異なる場合があります。

  8. これにより、AIアシスタントが機能していることが確認されます。

次のステップ

これらのステップにより、Oracle Cloud Native Environmentユーザー・インタフェース(UI)へのアクセスを有効にし、LLMを使用するように構成する方法がわかりました。今後のチュートリアルで取り上げる多くの機能をご紹介します。

その他の学習リソース

docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、Oracle Learning Explorerになるには、education.oracle.com/learning-explorerにアクセスしてください。

製品ドキュメントについては、Oracle Help Centerを参照してください。