如何在Linux终端设置和使用ChatGPT

如何在Linux终端设置和使用ChatGPT

抛开NFT和metaverse的流行,人工智能已经成为科技界的新流行语。ChatGPT及其替代品在互联网上蓬勃发展,帮助用户轻松地完成日常任务。早些时候,我们发布了关于如何开始制作自己的类似ChatGPT的聊天机器人在任何浏览器中使用Bing AI等的指南。但是,如果你是一个Linux用户,想把这种人工智能聊天机器人的智慧带到你的系统中来,该怎么办?那么,这就是ShellGPT进入画面的地方。它将ChatGPT的力量直接带到你的Linux终端。ShellGPT提供答案、智能建议,并为你编写命令和代码,帮助你有效地浏览命令行。在这篇文章中,我们将向你展示如何安装ShellGPT命令行工具,并在Linux命令行中使用类似ChatGPT的AI机器人。

什么是用于Linux的ShellGPT?

用于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版本

如果上述命令输出任何错误,这意味着你的系统中没有安装Python,或者安装了被废弃的python2.7。

安装Pip包管理器

Pip是一个跨平台的Python软件包管理器。它有助于管理将ChatGPT引入Linux所需的各种Python软件包和库。你可以使用一个命令来安装、升级和卸载所需的包。在大多数Linux发行版中,它通常与Python一起预装,但如果没有安装,你可以用这个命令安装它:

sudo apt-get -y install python3-pip

安装Pip包管理器

一旦安装,你可以用以下命令检查Linux中安装的Pip版本:

pip3 --version

检查Linux中安装的Pip版本

安装Venv模块

ShellGPT或ChatGPT不需要这个模块,但我们建议你安装它,以便在Linux中创建一个隔离的虚拟环境,防止与其他库发生任何冲突。安装任何库或包都会安装许多后台依赖,这些依赖会干扰其他库。要为一个项目创建一个虚拟环境,你需要 “venv” 模块,可以用下面的命令来安装:

sudo apt install python3-venv

安装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

切换到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“。

查看OpenAI API Key

3. 在这里,你会看到所有以前生成的API密钥(如果有的话)。要生成一个新的API密钥,请点击 “Create new secret key” 按钮。

生成OpenAI API密钥

4. 一个新的弹出框将会打开,里面有你的API密钥。不要与任何人分享这个API密钥,也不要公开分享它。把你的API密钥复制到一个安全的文件或位置,因为你只能查看一次。在你点击这里的 “OK” 后,你将无法复制API密钥。

openAI API key

5. 现在,用下面的命令为这个API密钥创建一个环境变量。在Linux中,你可以使用 “export” 命令来创建环境变量。将 <your_OpenAI_API_key_here> 占位符替换为你在Linux终端使用ChatGPT时生成的实际API密钥。

export OPENAI_API_KEY=<your_OpenAI_API_key_here>

添加api key环境变量

6. 用 env 命令列出环境变量,以验证它:

env

列出环境变量

7. 这个变量只在当前会话中临时存储。要永久存储API密钥,请在你选择的文本编辑器中打开.bashrc文件,并在文件的末尾添加该变量。

export OPENAI_API_KEY=<your_OpenAI_API_key_here>

在bashrc中永久添加api密钥

8. 保存文件,并在你添加了OpenAI API密钥后退出文本编辑器。现在,运行这个命令,使变化生效:

source .bashrc

9. 最后,用env命令验证这些变化:

env

永久添加api密钥

安装ShellGPT以使用ChatGPT

在完成了环境设置后,你现在可以继续在Linux中安装ChatGPT的命令行版本。如果你在虚拟环境中安装它,你需要省略-用户标志。现在,使用下面的命令在你的电脑上安装ShellGPT:

pip3 install shell-gpt --user

安装ShellGPT

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.

ChatGPT回复 sgpt_query_1

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!

Linux终端与ChatGPT聊天

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)

ChatGPT生成代码

4. 生成Shell命令

虽然终端可以成为执行复杂命令和自动化任务的强大工具,但对于新手来说,有时很难记住各种Linux命令的语法和选项。在你的命令行中使用ChatGPT,你不仅可以得到Linux命令的语法,还可以得到带有所需参数和选项的准确命令。只需使用 --shell 标志,如:

sgpt --shell "<input_prompt>"

例如,如果你需要为当前目录下的所有文件设置只读权限,使用命令:

sgpt --shell "Make all files in the current directory read-only"

生成Shell命令

正如预期的那样,ChatGPT提供并返回这个输出:

chmod -R a-w .

此外,如果你同时使用 --execute 和 --shell 标志,你甚至可以直接执行生成的shell命令。至于上面的例子,这里是语法的样子:

sgpt --shell --execute "make all files in current directory read-only"

执行shell命令

你将得到以下输出:

chmod -R a-w .
Execute shell command? [y/N]: y

小结

所以,ShellGPT将ChatGPT的力量直接带入你的Linux终端。它不仅使初学者和经验丰富的用户都能简单地使用命令行,还能为你带来额外的功能。而且正如我们上面提到的,随着时间的推移,它变得更加有用,因为它的设计是向用户学习。但记住不要与任何一种人工智能模型分享任何敏感信息或数据,特别是你公司的专有代码。也就是说,请在下面的评论中让我们知道你对这个AI命令行工具的看法。

评论留言