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

WeClone:通過微信聊天記錄微調(diào)LLM,形成個人的數(shù)字分身。

WeClone是什么?

WeClone 是一個開源項目,旨在通過微信聊天記錄微調(diào)LLM,并結(jié)合微信語音消息和大模型實(shí)現(xiàn)高質(zhì)量的聲音克隆,最終綁定到微信機(jī)器人,實(shí)現(xiàn)個人的ai數(shù)字分身。

WeClone:通過微信聊天記錄微調(diào)LLM,形成個人的數(shù)字分身。.webp

WeClone功能

  • 使用微信聊天記錄微調(diào)LLM:通過用戶自己的微信聊天記錄對語言模型進(jìn)行微調(diào),使其更符合個人的語言風(fēng)格和習(xí)慣。

  • 高質(zhì)量聲音克隆:結(jié)合微信語音消息和0.5B大模型,實(shí)現(xiàn)高質(zhì)量的聲音克隆。

  • 綁定微信機(jī)器人:將微調(diào)后的模型綁定到微信機(jī)器人,實(shí)現(xiàn)自動回復(fù)等功能,形成個人的數(shù)字分身。

WeClone特性

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

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

  • 環(huán)境搭建:通過 Git 克隆項目,使用 Conda 創(chuàng)建環(huán)境并安裝依賴。

  • 數(shù)據(jù)準(zhǔn)備:使用 PyWxDump 提取微信聊天記錄,導(dǎo)出為 CSV 格式。

  • 數(shù)據(jù)預(yù)處理:去除敏感信息,支持多種數(shù)據(jù)處理方式。

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

  • 微調(diào)模型:通過修改 settings.json 配置參數(shù),進(jìn)行單卡或多卡訓(xùn)練。

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

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

WeClone使用.webp

WeClone使用步驟

環(huán)境搭建

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

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

創(chuàng)建并激活虛擬環(huán)境:使用 Conda 創(chuàng)建一個新的 Python 環(huán)境,并激活該環(huán)境。

conda create -n weclone python=3.10
conda activate weclone

安裝依賴:進(jìn)入項目目錄,安裝項目所需的依賴包。

cd WeClone
pip install -r requirements.txt

數(shù)據(jù)準(zhǔn)備

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

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

數(shù)據(jù)預(yù)處理

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

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

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

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

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

模型下載

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

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

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

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

配置參數(shù)并微調(diào)模型

修改配置文件:訓(xùn)練以及推理相關(guān)配置統(tǒng)一在文件 settings.json 中。可以根據(jù)需要修改以下參數(shù):

修改 per_device_train_batch_size 以及 gradient_accumulation_steps 來調(diào)整顯存占用。

根據(jù)數(shù)據(jù)集的數(shù)量和質(zhì)量修改 num_train_epochs、lora_rank、lora_dropout 等參數(shù)。

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

單卡訓(xùn)練:運(yùn)行以下命令進(jìn)行 sft 階段微調(diào)。

python src/train_sft.py

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

多卡訓(xùn)練:如果有多塊顯卡,可以使用 deepspeed 進(jìn)行多卡訓(xùn)練。先安裝 deepspeed,然后運(yùn)行以下命令。

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

推理與測試

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

  • 使用接口進(jìn)行推理:運(yùn)行以下命令啟動 api 服務(wù)。

python ./src/api_service.py
  • 使用常見聊天問題測試:運(yùn)行以下命令進(jìn)行常見聊天問題的測試。

python ./src/test_model.py

部署微信聊天機(jī)器人

  • 啟動 api 服務(wù):先運(yùn)行以下命令啟動 api 服務(wù)。

python ./src/api_service.py
  • 運(yùn)行微信機(jī)器人腳本:再運(yùn)行以下命令啟動微信聊天機(jī)器人。

python ./src/wechat_bot/main.py

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

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

語音克隆模塊(WeClone-audio)

Spark-TTS 方案(推薦):

  • 導(dǎo)入相關(guān)模塊。

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

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

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

Llasa 方案:

  • 導(dǎo)入相關(guān)模塊。

from text_to_speech import TextToSpeech
  • 初始化并進(jìn)行推理。

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

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

收藏
最新工具
Chatgpt Atlas瀏覽器
Chatgpt Atlas瀏覽器

由 OpenAI 推出的 ChatGPT Atlas 是一款以 ...

一飯封神
一飯封神

一個AI菜譜生成平臺,用戶可以選擇菜系和食材,由系統(tǒng)推薦合適的菜...

幫大家PDF超能助手
幫大家PDF超能助手

一款電腦上運(yùn)行的PDF處理軟件,不用聯(lián)網(wǎng)就能用,而且永遠(yuǎn)免費(fèi)。它...

APOB AI
APOB AI

AI網(wǎng)紅生成平臺,幫用戶免費(fèi)做出個性化的AI網(wǎng)紅,讓影響力能擴(kuò)大...

OpenSpeedy
OpenSpeedy

一款開源、免費(fèi)的游戲加速器,在不修改游戲文件、不觸及內(nèi)核的情況下...

PoseManiacs
PoseManiacs

一個為藝術(shù)家們提供免費(fèi)3D姿勢參考的在線平臺,Posemania...

時光郵局
時光郵局

一個能給未來自己或別人寫信的平臺。用戶能通過它給未來寄信,信件可...

此人不存在
此人不存在

This Person Does Not Exist,一個片由A...

Dimensions
Dimensions

一個提供各種日常物體和空間標(biāo)準(zhǔn)尺寸參考的數(shù)據(jù)庫網(wǎng)站。在網(wǎng)站搜索框...

Blocky Blast Puzzle
Blocky Blast Puzzle

一款充滿趣味的方塊拼圖游戲。你可以自由放置方塊,觸發(fā)強(qiáng)力爆炸來清...

主站蜘蛛池模板: 凤翔县| 德昌县| 扶风县| 东城区| 安岳县| 涟源市| 新蔡县| 麻城市| 白银市| 洛宁县| 宝山区| 德兴市| 宕昌县| 启东市| 邻水| 西华县| 镇巴县| 巧家县| 扎兰屯市| 色达县| 静海县| 甘德县| 平江县| 玛沁县| 时尚| 柏乡县| 寿宁县| 灵山县| 中方县| 肇州县| 文山县| 台湾省| 新乐市| 平顺县| 祥云县| 方山县| 湘乡市| 夏津县| 长寿区| 渭源县| 夹江县|