❗ 新版的GPT-Shell叫做Erin!請訪問艾琳的網站以了解更多資訊! ❗ |
---|
GPT-Shell 是一個基於 OpenAI 的聊天機器人,類似於 OpenAI 的 ChatGPT。
它允許用戶與虛擬伴侶交談。它使用 Nodejs 和 TypeScript 以及現代紗線來創建無縫的對話體驗。
它還可以根據您的對話生成圖像!
您可以在官方 Discord 伺服器上嘗試機器人:
要與 GPT-Shell 交互,使用者可以:
/chat-gpt
指令開始與機器人對話/chat-gpt
指令將啟動一個新的對話線程,每當使用者輸入內容時,機器人就會做出回應。
該機器人能夠同時處理多個對話,因此您可以根據需要啟動任意多個對話。
在這裡設置一個不和諧的機器人並將其添加到您的伺服器。
適用範圍:
機器人權限:
您還需要啟用訊息內容意圖:
您可以嘗試在此 fork replit
或者您可以在您的機器上進行設定。
Nodejs:(18或以上)
Yarn:(安裝nodejs後)
pm2:即使在殺死你的終端後也能讓你的機器人保持活力。
要使用 GPT-Shell,您需要:
git clone https://github.com/firtoz/GPT-Shell.git
cd GPT-Shell
(在 Windows 中,右鍵單擊資料夾中的某處並選擇「在終端機中開啟」)如果您看到有關 powershell 的內容,請鍵入cmd
並按 Enter 鍵,轉到更簡單的命令列終端。
yarn install
GPT-Shell 正常工作需要下列環境變數。
您可以按照您喜歡的任何方式設定環境變量,或者將 .env.local 檔案放置在專案的根目錄中(將example.env.local
重命名為.env.local
),確保您的.env.local
如下所示:
# MongoDB:
MONGODB_URI=
DB_NAME=CHAT_DB
# Bot Token from Discord:
BOT_TOKEN=
# Commands:
COMMAND_NAME=chat-gpt
PRIVATE_COMMAND_NAME=chat-gpt-private
CONFIG_COMMAND_NAME=chat-gpt-config
CUSTOM_PROMPT_COMMAND_NAME=chat-gpt-prompt
DRAW_COMMAND_NAME=draw-gpt
# Discord Server Details:
MAIN_SERVER_ID=
LOG_CHANNEL_ID=
MAIN_SERVER_INVITE=
ADMIN_PING_ID=
USE_SAME_API_KEY_FOR_ALL=false
IGNORE_INIT=false
MongoDB:
CHAT_DB
或任何您喜歡的東西。機器人令牌:
命令:
不和諧伺服器詳細資訊:
MAIN_SERVER_ID:機器人所在的 Discord 伺服器
LOG_CHANNEL_ID:(可選)日誌訊息的通道
MAIN_SERVER_INVITE:(可選)理想的不會過期的伺服器邀請連結(如果您希望用戶將機器人新增至他們的伺服器)
USE_SAME_API_KEY_FOR_ALL:(可選)當設定為「true」時,它將允許任何伺服器或使用者使用機器人,而無需提供自己的 API 金鑰。
ADMIN_PING_ID:機器人擁有者的 Discord ID(就是你!)
用於讓您發送一些特殊命令並配置機器人。
IGNORE_INIT:(可選)當設定為「true」時,啟動時不會檢查活動執行緒是否有新訊息,因為機器人上次在線上。如果您位於許多伺服器中,則可能有許多活動線程,因此會達到速率限制。在這種情況下,最好在訊息到來時對其進行處理,而不是一次檢查多個執行緒。
附加功能:
WOLFRAM_APP_ID:用於 Wolfram Alpha 功能。
可以在 https://developer.wolframalpha.com/portal/myapps 建立應用程式並取得其 id。
如上所述設定環境變數。
用紗線:
yarn global add pm2
使用 npm:
npm install pm2 -g
對於 debian,使用安裝腳本:
apt update && apt install sudo curl && curl -sL https://raw.githubusercontent.com/Unitech/pm2/master/packager/setup.deb.sh | sudo -E bash -
yarn dev
這樣,每當您更改程式碼時,它都會重新啟動機器人進行更新。
yarn build
進而
yarn start
您也可以執行npm start
或npm run start
來啟動機器人。
注意:執行yarn start
、 npm start
或npm run start
將使用PM2啟動機器人,並將其命名為「GPT-Shell」。您可以在 package.json 中將“GPT-Shell”替換為您選擇的名稱。它還將顯示 PM2 運行進程的日誌並保存它們。
如果您在開發環境中,請使用node .
測試你的程式碼:
node .
一旦您對更改感到滿意,請運行:
pm2 restart GPT-Shell && pm2 logs
要停止機器人,請運行:
yarn run stop
您也可以從 pm2.io 儀表板重新啟動它,如下所示:
轉到您的伺服器,鍵入 config 命令,然後使用 config.json 設定伺服器的 API 金鑰。
/chat-gpt-config
從2.0.0開始,機器人具備了長期記憶的能力。
此功能是實驗性的,但內部測試表明它對於典型對話非常有效。
由於令牌限制,如果對話有很長的程式碼,效果就不太好。
工作原理:
為了能夠進行設置,請在主伺服器上使用 config 命令:
/chat-gpt-config
然後輸入松果配置詳細資料。
您可以在 https://app.pinecone.io/ 建立帳戶。
如果你做得正確,你應該會看到類似這樣的東西:
預設情況下,機器人的行為就像一個樂於助人的軟體工程師。
如果您希望機器人有不同的行為,您可以使用自訂提示。
這可以在專用於機器人的新通道、新的對話線程或 DM 中完成。
如果您有權限,可以使用/chat-gpt-prompt
命令,並且可以透過填寫表單為機器人設定自訂提示。
此指令可用於:
溫度與OpenAI的溫度參數相同。 0 表示它變得重複,1 表示它變得有點混亂。 GPT-Shell 的預設值為 0.8。
我們歡迎對 GPT-Shell 做出貢獻。如果您對新功能有想法或發現錯誤,請在 GitHub 上提出問題。我們也將感謝任何贊助或捐贈。
您可以透過我們的 GitHub 贊助商頁面贊助我們。
GPT-Shell 是根據 MIT 許可證發布的。