在Linux CLI中释放ChatGPT的威力:改变游戏规则的体验!🤯👩🏻‍💻

416 阅读7分钟

ChatGPT已经改变了个人与技术的接触方式。它开创了一个个性化和自然语言交流的新时代,使人们更容易完成工作,获得信息,并与他人互动。ChatGPT实现了更顺畅和有效的沟通,为世界各地的个人提供了一个更舒适和连接的环境,从客户关怀聊天机器人到语言学习应用程序。

虽然ChatGPT有一个奇妙的用户界面,但对于那些喜欢CLI而不是GUI的技术人员来说,有一些快速和简单的方法可以让它发挥作用。是的,你是对的。开发人员和当地社区已经创建了几个软件包和其他材料,使我们能够快速加载CLI。

所以让我们开始吧。

前提条件 🐣

  • 一台Linux机器或一个虚拟实例:你可以从AWS、GCP或任何其他你选择的云提供商那里获得一台Linux机器或一个虚拟实例。

  • Python和PIP软件包管理器:Python是运行ChatGPT的必要工具,因为它是建立在Python之上的,许多其他Linux工具和库也是建立在Python之上的。Python通常预装在大多数最新的Linux发行版上。

要检查Python的版本,请使用以下命令

python3 --version

进入全屏模式 退出全屏模式

如果没有安装Python3,使用命令(考虑到你是在Ubuntu上)。

sudo apt install python3 -y

进入全屏模式 退出全屏模式

PIP是一个跨平台的软件包管理器,它用于安装、升级和卸载所需的软件包。PIP通常在大多数Linux发行版中与Python一起预装。要安装 PIP,使用命令 :

sudo apt install python3-pip -y

进入全屏模式 退出全屏模式

而要检查PIP的版本,使用命令

pip3 --version

进入全屏模式 退出全屏模式

  • Venv模块(可选但推荐):venv模块对ChatGPT来说不是必需的,但建议在Linux中创建一个隔离的虚拟环境,避免与其他库冲突。要安装venv模块,请使用以下命令
sudo apt install python3-venv

进入全屏模式 退出全屏模式

而要用venv创建一个虚拟环境,使用命令

python3 -m venv <virtual_environment_name>

进入全屏模式 退出全屏模式

例如 :

python3 -m venv chatgpt_linux_cli

Enter fullscreen mode Exit fullscreen mode

  • 虚拟环境的激活:一旦你用venv创建了一个虚拟环境,它将被默认停用。要激活该虚拟环境,请使用命令
source <virtual_environment_name>/bin/activate

进入全屏模式 退出全屏模式

一旦你执行了上述命令,shell提示符就会在括号里显示虚拟环境的名称,像这样:

(<virtual_environment_name>)<username>@<system_name>

输入全屏模式 退出全屏模式

例如,运行上面的命令后,默认的Linux shell提示符将变为(chatgpt_linux_cli)。

获取你的OpenAI API密钥 🔑

要在Linux中使用ChatGPTs的产品,你需要一个OpenAI的API密钥。目前,OpenAI为测试目的提供了5美元的点数。一旦信用额度用完,就必须付款以获得API权限。然而,以下是为这个ChatGPT命令行聊天工具获取OpenAI API密钥的步骤:

  • 访问 OpenAI网站并注册一个OpenAI账户。如果你已经有一个账户,只需登录即可进入下一阶段。

  • 接下来,通过点击屏幕右上角的个人资料图片,在下拉菜单中选择查看API密钥

  • 你可以在这里查看所有以前生成的API密钥,如果有的话。点击创建新的密匙按钮,生成一个新的API密匙。

  • 你的API密钥将出现在一个新的弹出窗口中。这个API密钥不应该向公众披露或与任何人分享。你只能查看一次你的API密钥,所以一定要把它复制到安全的地方。如果你在这时点击 "确定",你将无法复制API密钥。

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

export OPENAI_API_KEY=<your_OpenAI_API_key_here>

注意:你可以用env 命令列出环境变量,来验证它。

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

进入全屏模式 退出全屏模式

  • 添加完OpenAI的API密钥后,保存文件并关闭文本编辑器。运行这个命令,使更改立即生效:
source .bashrc

进入全屏模式 退出全屏模式

注意:最后,用env命令来验证这些改变env

安装ShellGPT以使用ChatGPT

完成环境设置后,你现在可以用命令行安装Linux的ChatGPT。如果你在虚拟环境中设置安装,你必须删除--user 标志。使用下面的命令,现在在你的电脑上安装ShellGPT:

pip3 install shell-gpt --user

进入全屏模式 退出全屏模式

ShellGPT:语法和选项

既然你已经安装了ShellGPT,你一定急于利用它来完成各种任务。但首先,让我们看看它的语法和一些选项,以增加我们的输出。ShellGPT的简单语法使它可以简单地用于许多任务:

sgpt <options> <input_query>

进入全屏模式 退出全屏模式

你可以使用ShellGPT (sgpt) 聊天工具来,除此之外:

如何在Linux终端中使用ChatGPT(示例) 👩🏻💻

1.使用ShellGPT进行查询

对于任何类型的搜索,你可以利用ShellGPT作为搜索引擎。由于它是一个人工智能聊天机器人,其结果更像人类,而不是像你通常从搜索引擎得到的网页排名列表。要利用ShellGPT来检索你的查询答案,请使用以下语法:

sgpt <your_query>

进入全屏模式 退出全屏模式

例如,使用这个命令来确定太阳的质量:

sgpt "mass of sun"
# -> = 1.99 10^30 kg

输入全屏模式 退出全屏模式

2.ChatGPT聊天机器人模式 📳

如果你曾经利用ChatGPT进行过聊天,你一定认为它的反应与真人无异。由于ShellGPT的出现,你现在可以直接从你的Linux终端使用ChatGPT。只需使用chat 选项,一个特殊的会话名称和一个提示。

sgpt --chat number "please remember my favorite number: 4"
# -> I will remember that your favorite number is 4.

sgpt --chat number "what would be my favorite number + 4?"
# -> Your favorite number is 4, so if we add 4 to it, the result would be 8.

进入全屏模式 退出全屏模式

3.生成代码 🧑🏻💻

你也可以使用聊天会话,通过提供额外的线索来反复改进GPT建议。

sgpt --chat python_requst --code "make an example request to localhost using Python"


import requests
response = requests.get('http://localhost')
print(response.text)

进入全屏模式 退出全屏模式

要求AI为我们的请求添加一个缓存。

sgpt --chat python_request --code "add caching"

import requestsfrom cachecontrol import CacheControl
sess = requests.session()cached_sess = CacheControl(sess)
response = cached_sess.get('http://localhost')
print(response.text)

进入全屏模式 退出全屏模式

4.生成 Shell 命令 💻

虽然终端可以成为自动化操作和运行复杂命令的强大工具,但对于新用户来说,回忆不同Linux命令的语法和选项偶尔也是一种挑战。你可以在你的命令行上使用ChatGPT,不仅可以获得Linux命令的语法,还可以获得精确的命令以及任何必要的参数和选项。使用--shell标志,如下所示:

sgpt --chat sh --shell "What are the files in this directory?"
# -> ls
sgpt --chat sh "Sort them by name"
# -> ls | sort
sgpt --chat sh "Concatenate them using FFMPEG"
# -> ffmpeg -i "concat:$(ls | sort | tr '\n' '|')" -codec copy output.mp4
sgpt --chat sh "Convert the resulting file into an MP3"
# -> ffmpeg -i output.mp4 -vn -acodec libmp3lame -ac 2 -ab 160k -ar 48000 final_output.mp3

进入全屏模式 退出全屏模式

更多信息见:GitHubTheR1D/shell_gpt:一个由ChatGPT提供的命令行生产力工具,将帮助你更快更有效地完成任务。

结论 💭

因此,ShellGPT将ChatGPT的力量融入了你的Linux终端。对于没有经验和经验丰富的用户来说,它不仅使命令行工作更简单,而且还引入了新的功能。

此外,正如已经提到的那样,随着时间的推移,它的实用性也在增加,因为它是为了向用户学习而建立的。

不过,请记住,永远不要把你公司的机密代码或任何其他敏感数据交给任何人工智能模型。说了这么多,请在下面的评论部分分享你对这个命令行人工智能工具的看法。