WeClone is a Python-based project to fine-tune LLMs on chat history (including Telegram data) to create a digital avatar and deploy via chat platforms. It provides dataset prep, training commands, and browser/API inference workflows.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
WeClone offers an end-to-end solution for creating a digital avatar from chat history,Including chat data export, preprocessing, model training, and deployment. It supports fine-tuning LLMs with chat history and image data, and integration with Telegram for data sources.
How it works
The workflow includes: export chat history (Telegram), data preprocessing with privacy filtering (Presidio), dataset preparation, and fine-tuning (SFT) of a local model via settings.jsonc. It supports single and multi-GPU training, and provides browser-based inference and API server options. Configuration is centralized in settings.jsonc and can be customized for model_path, training args, and infer args.
Getting started
Environment setup steps include:
- CUDA installation (requires version 12.6 or above)
- Install dependencies via uv and create a venv:
git clone https://github.com/xming521/WeClone.git && cd WeClone
uv venv .venv --python=3.12
source .venv/bin/activate # windows .venv\Scripts\activate
uv pip install --group main -e .
- Copy configuration template:
cp examples/tg.template.jsonc settings.jsonc
- Test CUDA:
python -c "import torch; print('CUDA Available:', torch.cuda.is_available());"
- (Optional) Install FlashAttention:
uv pip install flash-attn --no-build-isolation
Model download is recommended via Hugging Face or:
git lfs install
git clone https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct models/Qwen2.5-VL-7B-Instruct
- Data prep from Telegram Desktop using Export chat history, placing JSON in ./dataset/telegram.
Recent releases
Latest releases include v0.3.03 (2026-01-04) with Python 3.12 support and dataset pipeline optimizations; v0.3.02 (2025-08-17) includes configurable thinking in offline cleaning and QA improvements; v0.3.01 (2025-07-17) adds retry_on_http_error/backoff for online LLM calls; v0.3.0 (2025-07-05) adds Telegram chat logs fine-tuning, privacy filtering via presidio, multilingual config, and vLLM inference enhancements. The sequence also lists updates in v0.2.24 (2025-06-19) including PyTorch/tensorflow version bumps and offline inference changes.
Traction
18127 stars, 1526 forks, 36 open issues.
Behind the repo
No startup/company link provided in the facts block.
Caveats
License is AGPL-3.0. Created 2024-01-31; last push 2026-08-03. Hardware guidance shows VRAM estimates per model size and method; Telegram is supported as a data source and deployment target includes WeChat, Discord, Slack, Telegram. Windows environment not rigorously tested; use WSL as runtime. Privacy filtering uses Presidio by default with a configurable blocklist in settings.jsonc. Training/inference configurations are unified in settings.jsonc.






