把握生成式人工智能,优化代码生成、解说与调试,助力作业流程飞速前行。

译自Generative AI Tools for Infrastructure as Code,作者 Parasar Kodati 在技术领域具有长达两十年的经验,包含技术支撑、工程、产品办理以及最为明显的技术推广等多个角色。

根底设施即代码(IaC)协助DevOps、IT运维和其他工程师在不断扩大、复杂化和多样化的动态IT环境中办理数据、应用程序和根底设施。经过GitOps驱动的作业流,工程师能够在不同环境中引进急需的标准化、安全性和操作一致性。

虽然有许多令人信服的理由支撑选用IaC,但有一项立异使其更具优势:生成式人工智能(AI)。仅仅一年前,人们关于AI生成的代码的准确性存在许多怀疑。但是这项技术正在敏捷开展,变得越来越成为IaC的要害推进要素,从最佳实践转变为不可或缺的战略。

OpenAI一直在领导产业,推出了ChatGPT等生成式AI东西,而Meta的LLAMA等其他强壮的大言语模型(LLMs)也具有广泛的生成式AI才能。我的同事们在戴尔公司宣告了一篇关于构建通用型LLM环境的白皮书。

有许多生成式AI东西可用,能够协助您加快作业流程、学习乃至工作开展。我将在这里描述其间一些功用。

代码生成

假如让我在每月理发和生成式代码帮手订阅之间挑选,我会挑选后者。像GitHub Copilot这样的东西现在变得不可或缺——即便您只是在进行Shell脚本编写,更不用说编写复杂的Ansible Playbooks了。这些东西减少了创立自动化使命所需的代码根底块的时刻,并且每一行生成的代码都包含了您高中英语老师会认可的有意义的注释。我的《Ansible for OpenManage Enterprise》视频展示了这些东西怎么协助您生成代码的许多示例。

代码解说

生成式AI模型能够解析和解说广泛的编程言语编写的代码,这得益于它们在数百万行代码的广泛练习。当您需求解说代码时,例如重构代码或尝试改善现有的自动化脚本时,运用代码提示LLM或许比运用纯英语更容易。以下是一个快速示例,我运用最新的ChatGPT 4模型生成了一个优异的旧Shell脚本的Ansible等效版别。

我用于创立文件夹紧缩备份的Shell脚本输入:

#!/bin/bash
# Set the directory to back up and the backup location
DIRECTORY_TO_BACKUP="/home/user/data"
BACKUP_LOCATION="/backup"
TIMESTAMP=$(date +"%F")
BACKUP_FILE="backup-$TIMESTAMP.tar.gz"
# Create the backup
tar -czf $BACKUP_LOCATION/$BACKUP_FILE $DIRECTORY_TO_BACKUP
# Check if the backup was successful
if [ $? -eq 0 ]; then
  echo "Backup completed successfully."
else
  echo "Backup failed." >&2
fi

初始的Ansible输出:

---
- name: Create Backup of Directory
  hosts: all
  tasks:
    - name: Create backup file
      ansible.builtin.archive:
        path: /home/user/data
        dest: /backup/backup-{{ ansible_date_time.iso8601_basic_short }}.tar.gz
        format: gz

当我提示模型生成一个带有变量的更结构化代码块时,它回来:

---
- name: Create Backup of Directory with Variables
  hosts: all
  vars:
    backup_source: /home/user/data # Define the source directory to back up
    backup_destination: /backup # Define the backup destination directory
    backup_filename: "backup-{{ ansible_date_time.iso8601_basic_short }}.tar.gz" # Backup filename with a timestamp
  tasks:
    - name: Create backup directory if it does not exist
      ansible.builtin.file:
        path: "{{ backup_destination }}"
        state: directory
        mode: '0755'
    - name: Create backup file
      ansible.builtin.archive:
        path: "{{ backup_source }}"
        dest: "{{ backup_destination }}/{{ backup_filename }}"
        format: gz

最新的ChatGPT界面支撑附加文件,因而您无需复制粘贴需求重构的代码。只需组织好文件,然后将它们附加到您的提示中。

过错剖析与调试

假如你认为将过错音讯复制粘贴到Stack Overflow是调试代码的最佳方法,那就再想想吧。基于LLM的代码解说东西能够剖析过错音讯和日志,并在许多情况下识别常常产生的问题的根本原因。这适用于任何代码,包含Ansible Playbooks和Terraform模块,LLM能够敏捷推荐修复办法,链接到相关文档,乃至或许自动化处理进程。

提示工程

编写提示现已成为确定LLM响应准确性的要害技术。您的提示越详细和详细,响应就越有用。以下是一些IaC的示例:

“我正在进行一个Terraform项目,在其间我需求为AWS EC2实例进行配置,详细要求是:它应该是‘t2.micro’类型,在‘us-east-1’区域,并包含‘Name’标签为‘MyInstance’和‘Environment’标签为‘Development’。你能提供界说这个资源的Terraform代码片段吗?”

或者:

“我需求创立一个Ansible playbook,履行一个常见的操作:在一组Ubuntu服务器上更新一切软件包。Playbook应该是幂等的,只能针对‘webservers’组的服务器。假如更新需求重新启动,它还有必要仅重新启动‘nginx’服务。你能为这个playbook生成YAML代码吗?”

假如你正在致力于经过自动化改动世界,能够尝试相似这样的内容:

“关于在DevOps环境中运用Python编写的自动化脚本,我需求一个强壮的过错处理战略,它能将过错记录到文件并在产生要害故障时发送电子邮件告诉。该脚本旨在自动化布置流程。你能提供一个演示这种过错处理的Python代码示例吗?”

有了这些强壮的功用,请让一个代码帮手来协助你,即便你不得不越过一些咖啡或理发。

创立你自己的GPT(全球项目东西)

假如你在浏览器中一直打开着一个ChatGPT标签,并且现已成为一个提示编写专家,那么你能够运用生成式AI做更多事情,而不仅仅是生成代码。

多亏了最近宣告的GPT模型和OpenAI的Assistants API,你能够创立一个定制的模型,它在响应速度和准确性方面更快更准确。你能够用任何东西练习GPT模型,比如政策文件、编码原则或IT根底设施大小计算器,并让谈天机器人运用这些后端模型来答复客户或内部利益相关者的查询(请注意,依据客户数量和运用情况,这些才能是有本钱的)。

定制GPT的要害元素:

代码解说器:这与ChatGPT或GitHub Copilot中的编码才能没有太大区别。在创立定制GPT时,包含一个选项,用户能够挑选是否要运用代码解说器。这是由于Assistants API选用的是按运用量计费模型;不需求此功用的用户能够撤销挑选。

常识检索:由人工智能提供支撑的常识检索系统能够即时检索与手头使命相关的技术文档和最佳实践,无论是制作Ansible Playbook还是在Terraform中界说资源。这种对信息的即时拜访加快了开发进程,并有助于在各个平台上保持行业标准。

自界说功用:假如您现已构建了用于计算或做决议计划的脚本和例程,您能够将它们整合到您的自界说GPT中。我最近看到一个例子,其间投资回报率(ROI)计算器被整合到一个谈天机器人中,以协助网站拜访者评估转换为太阳能的优点。您能够为目标终端用户创立一个大小估算东西或性能基准测试东西。

关于专有和敏感数据的注意事项

虽然大型言语模型是程序员长期以来最好的东西,但在运用非公开数据练习AI模型时要极度谨慎。依据用例,在运用敏感或专有数据的提示或用于练习的常识文档中设置严厉的防护办法。假如您的组织没有这样的防护办法,您能够成为创立它们的倡导者,并参与协助组织实现更高的AI选用成熟度。

了解更多

Dell一直是企业领先的人工智能根底设施提供商。以下是一些其他资源,了解有关为大型言语模型训练设置根底设施的更多信息:

本文在云云众生yylives.cc/)首发,欢迎我们拜访。