您的当前位置:首页正文

运维神器 | 操作系统界的【通义灵码】-智能助手OS Copilot

2024-11-29 来源:个人技术集锦

运维神器 | 操作系统界的【通义灵码】-智能助手OS Copilot

首先对于这个标题小小解释一下,什么是操作系统界的【通义灵码】。作为开发者,通义灵码可以说作为 AI 代码助手,在日常开发中给我提供了不少帮助,特别感激。因此当我看到这款操作系统智能助手OS Copilot,我立刻就想到了【通义灵码】。既然通义灵码 AI代码助手是开发界的神器,那么智能助手OS Copilot 就是操作系统界的神器。下面开始正文,首先来简单介绍一下什么是智能助手OS Copilot?

什么是智能助手OS Copilot?

关于什么是智能助手OS Copilot,官方文档中给出了简洁且切中靶心的解释:【OS Copilot是Alibaba Cloud Linux基于大模型构建的操作系统智能助手,支持自然语言问答、辅助命令执行、系统运维调优等功能,帮助您更好地使用Alibaba Cloud Linux,提高Alibaba Cloud Linux的使用效率。】

自然语言问答大家都知道,简单理解就是人机对话,过去的人机对话发生在各种场景,比如:医疗场景、法律场景、问答场景等,但是唯独没有操作系统场景,那么今天智能助手OS Copilot就是为此而来。再说说辅助命令执行,过去大家操作服务器,由于是Linux系统,那么只能通过命令行操作,作为新手小白的话,可以说切换个文件夹都费劲,因为你不知道具体操作的 Linux 命令,那么今天有了智能助手OS Copilot,你就可以不用管具体命令,直接告诉智能助手OS Copilot你想干嘛,自然就可以干嘛,就是这么神奇。下面来看一下官方的功能介绍

到这里,关于智能助手OS Copilot的定义以及功能场景,也就有了基本的了解,下面来正式体验吧!

上手实操

在上手实操之前,我们需要先准备实验室资源,然后再正式操作。

资源准备

实验室场景会帮我们自动创建好云服务器ECS实例、VPC 、交换机、安全组。当然你也可以选择自行到云服务器ECS控制台创建以上资源,创建操作都比较简单,这里就不单独说明了。创建成功后点击左侧就可以看到已经创建成功的云服务器ECS资源

ECS 安全设置

这里由于一键创建实例,因此在实例创建过程中的设置云服务器ECS密码的步骤实际是略过了的,所以为了后面可以正常登录云服务器ECS 服务器,这里就需要先重置密码。点击实例ID 进入实例详情页面

在实例详情页面找到【重置密码】

点击【重置密码】输入新密码、确认密码,选择【在线重置密码】后点击【确认修改】

等待云服务器ECS 实例重置密码完成后点击【关闭】

重置完实例密码之后,需要设置当前电脑IP到云服务器ECS的22 端口的连通,那么点击【安全组】选择当前云服务器ECS 实例对应的安全组规则,点击安全组ID 进入安全组详情

在安全组详情页面,选择 【入方向】,点击【快速添加】

阿里云AccessKey

OS Copilot 需要用到 AccessKey,因此这里需要先创建 AccessKey,进入 AccessKey控制台:https://ram.console.aliyun.com/manage/ak?spm=a2c6h.28938832.0.0.1cf32361BFmD6Z

点击【继续使用 AccessKey】进入到控制台 AccessKey 列表页面,选择【创建AccessKey】

在弹出的页面点击【复制】并保存到本地文件中,勾选后点击【确定】完成 AccessKey的创建。

准备系统环境

进入的云服务器ECS 控制台:https://ecs.console.aliyun.com/home 选择【实例】,点击右侧【远程连接】

在弹出的弹框页面点击【立即登录】

输入【实例密码】后点击【确定】进入到云服务器ECS 在线操作服务器页面

云服务器ECS 连接成功之后,安装OS Copilot组件,执行命令

sudo yum install -y os-copilot

下面开始配置环境变量,执行如下命令,需要替换为刚才创建的 AccessKey ID和AccessKey Secret

export ALIBABA_CLOUD_ACCESS_KEY_ID=LTAI5tLbkfgDf3jjNKZzFwtm
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=0BlAQl15HkQLhF7GFF3gBxVDFCVizc

执行完成后测试一下 OS Copilot是否可以使用,执行命令

co hi

OS Copilot写脚本和注释代码

首先让OS Copilot写一段脚本,文本内容如下,执行命令

co "请帮我写一个网络流量监控脚本,用python语言实现"

OS Copilot脚本写完之后会询问你是否执行,这里我们选择 否,输入 n

创建 test.py 文件,并将 OS Copilot 生成的脚本代码放入 test.py文件后 输入 :wq 保存退出

执行命令让OS Copilot解释网络监控脚本中代码含义

cat test.py | co "请解释下每行代码的意思"

OS Copilot 对话问答

执行命令进入 聊天模式

co

第一个问题:【当前系统版本是多少】

第二个问题:【当前系统有多少运行进程】 OS Copilot 直接给出了辅助命令,不用自己找资料查命令了

第三个问题:【怎么升级系统】

到这里关于 OS Copilot 的对话问答就告一段落了,是不是很方便很智能。退出当前聊天模式输入 命令 exit。

OS Copilot 辅助编程

下面进入OS Copilot辅助编程操作

co
newcodegen

在CODEGEN模式中输入如下题目,OS Copilot会按照题目自动生成代码

给你一个字符串s,找到s中最长的回文子串。
示例1:
输入:s = "babad"
输出:"bab"
解释:"aba" 同样是符合题意的答案。
示例2:
输入:s = "cbbd"
输出:"bb"
提示:
1 <= s.length <= 1000
s仅由数字和英文字母组成
请用python语言实现

这里我让 OS Copilot会按照题目【用Java 语言写一个冒泡排序算法】写一段代码

将写好的代码放在 java环境中运行后输入结果

生成的 BubbleSort.java 代码如下

package com.dongao.test;
/**
 * dongao
 * 2024/7/4
 * 7月
 */
public class BubbleSort {
    // Function to implement bubble sort
    void bubbleSort(int arr[], int n) {
        // Traverse through all array elements
        for (int i = 0; i < n-1; i++)
            // Last i elements are already in place
            for (int j = 0; j < n-i-1; j++)
                if (arr[j] > arr[j+1]) {
                    // Swap arr[j+1] and arr[i]
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
    }
    /* Prints the array */
    void printArray(int arr[]) {
        int n = arr.length;
        for (int i=0; i<n; ++i)
            System.out.print(arr[i] + " ");
        System.out.println();
    }
    // Driver method to test above
    public static void main(String args[]) {
        BubbleSort ob = new BubbleSort();
        int arr[] = {64, 34, 25, 12, 22, 11, 90};
        int n = arr.length;
        ob.bubbleSort(arr, n);
        System.out.println("Sorted array");
        ob.printArray(arr);
    }
}

释放资源

整个实操操作完成之后,如果暂时不需要使用云服务器ECS的话,你可以直接点击云服务器ECS控制台的【实例】选择对应的实例点击【释放】即可,操作比较简单。另外,为了防止创建的 AccessKey 泄漏造成账户余额的损失,你可以选择禁用刚才创建的 AccessKey,或者直接删除都是可以的。

到这里,关于智能助手OS Copilot的功能体验就结束了,下面来说一下本次体验的整体感受。

评测反馈

1、OS Copilot 产品体验评测

1)您的角色是什么?开发、运维、学生?如果使用OS Copilot,您的使用场景是什么?
个人的角色是开发,如果使用OS Copilot ,那么对于我来说最大的使用场景就是我上面体验到的两个功能场景,OS Copilot 对话问答以及OS Copilot 写脚本和注释代码,对于OS Copilot 辅助编程的话,对于开发者,其实日常在 Linux 服务器上面的编程确实不多,主要也就是用一些Linux 操作命令,那么基于此 OS Copilot 对话问答 和OS Copilot 写脚本的能力对我来说就足够用了。

2)你觉得 OS Copilot 在新人上手方面是否简单、指引文档是否清晰、是否存在什么阻碍?
首先来说我是按照操作文档来进行操作的,整体上操作没有什么难度,流程也比较清晰。对于云服务器ECS 实例的创建以及 创建 AccessKey 的操作,平常也是经常操作,因此没什么难度。唯一比较新的命令就是 OS Copilot 的安装操作和命令使用操作,好在命令简单容易理解,安装也只需要执行一条命令就完成,所以本次操作没什么阻碍,很流畅。

3)OS Copilot 是否对您的工作有帮助?如果有帮助的话,帮助程度1-10分,能够打几分?
OS Copilot 对于我的工作当然是有帮助的,作为开发者,日常用到的 Linux 命令比较简单,比如 cd 、 history、 ps -ef|grep java 等命令,但是有时候需要用到一些比如查看服务器内存,存储空间,查看日志中指定字符的命令等就需要百度搜了,那么这就比较耽误时间,现在有了OS Copilot 之后,可以直接通过语言文字告诉服务器,比如我想 查看日志中 某个查询sql 的语句就很方便了。

4)您愿意向周边朋友/工作伙伴推荐OS Copilot吗?如果OS Copilot开源,是否有意愿共同参与开发?包括参与OS领域大模型的训练等。
作为开发者,最大的优点就是共享资源,可以说,遇到这么好的服务器智能辅助助手工具,当然是很愿意向周边的朋友推荐 OS Copilot 的,不过目前唯一的阻碍可能就是 OS Copilot 暂时不支持部署在公司自己的服务器,因为目前公司的服务整体还没有上云,所以大部分操作还是在自己的服务器上,这样的话对于 OS Copilot 可能就是可远观不可使用了
希望后续可以推出开源版本,这样就可以让更多的开发者,运维小伙伴再一次享受一波科技带来的福利,前有通义灵码 AI 代码助手,后有OS Copilot 智能运维助手,期待。。。

2、OS Copilot 产品功能反馈

1)您体验了哪些功能?对OS Copilot的哪些功能最感兴趣(知识问答、辅助编程、辅助命令执行等),为什么?
本次测评 OS Copilot功能,由于时间有限,我主要体验了知识问答、辅助编程、辅助命令执行的功能,其实对于这三个功能,我最感兴趣的还是辅助命令执行和知识问答,因为已经习惯了和AI 对话获取自己想要的信息,因此辅助命令执行和知识问答 这两个功能更符合我的习惯,通过 AI 对话的形式让服务器执行我想要的操作。

2)您有体验过其他类型的产品吗?对比其他产品OS Copilot有什么优缺点?
目前暂时还没有体验过其他类型的产品,相对于运维智能化来说,个人觉得阿里云的 OS Copilot 还是很有前瞻性的,其他同类型的产品暂时还没听说。

3)您希望OS Copilot能够扩展其他哪些功能呢?比如,支持更多的操作系统、自动命令报错原因分析、系统错误排查,或其他任何您想到的功能。
对于 OS Copilot 我自然是希望可以支持更多的操作系统,另外既然称之为操作系统智能助手OS Copilot,那么对于以后操作系统,或者说 Linux 服务器的命令监控,系统错误排查、服务异常报错告警,报错分析,智能化自动处理等,都是可以发展一下的。最终的结果就是希望服务器可以自动处理应用程序在使用过程中出现的各种非正常情况,从而节省大量的人力维护,提升运维工作的成效。

4)OS Copilot与其他产品联动组合的体验以及可能,如ACK智能助手、ECS、Workbench等,您也可以展开列举组合的实际应用场景。
这么说吧,作为操作系统智能助手OS Copilot,那么可以简单的理解,所有和云服务器ECS相关的都可以联动组合,比如现有的阿里云产品,只要是需要依托于服务器资源的,那么都可以联动进来,数据库方面:Mysql、Redis、Elasticsearch、PolarDB等,容器方面:ACK、ACR等。总之就是说,由云服务器ECS 承载的,需要智能化运维的,都是可以接入的联动产品组合。

显示全文