我们希望听到您的意见!帮助我们深入了解 Ansible 生态系统现状。
参与 Ansible 项目 2024 年调查

欢迎使用 Ansible Lightspeed 与 IBM Watson Code Assistant 技术预览版

欢迎使用 Ansible Lightspeed 与 IBM Watson Code Assistant 技术预览版

在 2023 年的 Red Hat 峰会和 AnsibleFest 上,我们宣布了 Ansible Lightspeed 与 IBM Watson Code Assistant,这是一项用于 Ansible 自动化的全新生成式 AI 服务。今天,我们很高兴地宣布 Ansible Lightspeed 技术预览版的发布。

在本篇博文中,我们将逐步介绍如何访问 Ansible Lightspeed 与 IBM Watson Code Assistant 技术预览版服务,并在您的 Visual Studio Code 环境中启动并运行它。然后,我们将分享更多关于您对该体验的预期以及如何使用生成式 AI 生成您的第一个 Ansible 任务的信息。

这令人兴奋,所以让我们直接开始吧。

技术预览版:赋能 Ansible 用户使用 AI

Ansible Lightspeed 与 IBM Watson Code Assistant 是一款专门构建的生成式 AI 工具,旨在简化 Ansible 内容的创建。此功能通过Ansible VS Code 扩展 原生集成到您的 VS Code 编辑器中。AI 功能由 Watson Code Assistant 提供支持,Watson Code Assistant 是一个在 Ansible Galaxy、GitHub 和其他开源数据上训练的基础模型。

技术预览版面向所有 Ansible 用户开放并可用,免费提供。随着越来越多的用户参与 Ansible Lightspeed,模型建议将不断改进,这要归功于社区提供的宝贵意见和参与。

连接:安装和配置

您需要在您的工作站上安装Visual Studio Code 和 Ansible,并拥有一个 GitHub 帐户才能访问 Ansible Lightspeed 服务。让我们开始吧!

  • 从 Visual Studio Code 市场安装Ansible VS Code 扩展,方法是搜索“ansible”并选择由 Red Hat 发布的扩展。
  • 通过齿轮图标访问“扩展设置”来启用扩展中的 Ansible Lightspeed 服务。
  • 在设置中,启用“启用 Ansible Lightspeed”和“启用 Ansible Lightspeed 与 Watson Code Assistant 内联建议”复选框。

注意:您可以根据自己的喜好,在“[用户]”或“[工作区]”设置中启用 Ansible Lightspeed。有关 VS Code 用户和工作区设置的更多信息,请参阅其文档

安装 Ansible Visual Studio Code 扩展。 安装 Ansible Visual Studio Code 扩展

  • 单击编辑器左侧 VS Code 活动栏中的 Ansible“A”以打开扩展。
  • 单击“连接”并按照提示使用您的凭据登录 GitHub。

使用您的 GitHub 凭据登录。 使用您的 GitHub 凭据登录

  • 阅读 Ansible Lightspeed 技术预览版条款和条件,然后单击“同意”。
  • 接下来,通过单击“授权”为 VS Code 授权 Ansible Lightspeed。
  • 按照浏览器提示将您重定向回 VS Code,最后,在 VS Code 确认对话框中单击“打开”。

授权 Ansible Lightspeed。 授权 Ansible Lightspeed

恭喜!您已成功在 VS Code 中配置 Ansible Lightspeed。

您可以通过检查编辑器窗口底部的 VS Code 状态栏来确认 Ansible Lightspeed 是否已启用。

请确保已选择 Python 环境,并且您的 Ansible YAML 文件与 Ansible 语言相关联。有关 VS Code 语言的更多信息,请参阅其文档

Ansible Lightspeed 状态。 Ansible Lightspeed 状态

Ansible Lightspeed 快速浏览:生成您的第一个任务

现在您已连接到 Ansible Lightspeed,是时候体验其 AI 增强的内容创建体验了。

让我们使用一个示例 剧本 来逐步介绍如何请求 Ansible Lightspeed 提供 AI 生成的任务建议,并重点介绍您在技术预览版发布中可以期待的一些内容。此示例剧本在 Red Hat Enterprise Linux 系统上安装Cockpit

注意:随着越来越多的用户参与 Ansible Lightspeed,模型生成的建议的广度、深度和质量将得到提高。因此,以下示例中的 Ansible 任务建议可能与您的结果不同。

如何生成 Ansible Lightspeed 建议?

让我们使用deploy_monitoring.yml 示例剧本中的第一个剧本任务来演示如何请求 Ansible Lightspeed 提供 AI 建议。

  • 将光标移动到“- name: Include redhat.rhel_system_roles.cockpit”任务描述的末尾。
  • 按“ENTER”生成建议。
  • 按“TAB”接受建议。

生成 Ansible 任务。 生成 Ansible 任务

在此建议中,我们要求 Ansible Lightspeed 包含“cockpit”角色,该角色是Red Hat Enterprise Linux 系统角色 认证内容集合的一部分。该建议使用了完全限定的集合名称 (FQCN):ansible.builtin.include_role

使用 FQCN 是推荐的最佳实践,也是我们已嵌入 Ansible Lightspeed 服务中的众多独特后处理功能的一个示例。

让我们继续下一个任务。

Ansible 最佳实践。我们已为您准备就绪。

Ansible Lightspeed 最佳实践示例。 Ansible Lightspeed 最佳实践示例

此剧本任务将cockpit.conf 复制到目标主机。请注意,建议中包含了“mode:”模块参数,并将 Linux 文件权限设置为 0*644*

Ansible Lightspeed 提供了一个关于为ansible.builtin.copy 模块设置文件权限的强大示例,这是另一个推荐的最佳实践。

随着服务的成熟,我们将继续扩展这些原生集成的最佳实践。

完成剧本

让我们要求 Ansible Lightspeed 为剩余的两个剧本任务生成建议。第一个任务重新启动 Cockpit 服务以应用我们自定义的cockpit.conf 配置文件,第二个任务允许 Cockpit 服务流量通过防火墙。

生成其余 Ansible 任务。 生成其余 Ansible 任务

Ansible Lightspeed 与 Watson Code Assistant 和上下文

生成上下文感知、准确的 Ansible 内容建议可以节省您的时间,并帮助您高效地进行创建。Ansible Lightspeed 的一项强大功能是上下文。

Ansible Lightspeed 使用 Ansible 任务描述和 YAML 文件内容来生成适合您正在自动化的内容的建议。让我们用一个例子来说明这一点。

假设我们想要为最后一个 Ansible 任务中的ansible.posix.firewalld 模块设置模块默认值。具体来说,始终使防火墙规则更改永久生效。我们可以通过使用module_defaults 剧本关键字来实现这一点,如下所示。

module_defaults:
  ansible.posix.firewalld:
    permanent: true

Ansible 剧本 module_defaults 部分

模块默认值部分告诉 Ansible 始终将“permanent: true”添加到剧本中的每个“ansible.posix.firewall”任务中。让我们请求 Ansible Lightspeed 使用模块默认值提供更新的建议。

Ansible Lightspeed 上下文。 Ansible Lightspeed 上下文

请注意,它使用了完整的剧本上下文,并提供了一个修订后的建议,其中不包含“permanent: true”。您也可以将其应用于其他剧本关键字,例如“vars”。

透明度和开放性。Ansible Lightspeed 内容源匹配

最后,但同样重要的是,Ansible Lightspeed 内容源匹配。

Ansible Lightspeed 内容源匹配。 Ansible Lightspeed 内容源匹配

我们透明地共享用于建议的训练数据的潜在来源、作者和内容许可证。建立对社区的信任并支持作者和贡献者之间的关系是 Red Hat 的 DNA 之一。这些建议来自 Ansible 社区;我们不想隐藏这一点。

总结

恭喜!您已成功在 VS Code 中配置 Ansible Lightspeed,并通过几个简单的步骤体验了其生成式 AI 功能。

我们鼓励您分享您对技术预览版体验的反馈,并通过加入Ansible Lightspeed Matrix 聊天室 了解项目的最新动态,以提出问题并获取最新消息。还可以访问Ansible Lightspeed 着陆页。

我们将为您提供新的资源,以帮助您充分利用 Ansible Lightspeed 与 Watson Code Assistant 体验。

快乐地使用 AI 进行自动化!