抛开NFT和metaverse的流行,人工智能已经成为科技界的新流行语。ChatGPT及其替代品在互联网上蓬勃发展,帮助用户轻松地完成日常任务。早些时候,我们发布了关于如何开始制作自己的类似ChatGPT的聊天机器人、在任何浏览器中使用Bing AI等的指南。但是,如果你是一个Linux用户,想把这种人工智能聊天机器人的智慧带到你的系统中来,该怎么办?那么,这就是ShellGPT进入画面的地方。它将ChatGPT的力量直接带到你的Linux终端。ShellGPT提供答案、智能建议,并为你编写命令和代码,帮助你有效地浏览命令行。在这篇文章中,我们将向你展示如何安装ShellGPT命令行工具,并在Linux命令行中使用类似ChatGPT的AI机器人。
什么是用于Linux的ShellGPT?
图片提供: Farkhod Sadykov (Github)
ShellGPT由Farkhod Sadykov(以及另外两位贡献者,即Eric和Loic Coyle)开发,是ChatGPT的命令行版本,使用户能够在他们的Linux终端与人工智能聊天机器人互动。它基于OpenAI的GPT大型语言模型(在此阅读更多关于OpenAI的新GPT-4模型)。
ShellGPT可以提供智能建议和推荐,甚至可以根据你的文字输入执行shell命令。它还能从你的互动中学习,并随着时间的推移变得更加准确。有了这个嵌入命令行的ChatGPT工具,用户就不必输入长的命令或记住复杂的Linux终端命令。他们可以节省宝贵的时间,同时尽量减少错误,让ChatGPT为他们做一些琐碎的工作。
在Linux CLI中安装ChatGPT的先决条件
下面是你在Linux系统上安装ShellGPT之前需要满足的一些先决条件。这些都不是太复杂的工具,可以通过一些简单的命令来安装。
安装Python
Python是一个不可缺少的工具,和其他许多Linux工具和库一样,ShellGPT(ChatGPT的命令行版本)也是建立在Python之上。事实上,ChatGPT也是使用Python和其他语言一起构建的。一般来说,Python已经预装在大多数最新的Linux发行版上了。因此,首先用这个命令检查你的Linux电脑上安装的Python版本:
python3 --version
如果上述命令输出任何错误,这意味着你的系统中没有安装Python,或者安装了被废弃的python2.7。
安装Pip包管理器
Pip是一个跨平台的Python软件包管理器。它有助于管理将ChatGPT引入Linux所需的各种Python软件包和库。你可以使用一个命令来安装、升级和卸载所需的包。在大多数Linux发行版中,它通常与Python一起预装,但如果没有安装,你可以用这个命令安装它:
sudo apt-get -y install python3-pip
一旦安装,你可以用以下命令检查Linux中安装的Pip版本:
pip3 --version
安装Venv模块
ShellGPT或ChatGPT不需要这个模块,但我们建议你安装它,以便在Linux中创建一个隔离的虚拟环境,防止与其他库发生任何冲突。安装任何库或包都会安装许多后台依赖,这些依赖会干扰其他库。要为一个项目创建一个虚拟环境,你需要 “venv” 模块,可以用下面的命令来安装:
sudo apt install python3-venv
设置ShellGPT以在Linux终端使用ChatGPT
我们把在Linux电脑上安装ShellGPT的说明分为四个不同的部分,以使你更容易理解。让我们从设置环境开始,接着是获取OpenAI API密钥,以及在终端安装聊天工具。
设置环境
现在你已经有了先决条件,让我们创建一个环境,通过以下步骤从你的Linux终端访问ChatGPT:
1. 首先,从应用程序菜单中打开终端,或使用 “Ctrl + Alt + T” 键盘快捷键。
2. 现在,使用下面的命令来创建一个新的目录,并保持所有文件的组织。
mkdir <your_directory_name>
例如,我们用下面的命令创建了一个名为 “commandline-chatgpt” 的新目录:
mkdir commandline-chatgpt
3. 然后,用 “change directory” 命令切换到你刚刚创建的新目录:
cd <new_directory_name>
在下面的例子中,我们已经移动到了commandline-chatgpt目录,我们将在这里创建环境,在Linux终端中使用ChatGPT:
cd commandline-chatgpt
4. 现在,使用下面的命令,用venv模块创建一个虚拟环境。我们为我们的虚拟环境使用了 “chatgpt_cli” 的名字。
python3 -m venv <virtual_environment_name>
比如: python3 -m venv chatgpt_cli
5. 你刚刚创建的虚拟环境将被默认为停用。要激活这个环境,请使用这个命令:
source <virtual_environment_name>/bin/activate
一旦你执行上述命令,shell提示符现在会在括号中显示虚拟环境的名称,像这样:
(<virtual_environment_name>)<username>@<system_name>
正如你在下图中看到的,运行上述命令后,默认的Linux shell提示符变为 (chatgpt_cli) remote2@remotehost
。
获取您的OpenAI API密钥
为了在Linux中使用ChatGPT的服务,你将需要一个OpenAI的API密钥。目前,OpenAI提供5美元的信用额度供试用。一旦你用完了信用额度,你需要为访问API付费。也就是说,下面是你如何为这个命令行ChatGPT聊天机器人获得OpenAI API密钥的方法:
1. 导航到OpenAI的网站(访问)并创建一个新的OpenAI账户。如果你已经有一个账户,只需登录并转到下一步。
2. 接下来,点击右上角的个人资料图片,从下拉菜单中选择 “View API keys“。
3. 在这里,你会看到所有以前生成的API密钥(如果有的话)。要生成一个新的API密钥,请点击 “Create new secret key” 按钮。
4. 一个新的弹出框将会打开,里面有你的API密钥。不要与任何人分享这个API密钥,也不要公开分享它。把你的API密钥复制到一个安全的文件或位置,因为你只能查看一次。在你点击这里的 “OK” 后,你将无法复制API密钥。
5. 现在,用下面的命令为这个API密钥创建一个环境变量。在Linux中,你可以使用 “export” 命令来创建环境变量。将 <your_OpenAI_API_key_here>
占位符替换为你在Linux终端使用ChatGPT时生成的实际API密钥。
export OPENAI_API_KEY=<your_OpenAI_API_key_here>
6. 用 env
命令列出环境变量,以验证它:
env
7. 这个变量只在当前会话中临时存储。要永久存储API密钥,请在你选择的文本编辑器中打开.bashrc文件,并在文件的末尾添加该变量。
export OPENAI_API_KEY=<your_OpenAI_API_key_here>
8. 保存文件,并在你添加了OpenAI API密钥后退出文本编辑器。现在,运行这个命令,使变化生效:
source .bashrc
9. 最后,用env命令验证这些变化:
env
安装ShellGPT以使用ChatGPT
在完成了环境设置后,你现在可以继续在Linux中安装ChatGPT的命令行版本。如果你在虚拟环境中安装它,你需要省略-用户标志。现在,使用下面的命令在你的电脑上安装ShellGPT:
pip3 install shell-gpt --user
ShellGPT: 语法和选项
现在你已经安装了ShellGPT,你一定很想用它来完成各种任务。但在此之前,让我们看看它的语法和一些选项,我们可以用它们来使我们的输出变得有趣。由于ShellGPT的语法简单明了,使用它来完成多项任务很容易:
sgpt <options> <input_query>
你可以使用ShellGPT(sgpt)聊天工具的一些选项是:
选项 | 描述 |
---|---|
--temperature |
改变输出的随机性 |
--top-probablity |
仅限于可能性最高的标记或单词 |
--chat |
用来与一个独特的名字进行对话 |
--shell |
用来获取作为输出的shell命令 |
--execute |
执行从 --shell 选项收到的输出命令 |
--code |
用来获取作为输出的代码 |
如何在Linux终端使用ChatGPT
1. 使用ShellGPT进行查询
你可以把ShellGPT作为一个搜索引擎,用于任何类型的查询。由于它是一个人工智能聊天机器人,你得到的结果更像人类的答案,而不是像大多数搜索引擎那样的一系列排名的网页。使用ShellGPT获得问题答案的语法是:
sgpt "<your_query>"
例如,如果你需要知道太阳的质量,使用这个命令:
sgpt "mass of sun"
当ShellGPT试图得到一个响应时,你会在终端看到一个漂亮的动画。我们收到的响应在下面突出显示。你可能会得到一个类似的答复,这取决于模型是如何训练的:
The mass of the Sun is approximately 1.989 x 10^30 kilograms.
2. ChatGPT聊天机器人模式
如果你曾用ChatGPT聊天,你一定觉得它的反应不亚于人类。现在在ShellGPT的帮助下,你甚至可以从你的Linux终端使用ChatGPT。只需使用 --chat
选项,后面跟一个独特的会话名称和一个提示。
sgpt --chat <unique_chat_session_name> <input_prompt>
例如,如果你想让ChatGPT给你讲一个笑话,请使用这个命令:
sgpt --chat joke "can you tell me a joke?"
一旦你运行上述命令,你将得到以下结果作为输出:
Sure, here's one: Why couldn't the bicycle stand up by itself? Because it was two-tired!
3. 生成代码
你甚至可以使用基于CLI的ChatGPT工具来解决编码问题或生成代码片段。只需使用 --code
标志就可以为你的提示生成代码,如图所示:
sgpt --code "<input_prompt>"
例如,如果你想用python解决经典的Fizz Buzz问题,使用这个提示:
sgpt --code "Solve classic fizz buzz problem using Python"
ChatGPT会很快给你一个输出,然后你可以把它粘贴到你的代码编辑器中并进行测试:
for i in range(1, 101): if i % 3 == 0 and i % 5 == 0: print("FizzBuzz") elif i % 3 == 0: print("Fizz") elif i % 5 == 0: print("Buzz") else: print(i)
4. 生成Shell命令
虽然终端可以成为执行复杂命令和自动化任务的强大工具,但对于新手来说,有时很难记住各种Linux命令的语法和选项。在你的命令行中使用ChatGPT,你不仅可以得到Linux命令的语法,还可以得到带有所需参数和选项的准确命令。只需使用 --shell
标志,如:
sgpt --shell "<input_prompt>"
例如,如果你需要为当前目录下的所有文件设置只读权限,使用命令:
sgpt --shell "Make all files in the current directory read-only"
正如预期的那样,ChatGPT提供并返回这个输出:
chmod -R a-w .
此外,如果你同时使用 --execute
和 --shell
标志,你甚至可以直接执行生成的shell命令。至于上面的例子,这里是语法的样子:
sgpt --shell --execute "make all files in current directory read-only"
你将得到以下输出:
chmod -R a-w . Execute shell command? [y/N]: y
小结
所以,ShellGPT将ChatGPT的力量直接带入你的Linux终端。它不仅使初学者和经验丰富的用户都能简单地使用命令行,还能为你带来额外的功能。而且正如我们上面提到的,随着时间的推移,它变得更加有用,因为它的设计是向用户学习。但记住不要与任何一种人工智能模型分享任何敏感信息或数据,特别是你公司的专有代码。也就是说,请在下面的评论中让我们知道你对这个AI命令行工具的看法。
评论留言