lad gpt
October 2023 Release
此儲存庫有助於僅基於 WhatsApp 聊天訊息的字元級或單字級語言模型的訓練。模型訓練結束後,人們可以在 Whatsapp 聊天群組上與受過訓練的人開始一場綜合對話。
assets/input/chat.txt
只是一個佔位符,將替換為實際的聊天訊息語料庫。 |-- assets
| |-- input
| | |-- chat.txt
| |-- output
| | |-- contacts.txt
| | |-- vocab.txt
| | |-- train.pt
| | |-- valid.pt
| |-- models
| | |--model.pt
|-- src
| |-- chat.py
| |-- model.py
| |-- preprocess.py
| |-- train.py
| |-- utils.py
|-- config.py
|-- run.py
assets/input/chat.txt:
輸入檔案需要是匯出的 WhatsApp 聊天記錄(無媒體)。assets/output/:
編碼的訓練/驗證資料和訓練後的模型將被寫入此位置。assets/models/model.pt:
經過訓練的 pytorch 模型物件。src/preprocess.py:
將聊天訊息轉換為編碼的 PyTorch 張量。資料分為訓練集和驗證集。src/model.py:
定義語言模型類別。src/train.py:
包含用於訓練語言模型的程式碼。src/chat.py:
包含與模型進行對話互動的函數。src/utils.py:
其他有用的實用函數。run.py:
帶有參數解析器的主腳本,用於呼叫三個操作(「預處理」、「訓練」、「聊天」)中的任何一個。config.py:
記錄預處理和模型訓練的參數。 git clone https://github.com/bernhard-pfann/lad-gpt.git
cd lad-gpt
pip install -r requirements.txt
要充分利用此項目,您需要一個包含 WhatsApp 聊天訊息的 .txt 檔案。以下是將 WhatsApp 群組聊天匯出到 .txt 檔案的步驟:
取得 .txt 檔案後,將其放置在assets/input
目錄中,名為chat.txt
。然後你就可以出發了!
輸入資料到位後,需要將聊天內容編碼為數值張量。編碼資料也分為訓練集和驗證集:
python run.py preprocess
僅基於編碼的聊天資料從頭開始訓練語言模型。如果您想繼續訓練已有的模型,請設定--update
。
python run.py train --update
要與經過訓練的模型發起聊天:
python run.py chat