操作系统智能助手OS Copilot
OS Copilot 是什么
OS Copilot是Alibaba Cloud Linux基于大模型构建的操作系统智能助手,支持自然语言问答、辅助命令执行、系统运维调优等功能,帮助您更好地使用Alibaba Cloud Linux,提高Alibaba Cloud Linux的使用效率。
优势
- 智能
OS Copilot通过不断学习您的使用习惯,提高准确性并做出预测。 - 专业
OS Copilot可以专业地帮助您回答操作系统相关问题。 - 高效
OS Copilot可以帮助您在系统诊断、调优、编程等场景进行相关问题处理。 - 协作
通过OS Copilot管理您在阿里云上的资源,享受到阿里云上一体化的服务。
功能
- 命令行自然语言问答
通过命令行自然语言问答,OS Copilot可以让用户直接在OS的命令行中输入在使用中的自然语言表述的问题,帮助用户回答日常及操作系统领域相关信息,简化用户需要切换到浏览器搜索的步骤,降低OS使用成本及使用连贯性,提高日常OS使用效率和用户体验。OS Copilot通过后端的LLM大模型,可以让用户轻松地接触到阿里云操作系统团队多年积累的系统领域知识,让用户可以更精准地搜索到操作系统相关信息,特别是对于阿里云自研操作系统Alibaba Cloud Linux及阿里云主导开源社区龙蜥操作系统AnolisOS的相关知识。 - 辅助命令执行
不同于Windows可视化的桌面操作系统,Linux操作系统主要通过命令行来进行操作系统日常的使用及维护等操作。而复杂繁多的命令行,对于Linux小白用户来说是入门Linux的第一道门槛。OS Copilot提供辅助命令执行功能,让Linux的小白用户也能迅速上手简单的Linux的使用。 - 阿里云CLI调用
阿里云CLI(Command Line Interface)是基于阿里云开放API建立的管理工具。借助此工具,您可以通过调用阿里云开放API来管理阿里云产品。OS Copilot支持让用户在操作系统内完成阿里云CLI的调用,通过命令行简单进行ECS信息及实例ID等查询。 - 系统运维和调优
在操作系统使用中的重要场景是系统的运维和调优,操作系统的表现对于业务有着非常大的影响。虽然市面上有很多的相关运维和调优产品,但是系统的运维和调优需要相关人员有相关Linux内核专业知识的积累及长期的问题处理经验,而具备相关能力的人才是非常有限的。Copilot可以通过自然语言调用相关系统运维及调优工具,特别是阿里云自研的系统工具,帮助用户轻松使用系统工具定位系统问题,提升系统性能表现。
操作步骤
创建实验
进入 OS Copilot实验传送门 后勾选阿里云授权相关协议,点击“开始实操”
资源完成创建后,可对照页面左侧的实验手册一步步完成实验,完成1小时实操后,资源自动释放。
重置密码
因为后续操作需要密码,所以需要重置密码。
创建Access Key
查看RAM用户的AccessKey信息文档传送门,创建AccessKey文档传送门。可通过 AccessKey创建传送门,增加AccessKey。
AccessKey Secret只在创建时显示,不支持查询。所以需要保存下来。
配置安全组
因为后续需要通过本地的ssh访问服务器,因此需要开放22端口。
安装 os-copilot
本文用的是 FinalShell 软件访问的服务器,执行如下命令安装os-copilot。(Finalshell可以方便连接Linux服务器,方便文件的上传下载,服务器的状态监控。Finalshell官方下载传送门)
sudo yum clean all && sudo yum install -y os-copilot
如果已经安装过os-copilot,则运行如下命令更新os-copilot。
sudo yum clean all && sudo yum update os-copilot
环境变量配置
export ALIBABA_CLOUD_ACCESS_KEY_ID=<AccessKey ID>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<AccessKey Secret>
请将 <AccessKey ID>
和 <AccessKey Secret>
替换为您实际的AccessKey ID和AccessKey Secret。
功能评测
命令行模式
您可以在命令行直接输入copilot 你好
、co 你好
、co "你好 请问你是?"
等命令进入命令行工具模式,根据需要进行问答。
copilot 你好
co 你好 # co是copilot指令的简要版本,如果在您的系统中没有命令冲突的情况,您可以直接使用co进行交互。
co "你好 请问你是?" # 如果命令中有空格,请在两侧加上引号,单引号或双引号皆可。
copilot 现在的时间 # copilot会去调用clock工具获取当前的系统时间
cat demo.py | copilot 解释这段代码 # 这里需要将demo.py替换为已有的python文件。
ps aux | grep python | copilot 这些python进程是干什么的
copilot "帮我查询一下aliyun ecs,InstanceName为 LLM-dev的id是多少?" # 这里需要您先配置好aliyun cli的ak和region。
co "nginx性能调优"
co "写一个脚本监控网络流量"
可以看到,os-copilot能够执行系统的一些简单命令。
我们尝试一下复杂的指令,看os-copilot能否帮我们执行。
命令:
回答过程:
可以看到os-copilot已经可以通过交互的方式来执行命令,但是却不能连续执行,只能执行其中的一条指令就结束。如果能够通过交互的方式连续执行完成命令的需求,那就真的太厉害了。
多轮交互模式
您可以输入以下命令进行多轮交互模式,默认进入Chat模式。
copilot
返回的参数解释如下:
- CHAT:默认的聊天模式,可以使用
newchat
命令切换到此模式。 - CODEGEN:可以使用
newcodegen
命令切换到此模式,按照指示自动生成代码。 - CODESUM:可以使用
newcodesum
命令切换到此模式,读取本地代码片段文件,自动分析代码摘要。
您可以使用 exit
命令退出Chat模式
您可以使用 --help
等命令查看更多用法
co --help
usage: co [-h] [-v] [-t] [--notool] [prompt]
OS Copilot: An OS assistant using LLM technique
positional arguments:
prompt input the prompt (i.e., your query about Linux OS), or keep it empty to enter interactive mode
optional arguments:
-h, --help show this help message and exit
-v, -V, --version show version info and exit
-t, -T, --tool activate this option to let llm use tools on demand
--notool activate this option to get raw llm response without tools, note that --notool will not take effect if --tool is set as well
Notice: If you encounter any connection issues, please
export ALIBABA_CLOUD_ACCESS_KEY_ID="YOUR_KEY_ID"
export ALIBABA_CLOUD_ACCESS_KEY_SECRET="YOUR_KEY_SECRET"
Then, grant yourself the 'AliyunSysOMOSCopilotAccess' permisson at https://ram.console.aliyun.com/permissions.
If you need support, please join the DingTalk Group [71050008820].
OS Copilot 产品体验评测反馈
1)您的角色是什么?开发、运维、学生?如果使用OS Copilot,您的使用场景是什么?
答:我的角色是开发,如果使用OS Copilot,使用的场景为,个人开发需要兼顾运维的操作,DevOps研发运维一体化前期需要有很多配置,比较复杂,使用OS Copilot可以快速解决其间遇到的问题。
2)你觉得 OS Copilot 在新人上手方面是否简单、指引文档是否清晰、是否存在什么阻碍?
答:OS Copilot如果是针对的阿里云的用户,指引文档还是比较清晰的。
3)OS Copilot 是否对您的工作有帮助?如果有帮助的话,帮助程度1-10分,能够打几分?
答:OS Copilot 对我的工作有一定的帮助,可以节省一部分通过搜索引擎查询解决方案的时间,并且因为大模型的理解力比传统搜索引擎强,所以当有时问题描述不是很清晰时,OS Copilot能够提供解决问题可能方向。帮助程度:8分。
4)您愿意向周边朋友/工作伙伴推荐OS Copilot吗?如果OS Copilot开源,是否有意愿共同参与开发?包括参与OS领域大模型的训练等。
答:愿意向周边朋友推荐OS Copilot,如果OS Copilot开源,如果条件允许愿意共同参与开发。
OS Copilot 产品功能评测反馈
1)您体验了哪些功能?对OS Copilot的哪些功能最感兴趣(知识问答、辅助编程、辅助命令执行等),为什么?
答:我体验了OS Copilot的知识问答、辅助编程、辅助命令执行功能,对辅助命令执行的功能最感兴趣,因为辅助命令执行可以直接帮助到我快速完成任务,节省了我分别执行命令,创建代码脚本的时间。
2)您有体验过其他类型的产品吗?对比其他产品OS Copilot有什么优缺点?
答:我只体验过辅助代码生成的产品,对比这类产品,OS Copilot可以通过交互的方式直接执行命令,效率更高。
3)您希望OS Copilot能够扩展其他哪些功能呢?比如,支持更多的操作系统、自动命令报错原因分析、系统错误排查,或其他任何您想到的功能。
答:我希望OS Copilot能够解决现阶段的辅助命令执行只能执行一个的问题。并能根据执行过程的报错情况自动修正。也可以先在沙箱中执行并看到效果后再运行到真实环境。
4)OS Copilot与其他产品联动组合的体验以及可能,如ACK智能助手、ECS、Workbench等,您也可以展开列举组合的实际应用场景。
答:OS Copilot最好可以通过分析代码结构,或者通过用户的自然语言结合ACK智能助手进行自动部署集群,创建CI/CD工作流也可以。