4.3. 创建任务建议


Red Hat Ansible Lightspeed 通过 Ansible VS Code 扩展集成到 Visual Studio (VS) Code 中。您可以使用 Ansible VS Code 扩展为任务意图请求代码建议。

您可以从 Ansible VS Code 扩展执行以下任务:

  • 使用自然语言提示创建单任务或多任务请求

    • 创建单个任务提示

      在 Ansible 文件中新任务行的 - name: key 中编写您的任务描述。例如,若要自动执行安装 PostgreSQL 服务器的任务,您可以输入 prompt - name: Install postgresql-server

    • 创建多任务提示

      将光标放在 Ansible YAML 文件中的新行中,并使用 Pound 键启动您的提示(#)。

      编写任务的描述,使用 Ampersand 符号(&)分隔每个提示。例如,要自动执行安装 PostgreSQL 服务器的多任务并运行初始 PostgreSQL setup 命令,您可以输入提示 # Install postgresql-server 并运行 postgresql-setup 命令

      Ansible Lightspeed 服务读取文本,与 IBM watsonx Code Assistant 模型交互,并根据您的自然语言提示生成 Ansible 任务建议。

      注意

      目前,Red Hat Ansible Lightspeed 仅支持英语语言的用户提示。但是,有些情况下,用于培训 IBM watsonx Code Assistant 模型的培训数据包括非英语语言。在这种情况下,模型可以为同一非英语语言的提示生成代码建议,但生成的代码建议可能并不准确。

  • 查看内容源匹配结果

    对于每个生成的代码建议,Red Hat Ansible Lightspeed 会列出内容源匹配,包括潜在源、内容作者和相关许可证等详情。您可以使用这些数据深入了解用于生成代码建议的潜在培训数据源。

  • 对 Ansible Lightspeed 服务提供反馈

    Ansible Lightspeed 服务了解您的机构模式,并改进代码建议体验。您可以提供反馈,了解生成的代码建议是否适合您的任务意图。这个反馈可让带有 IBM watsonx Code Assistant 的 Red Hat Ansible Lightspeed 改进其建议质量。

4.3.2. 创建单任务建议

您可以通过在 Ansible VS Code 扩展中输入自然语言提示来请求单个任务的代码建议。例如,若要自动执行安装 PostgreSQL 服务器的任务,您可以输入 prompt - name: Install postgresql-server。Ansible Lightspeed 服务读取文本,与 IBM watsonx Code Assistant 模型交互,并生成代码建议。

先决条件

  • 您满足以下 一项 要求:

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。
  • 已安装并配置了 Ansible VS Code 扩展

流程

  1. 使用您的红帽帐户登录 VS Code。
  2. 创建新的 YAML 文件或使用现有的 YAML 文件:

    • 创建 YAML 文件:

      1. 选择 File New Text File
      2. 从屏幕右下角,单击 Plain Text,然后在语言模式中选择 Ansible
      3. 将文件保存为 YAML 文件格式扩展名(.yml.yaml)。
    • 使用现有的 YAML 文件:

      1. 在屏幕右下角,单击现有语言模式,然后在语言模式设置中选择 Ansible

        注意

        如果您没有在 VS Code 编辑器中看到语言模式 部分,请从 Command swig 中选择 Configure Language Mode Ansible

  3. 验证您在 VS Code 右下角的状态栏上看到 Lightspeed 的条目。

    如果 Ansible 已选为所需的语言,但没有显示 Lightspeed 条目,请重新选择 Ansible 作为语言模式。下图显示了 VS Code 状态栏上的 LightspeedAnsible 条目。

    图 4.2. Ansible 和 Lightspeed 设置为所选语言模式

  4. 可选:如果看到有关缺少 Ansible lint 的错误消息,您可以安装缺少的模块或禁用它。执行以下任务之一:

    • 安装 Ansible lint:有关安装信息,请参阅 Ansible Lint 文档中的安装部分。https://ansible.readthedocs.io/projects/lint/installing/
    • 禁用 Ansible lint:

      1. 在 Activity 栏中,点 Extensions 图标 Extensions
      2. Installed extensions 列表中,选择 Ansible
      3. Ansible 扩展页面中,单击 Settings 图标并选择 Extension Settings
      4. 清除 Ansible criu Validation criu Lint: Enabled 复选框。
  5. 创建 playbook 或使用现有的 playbook。

    如需更多信息,请参阅开始使用 playbook 指南。

  6. 在 playbook 中,提供以下信息来请求单个任务的代码建议:

    1. 通过在正确的缩进上启动带有 - name: 的新行来添加新的 Ansible 任务。
    2. 在任务描述 after - name: 在同一行中添加详细的自然语言提示。例如,您可以指定以下单任务提示: - name: Install postgresql-server
    3. 在任务描述后直接按 Enter 键。将光标保留在文件中的同一位置,并等待代码建议结果填充。

      Ansible Lightspeed 服务参与,它开始为单个任务生成代码建议。

      重要

      Ansible Lightspeed 服务每个任务需要 5 秒时间来填充代码建议。如果您使用多任务提示,Ansible Lightspeed 服务需要更长的时间(任务次数 5 秒)来填充结果。不要在生成代码建议时移动光标或按任意键。如果您更改了光标位置或按任意键,Ansible VS Code 扩展会取消请求,Ansible Lightspeed 服务不会处理您的请求。

      当 Ansible Lightspeed 服务参与时,会在屏幕右下角显示 Lightspeed 处理状态指示正在生成您的代码建议。

      Lightspeed icon

  7. 查看您的代码建议,并确保建议与您的任务意图匹配。

    下图显示了 Ansible Lightspeed 服务为单一任务生成的代码建议,即 Install postgresql-server

    Lightspeed single task in progress

  8. 接受或拒绝代码建议:

    • 要接受代码建议,请按 Tab
    • 要拒绝代码建议,请按 Esc

      注意

      如果拒绝建议,您可以修改提示并再次查看生成的代码建议,以匹配您的任务意图。

  9. ANSIBLE: LIGHTSPEED TRAINING MATCHES 选项卡中,查看内容源匹配结果。

    下图显示了在现有 Ansible Galaxy 内容中找到的培训匹配,用于安装 postgresql-server 的任务提示:

  10. Save 在 Ansible YAML 文件中保存代码建议更改。

4.3.3. 创建多任务建议

您可以通过在 Ansible VS Code 扩展中输入一系列自然语言任务提示来请求多任务代码建议。在 YAML 文件中,使用 pound 符号(disaster)启动您的提示,并使用 符号(&)分隔每个提示。

多任务提示示例

# Install postgresql-server & run postgresql-setup command
Copy to Clipboard Toggle word wrap

为了提高可读性,您可以在多行上分割多任务内联提示。要达到此目的,请用 符号(&)结束当前行,并使用哈希符号(#)启动下一行。

多任务提示通过多行分割的示例

# Create a keypair called lightspeed-keypair & create a vpc & create vpc_id var &
# create a security group that allows SSH & create subnet with 10.0.1.0/24 cidr &
# create an internet gateway & create a route table
Copy to Clipboard Toggle word wrap

Ansible Lightspeed 服务读取文本,与 IBM watsonx Code Assistant 模型交互,并生成代码建议。

注意

在输入多任务提示时,如果您基于 ansible-lint 设置,则 Ansible VS Code 扩展可能会显示警告。这个警告是一个小的可读性错误,不会影响您的代码建议输出的质量。要解决错误,您可以通过将多任务内联提示拆分到多行来忽略它或修复它。

先决条件

  • 您满足以下 一项 要求:

    • 您的机构对 Red Hat Ansible Automation Platform 和 IBM watsonx Code Assistant 都有一个试用或付费的订阅。
    • 您的机构对 Red Hat Ansible Automation Platform 具有试用或付费的订阅,并且您有 Red Hat Ansible Lightspeed 试用帐户。
  • 已安装并配置了 Ansible VS Code 扩展

流程

  1. 使用您的红帽帐户登录 VS Code。
  2. 创建新的 YAML 文件或使用现有的 YAML 文件。

    • 创建 YAML 文件:

      1. 选择 File New Text File
      2. 从屏幕右下角,单击 Plain Text,然后在语言模式中选择 Ansible
      3. 将文件保存为 YAML 文件格式扩展名(.yml.yaml)。
    • 使用现有的 YAML 文件:

      1. 在屏幕右下角,单击现有语言模式,然后在语言模式设置中选择 Ansible

        注意

        如果您没有在 VS Code 编辑器中看到语言模式 部分,请从 Command swig 中选择 Configure Language Mode Ansible

  3. 验证您在 VS Code 右下角的状态栏上看到 Lightspeed 的条目。

    如果 Ansible 已选为所需的语言,但没有显示 Lightspeed 条目,请重新选择 Ansible 作为语言模式。下图显示了 VS Code 状态栏上的 Lightspeed 条目。

    图 4.3. Ansible 和 Lightspeed 设置为所选语言模式

  4. 可选:如果看到有关缺少 Ansible lint 的错误消息,您可以安装缺少的模块或禁用它。执行以下任务之一:

    • 安装 Ansible lint:有关安装信息,请参阅 Ansible Lint 文档中的安装部分。https://ansible.readthedocs.io/projects/lint/installing/
    • 禁用 Ansible lint:

      1. 在 Activity 栏中,点 Extensions 图标 Extensions
      2. Installed extensions 列表中,选择 Ansible
      3. Ansible 扩展页面中,单击 Settings 图标并选择 Extension Settings
      4. 清除 Ansible criu Validation criu Lint: Enabled 复选框。
  5. 创建 playbook 或使用现有的 playbook。

    如需更多信息,请参阅开始使用 playbook 指南。

  6. 在 playbook 中,提供以下信息来请求多任务代码建议:

    1. 通过在正确的缩进中输入 pound 符号(TALM)来启动新的 YAML 文件注释。
    2. 按顺序添加详细的自然语言提示,通过使用 符号(&)分隔每个任务。

      多任务提示示例

      # Install postgresql-server & run postgresql-setup command
      Copy to Clipboard Toggle word wrap

      为提高可读性,请将您的多任务内联提示拆分到多行。要达到此目的,请用 符号(&)结束当前行,并使用哈希符号(#)启动下一行。

      多任务提示通过多行分割的示例

      # Create a keypair called lightspeed-keypair & create a vpc & create vpc_id var &
      # create a security group that allows SSH & create subnet with 10.0.1.0/24 cidr &
      # create an internet gateway & create a route table
      Copy to Clipboard Toggle word wrap

    3. 在任务描述后直接按 Enter 键。将光标保留在文件中的同一位置,并等待代码建议结果填充。

      Ansible Lightspeed 服务参与,它开始为多个任务生成代码建议。

      重要

      Ansible Lightspeed 服务每个任务需要 5 秒时间来填充代码建议。如果您使用多任务提示,Ansible Lightspeed 服务需要更长的时间(任务次数 5 秒)来填充结果。不要在生成代码建议时移动光标或按任意键。如果您更改了光标位置或按任意键,Ansible VS Code 扩展会取消请求,Ansible Lightspeed 服务不会处理您的请求。

      当 Ansible Lightspeed 服务参与时,会在屏幕右下角显示 Lightspeed 处理状态指示正在生成您的代码建议。

      Lightspeed icon

  7. 可选: 如果没有生成多任务代码建议,请从 VS Code 注销,并使用您的红帽帐户再次登录。
  8. 查看您的代码建议,并确保建议与您的任务意图匹配。

    以下示例显示,Ansible Lightspeed 服务为 Install postgresql-server & run postgresql-setup 命令 生成的代码建议:

    Lightspeed single task in progress

  9. 接受或拒绝代码建议:

    • 要接受代码建议,请按 Tab
    • 要拒绝代码建议,请按 Esc

      注意

      如果拒绝建议,您可以修改提示并再次查看生成的代码建议,以匹配您的任务意图。

  10. ANSIBLE: LIGHTSPEED TRAINING MATCHES 选项卡中,查看内容源匹配结果。

    下图显示了在现有 Ansible Galaxy 内容中找到的培训匹配,用于任务提示 multitask 提示 Install postgresql-server & run postgresql-setup 命令

  11. Save 在 Ansible YAML 文件中保存代码建议更改。

4.3.4. 查看 Ansible Lightspeed 培训匹配

使用 IBM watsonx Code Assistant 机器学习模型的 Red Hat Ansible Lightspeed 对以下内容进行了培训:

  • 现有公共或私有 Git 存储库
  • 来自 Ansible Galaxy 的内容

对 IBM watsonx Code Assistant 的 AI 技术以及用于培训模型的 Ansible 内容类型,无法识别贡献所生成的代码建议的特定培训数据集合。但是,Ansible Lightspeed 提供了一种功能,可帮助您了解可能生成的代码建议来源。

对于每个生成的代码建议,Red Hat Ansible Lightspeed 列出了内容源匹配,包括潜在源、内容作者和相关许可证等详情。您可以使用这些数据深入了解用于生成代码建议的潜在培训数据源。

在 VS Code 中输入自然语言提示并查看生成的代码建议后,您可以在 ANSIBLE: LIGHTSPEED TRAINING MATCHES 标签页上查看内容源匹配。

例如,以下图显示了对多任务建议 Install postgresql-server & run postgresql-setup 命令中的 培训匹配:

图 4.4. 培训与多任务建议匹配

通过此功能,您可以找到与相关培训数据关联的开源许可证条款。但是,不太可能在微调代码时使用的培训数据或输出建议本身受到版权保护,或者输出重现了受版权许可条款控制的培训数据。

注意

红帽在 IBM watsonx Code Assistant 中由 Red Hat Ansible Lightspeed 生成的建议中声明任何版权或其他相关的属性。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat