我爱我色成人网,欧美日韩国产色,欧美亚视频在线中文字幕免费,亚洲国产影院

WeClone:通過微信聊天記錄微調LLM,形成個人的數字分身。

WeClone是什么?

WeClone 是一個開源項目,旨在通過微信聊天記錄微調LLM,并結合微信語音消息和大模型實現高質量的聲音克隆,最終綁定到微信機器人,實現個人的ai數字分身。

WeClone:通過微信聊天記錄微調LLM,形成個人的數字分身。.webp

WeClone功能

  • 使用微信聊天記錄微調LLM:通過用戶自己的微信聊天記錄對語言模型進行微調,使其更符合個人的語言風格和習慣。

  • 高質量聲音克隆:結合微信語音消息和0.5B大模型,實現高質量的聲音克隆。

  • 綁定微信機器人:將微調后的模型綁定到微信機器人,實現自動回復等功能,形成個人的數字分身。

WeClone特性

  • 硬件要求:默認使用 chatglm3-6b 模型,LoRA 方法微調需要約16GB顯存。其他模型和方法可自行配置。

  • 軟件要求:推薦使用 Python 3.10,以及特定版本的 PyTorch、Transformers 等庫。

  • 環境搭建:通過 Git 克隆項目,使用 Conda 創建環境并安裝依賴。

  • 數據準備:使用 PyWxDump 提取微信聊天記錄,導出為 CSV 格式。

  • 數據預處理:去除敏感信息,支持多種數據處理方式。

  • 模型下載:推薦從 Hugging Face 或魔搭社區下載 ChatGLM3 模型。

  • 微調模型:通過修改 settings.json 配置參數,進行單卡或多卡訓練。

  • 推理與測試:提供瀏覽器 demo 和接口推理功能,支持常見聊天問題測試。

  • 微信機器人部署:通過掃碼登錄,支持私聊和群聊中的機器人交互。

WeClone使用.webp

WeClone使用步驟

環境搭建

克隆項目:在終端中運行以下命令,將 WeClone 項目克隆到本地。

git clone https://github.com/xming521/WeClone.git

創建并激活虛擬環境:使用 Conda 創建一個新的 Python 環境,并激活該環境。

conda create -n weclone python=3.10
conda activate weclone

安裝依賴:進入項目目錄,安裝項目所需的依賴包。

cd WeClone
pip install -r requirements.txt

數據準備

  • 提取微信聊天記錄:使用 PyWxDump 軟件提取微信聊天記錄。下載并安裝該軟件,解密數據庫后,點擊聊天備份,導出類型選擇為 CSV。可以導出多個聯系人或群聊的聊天記錄。

  • 放置數據:將導出的位于 wxdump_tmp/export 的 csv 文件夾放在項目目錄下的 ./data 目錄中,即不同人聊天記錄的文件夾一起放在 ./data/csv。示例數據位于 data/example_chat.csv。

數據預處理

  • 去除敏感信息:項目默認會去除數據中的手機號、身份證號、郵箱、網址等敏感信息。此外,還提供了一個禁用詞詞庫 blocked_words,可以自行添加需要過濾的詞句,程序會默認去掉包含禁用詞的整句。

  • 處理數據格式:執行 ./make_dataset/csv_to_json.py 腳本對數據進行處理。在同一人連續回答多句的情況下,可以選擇以下三種處理方式之一:

  • 使用 csv_to_json.py:將多句回答用逗號連接。

  • 使用 csv_to_json-單句回答.py(已廢棄):只選擇最長的回答作為最終數據。

  • 使用 csv_to_json-單句多輪.py:將多句回答放在提示詞的 'history' 中。

模型下載

首選 Hugging Face:在 Hugging Face 下載 ChatGLM3 模型。如果在 Hugging Face 模型的下載中遇到問題,可以使用魔搭社區的模型。

使用魔搭社區:如果選擇使用魔搭社區的模型,需要先執行以下命令來使用魔搭社區的模型。

export USE_MODELSCOPE_HUB=1 # Windows 使用 `set USE_MODELSCOPE_HUB=1`
git lfs install
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

注意:魔搭社區的 modeling_chatglm.py 文件需要更換為 Hugging Face 的。

配置參數并微調模型

修改配置文件:訓練以及推理相關配置統一在文件 settings.json 中。可以根據需要修改以下參數:

修改 per_device_train_batch_size 以及 gradient_accumulation_steps 來調整顯存占用。

根據數據集的數量和質量修改 num_train_epochs、lora_rank、lora_dropout 等參數。

(可選)修改 settings.json 選擇本地下載好的其他模型。

單卡訓練:運行以下命令進行 sft 階段微調。

python src/train_sft.py

作者說他本人的 loss 只降到了 3.5 左右,降低過多可能會過擬合,其使用了大概 2 萬條整合后的有效數據。

多卡訓練:如果有多塊顯卡,可以使用 deepspeed 進行多卡訓練。先安裝 deepspeed,然后運行以下命令。

pip install deepspeed
deepspeed --num_gpus=使用顯卡數量 src/train_sft.py

推理與測試

使用瀏覽器 demo 簡單推理:項目提供了瀏覽器 demo,可以進行簡單的推理測試。

  • 使用接口進行推理:運行以下命令啟動 api 服務。

python ./src/api_service.py
  • 使用常見聊天問題測試:運行以下命令進行常見聊天問題的測試。

python ./src/test_model.py

部署微信聊天機器人

  • 啟動 api 服務:先運行以下命令啟動 api 服務。

python ./src/api_service.py
  • 運行微信機器人腳本:再運行以下命令啟動微信聊天機器人。

python ./src/wechat_bot/main.py

默認在終端顯示二維碼,掃碼登錄即可。可以私聊或者在群聊中 @ 機器人使用。

注意事項:微信有封號風險,建議使用小號,并且必須綁定銀行卡才能使用。

語音克隆模塊(WeClone-audio)

Spark-TTS 方案(推薦):

  • 導入相關模塊。

import SparkTTS
from SparkTTS import SparkTTS
  • 初始化模型。

model = SparkTTS("WeClone-audio/pretrained_models/Spark-TTS-0.5B", "cuda")
  • 進行語音克隆推理。

with torch.no_grad():
wav = model.inference(
text="要生成的文本內容",
prompt_speech_path="示例音頻路徑",
prompt_text="示例音頻對應的文本",
)

Llasa 方案:

  • 導入相關模塊。

from text_to_speech import TextToSpeech
  • 初始化并進行推理。

tts = TextToSpeech(sample_audio_path, sample_audio_text)
result = tts.infer("要生成的文本內容")

Github地址:https://github.com/xming521/WeClone

收藏
最新工具
Atypica AI
Atypica AI

特贊科技推出的商業研究AI多智能體,只要是通過模擬真實消費者行為...

AutoCoder
AutoCoder

AIGCode推出的自稱是全球首個全棧AI編程工具,它可以過自然...

Wayback Machine
Wayback Machine

一個免費的網頁歷史存檔和查詢工具,可以能保存不同時間點的網頁內容...

RunningHub
RunningHub

一個基于云端ComfyUI的高可用性平臺,提供在線開發工作流、發...

繪蛙AI高清修復
繪蛙AI高清修復

智能修復圖片模糊問題,一鍵拯救渣畫質,如何把圖片高清修復? 去看...

Unlucid AI
Unlucid AI

一個免費無審查的 AI 工具,提供包括視頻博主視頻制作、圖像生成...

SuperClaude
SuperClaude

SuperClaude 是一個為 Claude Code 量身打...

 WisFile
WisFile

電腦本地運行的免費 AI 工具,專門解決文件命名亂、歸類雜、手動...

GreenVideo
GreenVideo

一個無次數限制的視頻下載平臺,免費、穩定、速度快,支持全球100...

證件星
證件星

一個在線 AI 智能證件照制作工具,小白也能輕松上手,十秒就能做...

主站蜘蛛池模板: 张北县| 萝北县| 林周县| 汤阴县| 大邑县| 当雄县| 上栗县| 新竹县| 云浮市| 榆林市| 水富县| 聂拉木县| 溆浦县| 沧州市| 高阳县| 东丽区| 五大连池市| 惠来县| 昌宁县| 新津县| 闽侯县| 高安市| 怀宁县| 灵寿县| 隆安县| 漯河市| 元朗区| 凤阳县| 九寨沟县| 尉氏县| 西贡区| 麟游县| 鄂伦春自治旗| 常宁市| 蒲城县| 聂拉木县| 女性| 宁波市| 奈曼旗| 高雄县| 阳原县|