一、前言
随着AI技术的普及,部分技术领域的门槛逐步降低,比如非科班出身,非技术专业,甚至从未涉足技术领域,完全不懂服务器部署和运维,如今可以依托AI大模型非常轻松的掌握和使用相关技术,来解决一些实际问题。
比如在不同的操作系统中总会避免不了需要接触和使用CLI命令行界面,许多任务都需要使用命令行界面进行操作。而对于非技术专业人员来说,在完全没有学习Linux或Shell脚本命令的情况下可能会非常困难,甚至在没基础的情况下现学也会遇到很多问题,止步不前。为了解决这个问题,我们今天介绍一个名为 Shell-AI 的小工具,它是一个轻量级的CLI实用程序,可以将自然语言理解的能力带入您的命令行。
Shell-AI 只需要简单的自然语言输入,就可以为您提供单行命令建议,并帮助您实现您的意图。整个工程代码不到200行,使用非常方便,尤其对于非技术专业人员来说,避免了学习很多Linux或者Shell脚本命令,直接可以使用自然语言进行操作,同时对于专业技术或者运维人员,也会极大的提高日常工作的效率。在本篇文章中,我们将介绍如何使用Shell-AI工具,并探讨其在日常工作中的必要性。
二、Shell-AI 介绍
Shell-AI ( shai
) 是一个 CLI 实用程序,可为你的命令行带来自然语言理解的功能。只需用自然语言输入您想要执行的操作, shai
就会建议可实现您意图的单行命令。在幕后,Shell-AI 利用 LangChain 来实现 LLM 的使用,并以优秀的 InquirerPy 为基础构建交互式 CLI。
Shell-AI 具备以下特点:
-
自然语言输入:用简单的英语(或其他支持的语言)描述您想要做什么。
-
命令建议:获取可完成您要求的单行命令建议。
-
跨平台:适用于 Linux、macOS 和 Windows。
-
Azure 兼容性:Shell-AI 现在支持 Azure OpenAI 部署。
三、Shell-AI 安装
首先需要确保已成功安装了Python环境,为了避免依赖冲突,建议还是创建虚拟环境来安装Shell-AI,具体安装在前面的文章中有介绍过多次,然后直接使用 pip 从 PyPI 安装 Shell-AI:
pip install shell-ai
四、Shell-AI 使用
4.1、环境变量
OPENAI_API_KEY :必填。将此环境变量设置为您的 OpenAI API 密钥。您可以在 OpenAI 官网上找到它。
4.2、可选变量
-
OPENAI_MODEL
:默认为gpt-3.5-turbo
。如果需要,您可以将其设置为另一个 OpenAI 模型。 -
SHAI_SUGGESTION_COUNT
:默认为 3。您可以设置它来指定要生成的建议数量。 -
OPENAI_API_BASE
:默认为https://api.openai.com/v1
。您可以将其设置为指定代理或服务模拟器。 -
OPENAI_ORGANIZATION
:OpenAI 组织 ID -
OPENAI_PROXY
:OpenAI 代理 -
OPENAI_API_TYPE
:如果您使用的是 Azure 部署,则设置为“azure”。 -
AZURE_DEPLOYMENT_NAME
:您的 Azure 部署名称(如果使用 Azure,则为必需)。 -
AZURE_API_BASE
:您的 Azure API 库(如果使用 Azure,则为必需)。
4.3、配置文件
我们也可以将这些变量存储在 JSON 配置文件中:
-
对于 Linux/macOS:在
~/.config/shell-ai/
下创建一个名为config.json
的文件,并使用chmod 600 ~/.config/shell-ai/config.json
保护它。 -
对于 Windows:在
%APPDATA%\shell-ai\
下创建一个名为config.json
的文件
示例 config.json
:
{"OPENAI_API_KEY": "your_openai_api_key_here","OPENAI_MODEL": "gpt-3.5-turbo-0613","SHAI_SUGGESTION_COUNT": "3","OPENAI_API_BASE":"your_open_ai_proxy_url"
}
应用程序将从该文件中读取(如果存在),并覆盖任何现有的环境变量。
设置这些配置后运行应用程序。
4.5、案例实战
安装完成后,就可以使用 shai
命令调用该实用程序。
五、总结
本文介绍了一个名为Shell-AI的小工具,它是一个轻量级的CLI实用程序,可以将自然语言理解的能力带入您的命令行。Shell-AI只需要简单的自然语言输入,就可以为您提供单行命令建议,并帮助您实现您的意图。整个工程代码不到200行,使用非常方便,尤其对于非技术专业人员来说,避免了学习很多Linux或者Shell脚本命令,直接可以使用自然语言进行操作。同时对于专业技术或者运维人员,也会极大地提高日常工作的效率。
六、References
https://github.com/ricklamers/shell-ai