首頁  >  文章  >  科技週邊  >  利用Github和Railway搭建專屬的ChatGPT

利用Github和Railway搭建專屬的ChatGPT

王林
王林轉載
2023-04-13 20:31:011893瀏覽

ChatGPT

什麼是 ChatGPT

ChatGPT 是一個基於人工神經網路技術的自然語言處理模型,由 OpenAI 開發。它可以理解和產生自然語言,用於進行對話、翻譯、文字摘要等任務。 ChatGPT 是目前最先進的自然語言處理模型之一,它使用了大量的預訓練資料和深度學習演算法來實現高品質的自然語言處理能力。

ChatGPT 的工作原理

ChatGPT 是一個基於 Transformer 模型的自然語言處理模型,其工作原理可以分為兩個階段:預訓練和微調。以下分別對這兩個階段進行詳細介紹。

  1. 預訓練階段

ChatGPT 使用了大量的文字資料進行無監督的預訓練,從而學習到了自然語言的表示方式。在這個階段中,ChatGPT 使用了一種稱為「掩碼語言建模」的技術來訓練模型。具體來說,它會將輸入的文字中的一些單字隨機掩蓋掉,然後讓模型預測這些被掩蓋掉的單字。這樣的訓練方式可以使得模型學習到單字之間的關係,從而獲得更好的語言表示能力。

  1. 微調階段

在預訓練完成後,ChatGPT 可以透過微調來適應特定的任務。例如,對於對話任務,我們可以透過給 ChatGPT 提供一些已知的對話歷史和當前回復來微調模型,從而使其能夠更好地產生有意義的回應。在微調階段中,ChatGPT 通常會使用有監督的學習方法,即使用標註的資料進行訓練,並透過最佳化損失函數來更新模型參數。總之,ChatGPT 的工作原理是透過預訓練和微調兩個階段來學習自然語言表示,並在特定任務中使用這些表示來產生有意義的輸出。

ChatGPT 的使用情境

ChatGPT 是一種通用的自然語言處理模型,它的使用情境非常廣泛。以下是一些 ChatGPT 的主要應用場景:

  1. 對話系統:ChatGPT 可以用來建立聊天機器人、智慧客服等對話系統,透過學習大量的對話資料來產生自然流暢的回應。
  2. 機器翻譯:ChatGPT 可以用來進行機器翻譯任務,即將一種語言的文字會自動翻譯成另一種語言的文字。
  3. 文字摘要:ChatGPT 可以被用來進行文字摘要任務,即從一篇較長的文章中提取出關鍵訊息,並產生一份簡潔的摘要。
  4. 問答系統:ChatGPT 可以用來建構問答系統,也就是回答使用者的問題。在這個場景下,ChatGPT 通常需要閱讀和理解輸入的問題,並透過搜尋或推理來產生答案。
  5. 文字分類:ChatGPT 可以用來進行文字分類任務,例如情緒分析、垃圾郵件偵測等。在這個場景下,ChatGPT 需要學習如何將文字對應到不同的類別。

哎,等等,這不都是說了一些廢話麼?到底用在哪呢?

這就看你具體的需求了,像是這篇文章上面的內容就是 ChatGPT 寫的。

利用Github和Railway搭建專屬的ChatGPT

也像是我叫它幫我寫一個建立 pipeline 的步驟。

利用Github和Railway搭建專屬的ChatGPT

這不比百度香?

下面就帶搭建一個不需科學上網的 ChatGPT。

註冊ChatGPT

註冊的步​​驟並不複雜,主要包含以下幾步:

  1. 註冊ChatGPT 帳號
  2. 透過簡訊接合平台[https://sms-activate.org/](https://sms-activate.org/)完成手機驗證
  3. 透過[https://chat.openai.com/chat](https: //chat.openai.com/chat)登入使用

取得API Token

帳號報名完成後,透過https://platform.openai.com/登入。

利用Github和Railway搭建專屬的ChatGPT

image.png

然後點選 Personal 取得 API Keys。

利用Github和Railway搭建專屬的ChatGPT

建立一個新的 Secret Key 即可。

利用Github和Railway搭建專屬的ChatGPT

取得 Github 程式碼

專案自己寫?

不可能!白嫖才香。

將https://github.com/Chanzhaoyu/chatgpt-web專案 fork 到自己的倉庫。

利用Github和Railway搭建專屬的ChatGPT

這不快哉?

開始部署

買伺服器?安裝軟體?安裝 Docker?

No! ! !

那樣的成本太高了。這裡我們直接用國外的部署網站,目前比較有名的:

  • fly.io
  • render.com
  • railway.app
  • vercel.com

我們選取raliway.app 來進行我們的部署工作,訪問:https://railway.app/,點擊Login,選擇Github 登錄,並進行相關授權:

利用Github和Railway搭建專屬的ChatGPT

建立專案

點選New Project。

利用Github和Railway搭建專屬的ChatGPT

然後選擇Deploy from Github repo。

利用Github和Railway搭建專屬的ChatGPT

然後選擇 chatgpt-web 專案。

利用Github和Railway搭建專屬的ChatGPT

然後點選Deploy Now即可。

部署過程中,會 Build 映像,可以查看特定的日誌。

利用Github和Railway搭建專屬的ChatGPT

但現在應用程式是無法正常啟動的,因為我們沒有設定ChatGPT API Key,報錯如下:

利用Github和Railway搭建專屬的ChatGPT

##新增配置

為了能夠正常啟動,我們需要新增OPENAI_API_KEY或OPENAI_ACCESS_TOKEN參數,我這裡使用前者,另外還要新增一個PORT參數,預設3002埠。除此之外我還加入了AUTH_SECRET_KEY參數,主要是為我們自己的 GPT 增加一層存取控制,避免任何人都能使用。

新增完成後如下:

利用Github和Railway搭建專屬的ChatGPT

我們再來看應用程式日誌,應用程式啟動成功。

利用Github和Railway搭建專屬的ChatGPT

訪問

1、我們可以在Settings 產生一個隨機域名,如下:

利用Github和Railway搭建專屬的ChatGPT# #然後就可以使用隨機的網域存取了。

利用Github和Railway搭建專屬的ChatGPT2、使用自訂域名,前提是需要自己準備一個可用的域名。

首先,新增一個自訂網域。

利用Github和Railway搭建專屬的ChatGPT然後,再增加一個 CNAME 即可。

利用Github和Railway搭建專屬的ChatGPT然後就可以對話了。

更新

如果主程式碼有更新,我們只需要到 Github 上同步最新的程式碼。

利用Github和Railway搭建專屬的ChatGPT然後 Railway 會自動更新。

關於Railway

Railway 提供5 美元,500 個小時/月的額度,用完了要么充實,要么死亡,可以根據實際情況來選擇,個人使用其實是足夠了,無外乎多搞幾個帳號。

以上是利用Github和Railway搭建專屬的ChatGPT的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除