ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で入手できます。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。ラボを完了する際は、これらの値をクラウド環境に固有の値に置き換えてください。
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アシスタントが提供する主な機能は次のとおりです。
-
会話型Kubernetesエクスペリエンス:熟練ユーザーと初心者の両方が、自然言語を使用して会話的にクラスタと対話し、Kubernetesに関する豊富な知識を必要とせずにクラスタに関する質問を投稿できます。
-
コンテキスト対応のサポート: AIアシスタントは、リクエストが投稿されたときにユーザーが表示している内容を認識し、この開始コンテキストに適したレスポンスを提供します。
- マルチプロバイダのサポート: AIアシスタントは、複数のAIプロバイダをサポートします(詳細はアップストリームを参照)。
ノート:選択したプロバイダにアクセスするには、独自のAPIキーを指定する必要があります。
-
構成可能なツール: Kubernetes APIを使用してクラスタ情報を問い合せるように構成できます。
-
リソース生成:ユーザーはAIアシスタントにKubernetes YAMLを生成するようにリクエストできます。
- 詳細な分析:ユーザーによるクラスタの管理を支援します。たとえば、問題の診断、ログの収集と解釈などを行います。
このチュートリアルでは、ローカルでホストされたAIインスタンス(Ollama)を使用して、Oracle CNE UIに含まれるAIアシスタント・プラグインを構成する方法を示します。
目的
このチュートリアルでは、次のことを学習します。
- Oracle CNE UIに付属のAIアシスタントを構成および使用する方法。
前提条件
- Oracle Cloud Native Environmentのインストール
Oracle Cloud Native Environmentのデプロイ
ノート:独自のテナンシで実行している場合は、演習環境をデプロイする前に、linux-virt-labs GitHubプロジェクトREADME.mdを読み、前提条件を満たしてください。
-
Luna Desktopでターミナルを開きます。
-
linux-virt-labsGitHubプロジェクトをクローニングします。git clone https://github.com/oracle-devrel/linux-virt-labs.git -
作業ディレクトリに変更します。
cd linux-virt-labs/ocne2 -
必要なコレクションをインストールします。
ansible-galaxy collection install -r requirements.yml -
演習環境をデプロイします。
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クラスタ内のノードの数と名前を知るのに役立ちます。
-
端末を開き、SSHを介してocneインスタンスに接続します。
ssh oracle@<ip_address_of_node> -
クラスタ内のノードを一覧表示します。
kubectl get nodes出力には、コントロール・プレーンおよびワーカー・ノードが
Ready状態で、現在のKubernetesバージョンとともに表示されます。
アクセス・トークンの作成
Oracle Cloud Native Environmentでは、UIという名前のDeployment and Serviceを使用してUIをKubernetesクラスタにデプロイします。このクラスタへのアクセスに使用します。デプロイメントとサービスの両方がocne-systemネームスペースにデプロイされます。サービスに接続するには、アクセス・トークンを生成する必要があります。
-
アクセス・トークンを生成します。
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を公開するためにポート転送を使用することはお薦めしません。
-
ポート転送を設定します。
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のインストール
-
新しいターミナルを開き、SSHを介してocneインスタンスに接続します。
ssh oracle@<ip_address_of_node> -
必要な依存関係をインストールします。
sudo dnf install -y zstd -
Ollamaをインストールします。
curl -fsSL https://ollama.com/install.sh | sh -
モデルを実行します。
ollama run llama3.2 -
新しいターミナルを開き、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にアクセスできます。 -
Lunaデスクトップでブラウザを開き、Ollamaが実行されていることを確認するためのURLを入力します。
http://127.0.0.1:11434ブラウザに次のようなテキスト・メッセージが表示されます:
Ollama is running.
UIへのログイン
-
Lunaデスクトップでブラウザを開き、URLを入力します。
https://127.0.0.1:9898使用しているブラウザに基づいてセキュリティ警告を承認します。Chromeの場合は、
Advancedボタンをクリックし、Accept the Risk and Continueリンクをクリックします。 -
アクセス・トークンを入力してください。
前に作成したアクセス・トークンを入力し、
Authenticateリンクをクリックします。
-
「UIの概要」ページが表示されます。

ポップアップウィンドウの「Open Settings」ボタンをクリックします(Configure AI Assistant)。
注意:ランディング・ページの「イベント」セクションに、いくつかの「警告」が表示される場合があります。この動作は正常であり、数分後にクリアされます。
-
これにより、「設定」セクションの「ai-assistant」構成ページが開きます。

ノート: 「AIツール」セクションの「Kubernetes APIリクエスト」ボタンの選択を解除します。
ローカル・プロバイダを構成します。
-
Add Providerボタンをクリックします。
-
「条件と重要情報」ダイアログ・ボックスを確認します。

-
Clusterメニュー・オプションをクリックし、Local Modelsリンクをクリックします。
ノート:使用しているローカルOllamaモデルの正しい詳細を入力してください。この例は、前に設定した
llama3.2モデルを示しています。 -
Saveボタンをクリックしてプロバイダ設定を保存します。これで、AIアシスタントが構成され、使用する準備ができました。
AIアシスタントが機能することを確認します。
-
「クラスタ」というメニュー項目をクリックし、「ノード」をクリックして「ノード」ページに移動します。

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

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

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

-
AIアシスタントに、「AIに質問」というテキスト・ボックスに質問してください。
この例をAsk AIというテキスト・ボックスに貼り付けます。
How many nodes are present? -
「送信」ボタンをクリックして、質問を送信します。

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

ノート:返信で使用される正確な表現は、リクエストによって多少異なる場合があります。
-
これにより、AIアシスタントが機能していることが確認されます。
次のステップ
これらのステップにより、Oracle Cloud Native Environmentユーザー・インタフェース(UI)へのアクセスを有効にし、LLMを使用するように構成する方法がわかりました。今後のチュートリアルで取り上げる多くの機能をご紹介します。
関連リンク
- Oracle Cloud Native Environmentのドキュメント
- Oracle Cloud Native Environmentトラック
- Oracle Linuxトレーニング・ステーション
その他の学習リソース
docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、Oracle Learning Explorerになるには、education.oracle.com/learning-explorerにアクセスしてください。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Use AI Assistant with Oracle Cloud Native Environment
G50311-01