繁中

WeCopy項目用於創建您的數位化身

項目描述:一個開源項目,旨在通過微信聊天記錄和語音消息微調大型語言模型,實現個性化的數字分身,包括文本風格和聲音克隆。
支持將微調模型與微信、QQ、企業微信、Flybook、Telegram等平台上的機器人綁定,實現跨平台數位化化身。該項目將繼續更新和疊代。

WeCopy是一個開源項目,旨在通過微信聊天記錄微調大型語言模型(LLM),實現個性化數位化身,可以作為聊天機器人部署在微信、QQ、Telegram等平台上。

項目概況

WeCyclone提供了一個完整的流程,包括:

  • 數據導出:使用PyWxDump工具提取微信聊天記錄。
  • 數據預處理:清理數據、刪除敏感信息並將其格式化為可用於模型的SON格式。
  • 模型訓練:基於ChatGLM 3 - 6 B模型,採用LoRA方法進行微調。
  • 部署和推理:通過瀏覽器Demo或API服務進行模型推理,可以部署為聊天機器人。

此外,該項目還支持語音克隆功能(WeClone-audio模塊),可以將微信語音消息與0.5B模型結合,實現高質量語音克隆。

硬體和軟體要求

硬體要求:

  • 默認使用ChatGLM 3 - 6 B型號,LoRA方法微調階段需要約16 GB的視頻內存。
  • 支持使用LLaMA Factory支持的其他模型和方法,內存消耗更少。

軟體要求:

  • Python 3.8及以上版本。
  • 所需庫:Torch、Transformers、Datasets、Accelerate、PEFT、TRL等。
  • 可選庫:CUDA、Deepspeed、Bitsandbyes、Flash-attn等。

環境建設

建議使用紫外線工具進行環境管理:

git克隆https://github.com/xming521/WeClone.git
cd WeClone
uv venv .venv --python=3.9
source .venv/bin/activate
uv pip安裝--group main -e。

數據準備和預處理

  1. 使用PyWxDump工具提取微信聊天記錄並將其輸出為CSV格式。
  2. 將輸出的CSV文件放入 ./數據/CSV 在目錄下。
  3. 運行 ./ make_dataset/CSV_to_json.py 清理和格式化數據的腳本。

默認情況下,該項目會從數據中刪除手機號碼、身份證號碼、郵箱和網站地址等敏感信息,並提供禁用單詞的詞典。 屏蔽字,您可以添加自己需要過濾的單詞。

模型下載和微調

您的首選是從Hugging Face下載ChatGLM 3模型,或使用Magic Community提供的模型。

微調配置統一在 settings.json 文件中可以根據需要修改模型路徑、訓練參數等。

單卡訓練:

pPython SRC/train_sft.py

多卡培訓:

pip安裝Deepspeed
deepspeed --num_gpus=使用的圖形卡數量SRC/train_sft.py

推理和部署

瀏覽器演示:

python ./ SRC/web_demo.py

API服務:

python ./ SRC/api_service.py

部署為聊天機器人:

註:使用微信機器人有被屏蔽的風險。建議使用小號並綁定到銀行卡。

python ./ SRC/api_service.py #啟動API服務
python ./ SRC/wechat_bot/main.py #啟動微信機器人

掃碼登錄後,可以在私聊或群聊中與@ robots互動。

項目狀態和考慮因素

  • WeCopy仍在快速疊代中,當前的效果並不代表最終的效果。
  • 微調效果很大程度上取決於聊天數據的數量和質量。
  • Windows環境尚未經過測試,建議使用WSL或Linux環境。

WeCopy項目為用戶提供從數據準備到模型部署的完整解決方案,使創建個性化數位化身成為可能。

項目地址:點擊打開(https://github.com/xming521/WeClone)

輸油管:

返回頂端