随着NFT和元宇宙的流行逐渐消退,人工智能已成为技术领域的新热词。ChatGPT及其替代品在互联网上蓬勃发展,帮助用户轻松完成日常任务。很多文章都介绍了如何开始制作类似ChatGPT的聊天机器人以及如何在任何浏览器中使用Bing AI等指南。但是,如果您是Linux用户,并且想将这个AI聊天机器人的智慧带到您的系统中,那么ShellGPT就是解决方案。它将ChatGPT的强大功能直接带到您的Linux终端中。ShellGPT为您提供答案、智能建议,并为您编写命令和代码,帮助您高效地导航命令行。本文将向您展示如何安装ShellGPT命令行工具,并在Linux命令行中使用类似于ChatGPT的AI机器人。
在Linux终端中运行ChatGPT(2023)
ShellGPT 是什么?
由法尔霍德·萨迪科夫(以及其他两位贡献者埃里克和洛伊克·科伊尔)开发的ShellGPT是ChatGPT的命令行版本,它使用户能够在Linux终端中与AI聊天机器人互动。它基于OpenAI的GPT大型语言模型(在此处阅读有关OpenAI新GPT-4模型的更多信息)。
ShellGPT可以提供智能建议和推荐,甚至可以根据您的文本输入执行Shell命令。它还可以从您的互动中学习,并随着时间的推移变得更加准确。有了这个ChatGPT工具内置在命令行中,用户无需输入长命令或记住复杂的Linux终端命令。他们可以节省宝贵的时间,同时最小化错误,让ChatGPT为他们执行一些琐碎的工作。
在Linux CLI中安装ChatGPT的前提条件
在您可以在Linux系统上安装ShellGPT之前,需要满足以下一些先决条件。这些工具并不太复杂,可以通过一些简单的命令进行安装。
1、安装Python
Python 是一种不可或缺的工具,和许多其他的 Linux 工具和库一样,ShellGPT(ChatGPT 的命令行版本)也是基于 Python 构建的。实际上,ChatGPT 也是使用 Python 和其他语言构建的。通常情况下,Python 已经预装在大多数最新的 Linux 发行版中。因此,首先使用以下命令检查你的 Linux 电脑上已安装的 Python 版本
python3 --version
如果以上命令输出了任何错误,那么就意味着你的系统尚未安装 Python,或者已安装不再使用的 Python2.7 版本。这时,你可以参考网上提供的 Linux 平台下 Python 安装指南。
2、安装 Pip 包管理器
Pip 是一个跨平台的 Python 包管理器,它有助于管理各种 Python 包和库,这些包和库是将 ChatGPT 引入 Linux 系统所必需的。你可以使用一个单一的命令来安装、升级和卸载所需的包。通常情况下,Pip 已经随 Python 预装在大多数 Linux 发行版中,但如果没有安装,你可以使用以下命令进行安装:
3、安装 Venv 模块
虽然 ShellGPT 或 ChatGPT 并不一定需要此模块,但我们建议你安装它以在 Linux 中创建一个隔离的虚拟环境,以避免与其他库发生冲突。安装任何库或包都会安装许多后台依赖项,这些依赖项可能会干扰其他库。为一个项目创建虚拟环境需要 "venv" 模块,可以使用以下命令进行安装:
sudo apt install python3-venv
在 Linux 终端中设置 ShellGPT 来使用 ChatGPT
我们将安装 ShellGPT 在你的 Linux 电脑上的指南分为四个不同的部分,以便你更容易理解。让我们从设置环境开始,然后获取 OpenAI API 密钥,并在终端中安装聊天机器人。
设置环境
现在你已经安装好所需的依赖项,让我们按照以下步骤创建环境,以便从你的 Linux 终端访问 ChatGPT:
首先,从应用程序菜单中打开终端或使用“Ctrl + Alt + T”键盘快捷键。
现在,使用下面的命令创建一个新目录,并保持所有文件的组织结构。
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
刚刚创建的虚拟环境默认处于未激活状态。要激活该环境,请使用以下命令:
source <virtual_environment_name>/bin/activate
执行上述命令后,命令行提示符将会显示虚拟环境的名称,格式如下:
(<virtual_environment_name>)<username>@<system_name>
正如您在下面的图像中所看到的,执行上述命令后,默认的Linux shell提示符已更改为“(chatgpt_cli) remote2@remotehost”。
获取您的 OpenAI API 密钥
关于如何获取 OpenAI API 就不在这里详细介绍了,很多相关的文章都有相关的介绍,拿到密钥后,请使用下面的命令为该 API 密钥创建一个环境变量。在 Linux 中,您可以使用 "export" 命令创建环境变量。请使用您在 Linux 终端中生成的实际 API 密钥替换占位符 "<your_OpenAI_API_key_here>"。这将用于使用 ChatGPT。
export OPENAI_API_KEY=<your_OpenAI_API_key_here>
使用 "env" 命令列出环境变量以验证其是否设置成功:
env
此变量仅在当前会话中暂时存储。为了永久存储 API 密钥,请使用您选择的文本编辑器打开 ".bashrc" 文件并在文件末尾添加该变量。
export OPENAI_API_KEY=<your_OpenAI_API_key_here>
添加 OpenAI API 密钥后,请保存文件并退出文本编辑器。现在,运行此命令以使更改生效:
source .bashrc
最后,使用 "env" 命令验证更改是否生效:
env
安装 ShellGPT
完成环境设置后,您现在可以在 Linux 中安装命令行版本的 ChatGPT。如果您在虚拟环境中安装它,则需要省略 "--user" 标志。现在,请使用以下命令在您的计算机上安装 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 问题,请使用以下提示:
延伸阅读:什么是 Fizz Buzz 问题?
Fizz Buzz 是一道经典的面试题,其规则如下:
从 1 开始数数,当数到 3 的倍数时,说“Fizz”代替这个数;当数到 5 的倍数时,说“Buzz”代替这个数;当数到既是 3 又是 5 的倍数时,说“FizzBuzz”代替这个数。
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 模型共享任何敏感信息或数据,特别是来自您公司的专有代码。话虽如此,请在下面的评论中让我们知道您对这个 AI 命令行工具的看法。
今天的分享就到这里,感谢你的阅读,希望能够帮助到你,文章创作不易,如果你喜欢我的分享,别忘了点赞转发,让更多有需要的人看到,最后别忘记关注「前端达人」,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。
原文:
https://beebom.com/how-use-chatgpt-linux-terminal/作者:Beebom Staff
直接翻译,有自行改编和添加部分,翻译水平有限,难免有疏漏,欢迎指正