OS copilot测评
今天在朋友的介绍下,测验一下OS copilot,最后来说一下我的体验反馈。
一、开通
等待创建
根据操作手册里的步骤,持续点击下一步,就可以完成本次实验,
接下来我们开始。
接下来要做的两步是,重置密码和安全组设置,分别点击上面的两个按钮,完成设置。
如图所示
如图所示
连接
接下来我们就开始今天的正式实验。
二、安装
sudo yum install -y os-copilot
配置环境变量
export ALIBABA_CLOUD_ACCESS_KEY_ID=<AccessKey ID>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<AccessKey Secret>
co 你好
三、实验一用OS Copilot写脚本和注释代码
co "请帮我写一个文件上传的脚本,用python语言实现"
生成内容如下 ,根据内容,可以看到是可以实现的,但是有个问题,就是这个是不是比较难,思考时间有点久。
接下来我们翻译一下,
vim test.py,输入上面的内容
cat test.py | co "请解释下每行代码的意思"
可以看到结果是一行行 的输出,非常具有逻辑性,值得点赞。
四、实验二使用OS Copilot进行对话问答
co
我们就可以进入对话模式,我们先问一下,他是谁吧,
原来搞了这么久,它是 OS Copilot,是一个基于人工智能技术的操作系统助手。在Linux操作系统方面具有丰富的知识和经验,可以为大家解答关于系统管理、命令操作、环境配置等各种Linux相关问题。
看起来很棒,那我们就问一下linux 系统的发展史吧,
大家对下面的这个回答还满意不?
五、实验三、使用OS Copilot辅助编程学习
看了文档,还能写代码,看起来很棒的样子,我们来继续测试一下。
co
进入代码模式
newcodegen
那就让我们写一个ts的获取当前日期的农历信息的三方库吧
下面是返回,大家觉得咋样呢?
下面的步骤是创建一个TypeScript类,名为LunarCalendar
, 它包含一个静态方法getCurrentLunarDate()
用于获取当前的农历日期:
- 引入必要的模块。
- 编写一个函数处理从API获取的数据。
- 创建一个静态方法来发送GET请求并解析数据。
- 返回这个静态方法的结果。
以下是如何实现这些步骤的详细伪代码:
// Step 1: Import necessary modules
import https from 'https';
// Step 2: Write a function to handle data received from the API
function parseData(response: string): {
lunarDate: string } {
// Assuming the response comes in the format: "{'lunarDate': '2022年腊月廿九'}"
const parsedResponse = JSON.parse(response);
return parsedResponse;
}
// Step 3: Create a static method to send GET request and parse data
class LunarCalendar {
static async getCurrentLunarDate(): Promise<{
lunarDate: string }> {
const options = {
hostname: 'api.chinase.com',
port: 80,
path: '/lunar/',
method: 'GET',
};
let body = '';
// Step 4: Send the GET request
const req = https.request(options, (res) => {
res.on('data', (chunk) => {
body += chunk.toString();
});
res.on('end', () => {
// Parse the response
const result = parseData(body);
// Return the lunar date
return result.lunarDate;
});
});
req.on('error', (err) => {
console.error(`Problem with request: ${
err.message}`);
});
// End the request
req.end();
}
}
// Use the class and its method
LunarCalendar.getCurrentLunarDate().then((lunarDate) => {
console.log(`Current Lunar Date: ${
lunarDate}`);
}).catch((err) => {
console.error(`Error occurred: ${
err}`);
});
这段代码定义了一个名为LunarCalendar
的类,它有一个静态方法getCurrentLunarDate()
,该方法通过发送HTTP GET请求到指定的API地址来获取农历日期。然后,它解析响应并将结果作为字符串返回。注意,在实际应用中,可能需要处理网络错误和其他异常情况。最后,调用这个方法并在控制台打印出农历日期。
为了运行此代码,你需要安装Node.js环境并使用TypeScript编译器。确保已经在项目中安装了typescript
和@types/node
作为依赖项。你可以使用以下命令进行安装:
npm init -y
npm install typescript ts-node @types/node
npx tsc --init
接着,将上述TypeScript代码保存为lunar-calendar.ts
文件,然后使用以下命令运行:
npx ts-node lunar-calendar.ts
好的,本次体验到此结束,我们可以从下面的问题,回答一下如下问题。
六、OS Copilot 产品体验评测
1)您的角色是什么?开发、运维、学生?如果使用OS Copilot,您的使用场景是什么?
我是公司的运维,使用的话,是想帮我更好的提高运维效率,方便有更多时间学习和摸鱼。
2)你觉得 OS Copilot 在新人上手方面是否简单、指引文档是否清晰、是否存在什么阻碍?
我是根据文档一步步操作的,能把这个流程跑完,说明文档是很详细的。没有任何障碍,这就要感谢官方人员了。
3)OS Copilot 是否对您的工作有帮助?如果有帮助的话,帮助程度1-10分,能够打几分?
上面我测试的几个问题,都是我在工作中用到的场景,确实对我有帮我,我愿意给8分。
4)您愿意向周边朋友/工作伙伴推荐OS Copilot吗?如果OS Copilot开源,是否有意愿共同参与开发?包括参与OS领域大模型的训练等。
我还是很愿意推荐的,同时,我也愿意一起参与开发。
七、OS Copilot 产品功能反馈
1)您体验了哪些功能?对OS Copilot的哪些功能最感兴趣(知识问答、辅助编程、辅助命令执行等),为什么?
上面的三四五,就是我测试了所有功能。
2)您有体验过其他类型的产品吗?对比其他产品OS Copilot有什么优缺点?
其他的产品我还没有体验,主要是之前对这一块了解不多,这次还是坚果老师推荐。唯一让我举觉得优缺点的就是复杂问题,反应还是比较慢。
3)您希望OS Copilot能够扩展其他哪些功能呢?比如,支持更多的操作系统、自动命令报错原因分析、系统错误排查,或其他任何您想到的功能。
第一个,我是运维,接触到系统类型比较多,所以希望能够支持更多的操作系统。以及日志分析。
4)OS Copilot与其他产品联动组合的体验以及可能,如ACK智能助手、ECS、Workbench等,您也可以展开列举组合的实际应用场景。
其他的产品我不是很清楚,我只知道,只要能助力我提升效率的都是好工具。
八、总结
1.速度快一点
2.支持语音输出
3.支持更多系统
最后OS Copilot表现良好,能理解指令并生成代码,但对复杂问题反应较慢。对话问答和编程辅助功能实用,适合运维人员提高效率。