注意:
- Oracle 提供的免费实验室环境中提供了此教程。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间的示例值。完成实验室时,请将这些值替换为特定于云环境的值。
将 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 提供的主要功能包括:
-
会话式 Kubernetes 体验:允许熟练和新手用户使用自然语言以对话方式与集群交互,以发布有关集群的问题,而无需深入了解 Kubernetes。
-
上下文感知支持: AI Assistant 知道用户在发布请求时正在查看的内容,并提供适合此起始上下文的响应。
- 多提供商支持: AI Assistant 支持多个 AI 提供者(有关详细信息,请参见上游)。
注:您需要提供自己的 API 密钥来访问所选提供程序。
-
可配置工具:可以配置为使用 Kubernetes API 查询集群信息。
-
资源生成:用户可以请求 AI Assistant 生成 Kubernetes YAML。
- 深入分析:帮助用户管理群集。例如,通过诊断问题、收集和解释日志等。
本教程演示了如何使用本地托管的 AI 实例 (Ollama) 配置 Oracle CNE UI 中包含的 AI Assistant 插件。
目标
在本教程中,您将学习以下知识:
- 如何配置和使用 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'"免费的实验环境需要额外的变量
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 集群中节点的数量和名称。
-
打开终端并通过 SSH 连接到 ocne 实例。
ssh oracle@<ip_address_of_node> -
列出集群中的节点。
kubectl get nodes输出显示控制层和 Worker 节点处于
Ready状态,以及其当前 Kubernetes 版本。
创建访问令牌
Oracle Cloud Native Environment 使用名为 UI 的部署和服务将 UI 部署到 Kubernetes 集群中,您将使用该部署和服务来访问 UI。部署和服务都部署到 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 Desktop 上打开浏览器并输入 URL 以确认 Ollama 正在运行。
http://127.0.0.1:11434浏览器应显示类似于以下内容的文本消息:
Ollama is running.
登录到 UI
-
在 Luna Desktop 上打开浏览器并输入 URL。
https://127.0.0.1:9898根据使用的浏览器批准安全警告。对于 Chrome,单击
Advanced按钮,然后单击Accept the Risk and Continue链接。 -
输入访问标记。
输入以前创建的访问令牌,然后单击
Authenticate链接。
-
此时将显示 "UI Overview" 页面。

单击名为 Configure AI Assistant 的弹出窗口中的 Open Settings 按钮。
注:您可能会在登录页的事件部分中看到一些警告。这种行为是正常的,几分钟后就会清除。
-
这将打开设置部分中的 ai-assistant 配置页。

注:取消选中 AI 工具部分中的 Kubernetes API 请求按钮。
配置本地提供程序。
-
单击
Add Provider按钮。
-
确认“条款和重要信息”对话框。

-
单击
Cluster菜单选项,然后单击Local Models链接。
注:输入您使用的本地 Ollama 模型的正确详细信息。此示例显示了之前设置的
llama3.2模型。 -
单击
Save按钮以保存提供程序设置。AI Assistant 现已配置,可供使用。
确认 AI 助手工作。
-
单击名为集群的菜单项,然后单击“节点”以转至节点页。

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

-
此时将显示 AI Assistant 窗口。

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

-
在文本框中向 AI 助手询问一个名为 Ask AI 的问题。
将此示例粘贴到名为 Ask AI 的文本框中。
How many nodes are present? -
单击发送按钮以提交问题。

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

注:回复中使用的确切措辞在请求之间可能略有不同。
-
这证实了 AI 助手正在工作。
后续步骤
通过这些步骤,您现在可以了解如何启用对 Oracle Cloud Native Environment 用户界面 (UI) 的访问并将其配置为使用 LLM。您可以探索它的许多特性和功能,我们将在未来的教程中介绍。
相关链接
更多学习资源
通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。