拋開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命令列工具的看法。
評論留言