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