注意:

将 AI Assistant 与 Oracle Cloud Native Environment 结合使用

简介

Oracle Cloud Native Environment (Oracle CNE) AI Assistant 是 Oracle CNE 用户界面 (UI) 随附的插件。AI Assistant 可帮助用户使用自然语言(当前只有英语)管理和深入了解其 Kubernetes 集群的状态。它具有上下文感知功能,这意味着在开始与 AI Assistant 交互时,其响应与集群的状态以及 Oracle CNE UI 中的位置相关。例如,如果用户不确定集群中的节点数,则询问 AI Assistant “我的集群中有多少节点?”,它将确认集群中的节点数。可以发布更多提示,允许用户使用 AI Assistant 启动对话流。AI Assistant 提供的主要功能包括:

本教程演示了如何使用本地托管的 AI 实例 (Ollama) 配置 Oracle CNE UI 中包含的 AI Assistant 插件。

目标

在本教程中,您将学习以下知识:

先决条件

部署 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'"

    免费的实验环境需要额外的变量 local_python_interpreter,该变量为在 localhost 上运行的播放设置 ansible_python_interpreter。此变量是必需的,因为环境安装了适用于 Python 的 Oracle Cloud Infrastructure SDK 的 RPM 程序包,该程序包位于 python3.6 模块下。

    默认部署配置使用 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 地址,以及运行实验时所需的任何其他部署信息。

确认节点数

它有助于了解 Kubernetes 集群中节点的数量和名称。

  1. 打开终端并通过 SSH 连接到 ocne 实例。

    ssh oracle@<ip_address_of_node>
  2. 列出集群中的节点。

    kubectl get nodes

    输出显示控制层和 Worker 节点处于 Ready 状态,以及其当前 Kubernetes 版本。

创建访问令牌

Oracle Cloud Native Environment 使用名为 UI 的部署和服务将 UI 部署到 Kubernetes 集群中,您将使用该部署和服务来访问 UI。部署和服务都部署到 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 Desktop 上打开浏览器并输入 URL 以确认 Ollama 正在运行。

    http://127.0.0.1:11434

    浏览器应显示类似于以下内容的文本消息:Ollama is running.

登录到 UI

  1. 在 Luna Desktop 上打开浏览器并输入 URL。

    https://127.0.0.1:9898

    根据使用的浏览器批准安全警告。对于 Chrome,单击 Advanced 按钮,然后单击 Accept the Risk and Continue 链接。

  2. 输入访问标记。

    输入以前创建的访问令牌,然后单击 Authenticate 链接。

    ocne-ui-login

  3. 此时将显示 "UI Overview" 页面。

    奥克涅 - 韦布

    单击名为 Configure AI Assistant 的弹出窗口中的 Open Settings 按钮。

    注:您可能会在登录页的事件部分中看到一些警告。这种行为是正常的,几分钟后就会清除。

  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 Assistant 现已配置,可供使用。

确认 AI 助手工作。

  1. 单击名为集群的菜单项,然后单击“节点”以转至节点页。

    ocne-ui-login

  2. 单击位于主屏幕右上侧的 AI Assistant 按钮。

    ocne-ui-login

  3. 此时将显示 AI Assistant 窗口。

    ocne-ui-login

  4. 单击下拉列表框可将模型从缺省选项 (llama2 ) 更改为新配置的本地模型 ( llama3.2 )。

    ocne-ui-login

  5. 在文本框中向 AI 助手询问一个名为 Ask AI 的问题。

    将此示例粘贴到名为 Ask AI 的文本框中。

    How many nodes are present?
  6. 单击发送按钮以提交问题。

    ocne-ui-login

    注: AI Assistant 响应所用的时间取决于几个因素,例如配置的 LLM 模型可用的资源以及所询问问题的复杂性。

  7. AI 助手将返回一个答案。

    ocne-ui-login

    注:回复中使用的确切措辞在请求之间可能略有不同。

  8. 这证实了 AI 助手正在工作。

后续步骤

通过这些步骤,您现在可以了解如何启用对 Oracle Cloud Native Environment 用户界面 (UI) 的访问并将其配置为使用 LLM。您可以探索它的许多特性和功能,我们将在未来的教程中介绍。

更多学习资源

通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心