Linux 的 ShellGPT 是什么?
ShellGPT 由 Farkhod Sadykov(以及其他两个贡献者,即 Eric 和 Loïc Coyle)开发,是 ChatGPT的命令行版本,使用户能够在其 Linux 终端中与 AI 聊天机器人互动。它基于 OpenAI 的 GPT 大型语言模型(在此处 阅读有关OpenAI 的新 GPT-4 模型的更多信息)。
ShellGPT 可以提供智能建议和建议,甚至可以根据您的文本输入执行 shell 命令。它还从您的互动中学习,并随着时间的推移变得更加准确。通过将此 ChatGPT 工具融入命令行,用户无需键入长命令或记住复杂的Linux 终端命令。他们可以节省宝贵的时间,同时最大限度地减少错误,让 ChatGPT 为他们做一些琐碎的工作。
在 Linux CLI 中安装 ChatGPT 的先决条件
以下是在 Linux 系统上安装 ShellGPT 之前需要满足的一些先决条件。这些都不是太复杂的工具,可以用一些简单的命令安装。
安装 Python
Python 是不可或缺的工具,与许多其他 Linux 工具和库一样,ShellGPT(ChatGPT 的命令行版本)也是基于 Python 构建的。事实上,ChatGPT 也是使用 Python 和其他语言构建的。通常,大多数最新的 Linux 发行版都预装了 Python。首先,使用以下命令检查 Linux PC 上安装的 python 版本:
python3 --version
如果上述命令输出任何错误,则表示未安装 python 或系统上安装了已弃用的 python2.7。然后,您可以使用我们关于如何在 Linux 中安装 python 的指南。
安装 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 PC 上安装 ShellGPT 的说明分为四个不同的部分,以便您更容易理解。让我们从设置环境开始,然后获取 OpenAI API 密钥,然后在终端中安装聊天机器人。
设置环境
现在您已经涵盖了依赖项,让我们通过以下步骤创建从 Linux 终端访问 ChatGPT 的环境:
1. 首先,从应用程序菜单打开终端或使用“ Ctrl + Alt + T ”键盘快捷键。
2. 现在,使用下面的命令创建一个新目录并组织所有文件。
mkdir <your_directory_name>
例如,我们使用以下命令创建了一个名为“commandline-chatgpt”的新目录:
mkdir commandline-chatgpt
3. 然后,切换到您刚刚使用“更改目录”命令创建的新目录:
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>
(chatgpt_cli) remote2@remotehost
正如您在下图中看到的,默认的 Linux shell 提示符在运行上面的命令时 变为。
获取您的 OpenAI API 密钥
为了在 Linux 中使用 ChatGPT 的服务,您需要一个 OpenAI API 密钥。目前,OpenAI 提供 5 美元的试用信用额度。用完积分后,您需要为访问 API 付费。也就是说,您可以通过以下方式获取此命令行 ChatGPT 聊天机器人的 OpenAI API 密钥:
1. 导航到OpenAI 的网站(访问)并创建一个新的 OpenAI 帐户。如果您已经有一个帐户,只需登录并转到下一步。
2. 接下来,单击右上角的个人资料图片,然后从下拉菜单中选择“查看 API 密钥”。
3. 在这里,您将看到所有以前生成的 API 密钥(如果有)。要生成新的 API 密钥,请单击“创建新密钥”按钮。
4. 将打开一个新的弹出框,其中包含您的 API 密钥。不要与任何人共享此 API 密钥或公开共享。将您的 API 密钥复制到安全文件或位置,因为您只能查看一次。单击此处的“确定”后,您将无法复制 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。如果要在虚拟环境中安装它,则需要省略 –user 标志。现在,使用以下命令在您的 PC 上安装 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 用作任何类型查询的搜索引擎。因为它是一个 AI 聊天机器人,所以你会得到更像人类的答案的结果,而不是像大多数搜索引擎那样的一系列排名网页。使用 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
flag 一起使用,甚至可以直接执行生成的 shell 命令。至于上面的例子,语法如下:
sgpt --shell --execute "make all files in current directory read-only"
您将获得以下输出:
chmod -R a-w .
Execute shell command? [y/N]: y
在 Linux 命令行中使用 ChatGPT
是的,ShellGPT 将 ChatGPT 的强大功能带入了您的 Linux 终端。它不仅使初学者和经验丰富的用户都可以轻松使用命令行,而且还为您带来了其他功能。正如我们上面提到的,随着时间的推移,它会变得更有用,因为它旨在向用户学习。