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

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

收藏
最新工具
百雀AI外貿員
百雀AI外貿員

一款專為外貿企業量身定制的AI工具,具備24小時不間斷工作能力,...

SurveyGO卷姬
SurveyGO卷姬

清華面壁智能團隊推出的AI論文寫作工具,通過自研的 LLMxMa...

AiAssistWorks
AiAssistWorks

一個在Google Workspace Marketplace上...

Aithor
Aithor

一款AI驅動的研究,AI寫作助手,可以幫助用戶生成高質量的學術和...

CodeBuddy
CodeBuddy

騰訊云代碼助手,AI時代的智能編程伙伴,支持代碼生成、補全、診斷...

FalcoCut
FalcoCut

一款功能非常實用的多語言本地化AI視頻生成與編輯工具,支持視頻翻...

Cloud Studio
Cloud Studio

騰訊云推出的在線集成開發環境(IDE),讓開發者不用在本地安裝軟...

AI外貿員Zoe
AI外貿員Zoe

百型智能推出的國內首個專注于外貿行業的垂直智能Agent,能夠根...

AnimeShorts
AnimeShorts

一個AI漫畫與動畫創作平臺,提供包括角色創建、AI 劇本優化、動...

DeckSpeed
DeckSpeed

一款由00后創業者嚴訸團隊開發的、基于Agent 架構,融合大模...

主站蜘蛛池模板: 八宿县| 溆浦县| 巩义市| 定兴县| 商丘市| 霍林郭勒市| 子洲县| 福建省| 河北区| 彩票| 湖州市| 浮山县| 阳江市| 江永县| 兰溪市| 深水埗区| 普安县| 黄浦区| 兴城市| 绥芬河市| 巩义市| 婺源县| 永仁县| 乾安县| 买车| 山丹县| 天津市| 连山| 沿河| 荣昌县| 南陵县| 大厂| 柘荣县| 靖宇县| 阳西县| 探索| 阿合奇县| 禹州市| 涟水县| 郸城县| 兰考县|