WeClone: formación de dobles digitales con registros de chat y voces de WeChat
Introducción general
WeClone es un proyecto de código abierto que permite a los usuarios crear dobles digitales personalizados a partir de registros de chat y mensajes de voz de WeChat, combinados con grandes modelos lingüísticos y tecnología de síntesis de voz. El proyecto puede analizar los hábitos de chat de un usuario para entrenar el modelo, y también puede generar clones de voz realistas con un pequeño número de muestras de voz. Con el tiempo, el doble digital puede vincularse a un bot de WeChat, lo que permite responder automáticamente a texto y voz. Esta herramienta es adecuada para quienes quieran utilizar un asistente de IA en WeChat o aprender tecnología de IA. El código es totalmente público y ha atraído a muchos entusiastas de la tecnología y desarrolladores.

Lista de funciones
- Formación en registro de chatPerfeccionamiento de modelos de macrolenguaje para imitar el habla del usuario con transcripciones de chat de microcanales.
- Clonación de discursos de alta calidad: Genera sonidos con una similitud de hasta 951 TP3T utilizando un modelo paramétrico de 0,5B y una muestra de voz de 5 segundos.
- WeChat Robot EncuadernaciónConecta el split digital a WeChat para que admita respuestas automáticas de texto y voz.
- Herramientas de preprocesamiento de datosProporciona scripts para convertir los registros de chat en datos de formación, filtrando la información sensible por defecto.
- Optimización de la personalización de modelos: Admite la tecnología de ajuste fino LoRA para que el modelo sea más compatible con el idioma del usuario.
Utilizar la ayuda
WeClone requiere algunos conocimientos técnicos, como Python y Git, pero aquí tienes una guía detallada paso a paso para ayudarte a empezar, desde la instalación hasta el uso.
Proceso de instalación
- proyecto de clonación
Abre un terminal y escribe:
git clone https://github.com/xming521/WeClone.git
A continuación, vaya al directorio del proyecto:
cd WeClone
- Configuración del entorno
Se recomienda Python 3.9 para este proyecto.uv
el comando de instalación es el siguiente:
uv venv .venv --python=3.9
source .venv/bin/activate # Linux/Mac
.venv\Scripts\activate # Windows
- Instalación de dependencias
Después de activar el entorno, ejecútelo:
uv pip install --group main -e .
Nota: Esto no incluye la clonación de voz de xcodec
Dependencia, puede instalarse por separado si es necesario.
- Descargar modelos
El modelo ChatGLM3-6B se utiliza por defecto. Puede descargarse utilizando Hugging Face:
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b
Si la descarga es lenta, utiliza la comunidad Magic Hitch:
export USE_MODELSCOPE_HUB=1 # Windows 用 set
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git
Hay que sustituir el modelo Magic Match modeling_chatglm.py
para la versión Cara de Abrazo.
Preparación de datos
- Exportar registros de chat
- descargando
PyWxDump
descifrando la base de datos de Microsoft. - Haz clic en "Copia de seguridad del chat" y selecciona el formato CSV para exportar tus contactos o chats de grupo.
- Coloque el
wxdump_tmp/export/csv
Carpeta en./data/csv
. - Los datos del ejemplo están en
data/example_chat.csv
.
- Tratamiento de datos
Pasa el script a formato JSON:
./make_dataset/csv_to_json.py
Filtrado por defecto de información sensible como números de teléfono móvil y DNI. Se encuentra en la sección blocked_words.json
Al añadir una palabra prohibida se elimina toda la frase que la contiene.
Ajuste de modelos
- Parámetros de configuración
- compilador
settings.json
especifique la ruta del modelo. - adaptar
per_device_train_batch_size
responder cantandogradient_accumulation_steps
Adaptación de la memoria de vídeo. - Ajuste al volumen de datos
num_train_epochs
(rondas) ylora_rank
evitando el sobreajuste.
- formación con una tarjeta
python src/train_sft.py
Los autores entrenaron con 20.000 datos y la pérdida bajó a 3,5 con buenos resultados.
- Formación Doka
Instala DeepSpeed:
uv pip install deepspeed
Ejecute el entrenamiento multitarjeta (sustituya "Número de tarjetas gráficas utilizadas"):
deepspeed --num_gpus=使用显卡数量 src/train_sft.py
clonación de voz
- Prepara un mensaje de voz WeChat de más de 5 segundos para poner en
WeClone-audio
Carpeta. - Ejecute las secuencias de comandos pertinentes (requiere instalación)
xcodec
), el sonido generado se guarda en esa carpeta. - La voz conserva la entonación y la emoción, con una similitud de hasta 951 TP3T.
Robot WeChat vinculante
- Despliegue de AstrBot
- Descarga e instala AstrBot (compatible con WeChat, QQ y otras plataformas).
- Configurar la plataforma de mensajería (por ejemplo, WeChat).
- Iniciar el servicio API
python src/api_service.py
La dirección por defecto es http://172.17.0.1:8005/v1
.
- Configuración de AstrBot
- Añade un proveedor de servicios y selecciona OpenAI para Tipo.
- API URL base para dirección local, modelo para
gpt-3.5-turbo
. - Cerrar la llamada a la herramienta: enviar comando
/tool off reminder
. - Establezca una palabra de aviso del sistema que sea coherente con la utilizada para el ajuste fino.
requisitos de hardware
- El ajuste fino por defecto con ChatGLM3-6B y LoRA requiere 16 GB de memoria de vídeo.
- Otras opciones:
- QLoRA (precisión de 4 bits): de 6 GB (modelo 7B) a 48 GB (modelo 70B).
- Recorte paramétrico completo (16 bits): de 60 GB (7 B) a 600 GB (70 B).
- Se recomienda GPU, la falta de memoria de vídeo se puede ajustar a menor precisión o utilizar una multitarjeta.
Trucos y consejos
- La cantidad de datos es de al menos 2.000 entradas; cuanto mayor sea la calidad, mejor.
- Las muestras de voz deben ser claras y evitar el ruido de fondo.
- Modelo de prueba disponible
web_demo.py
tal veztest_model.py
.
Una vez hecho esto, tu doble digital podrá chatear automáticamente y responder por voz en WeChat con resultados muy parecidos a los de la persona.
escenario de aplicación
- Asistente diario
La división digital puede ayudarte a responder a los mensajes de WeChat, por ejemplo respondiendo automáticamente al saludo de un amigo cuando estás ocupado. - Prácticas tecnológicas
Los desarrolladores pueden utilizarlo para aprender grandes modelos lingüísticos y técnicas de clonación del habla, y el código es abierto para la experimentación práctica. - Diversión interactiva
Deja que el doble digital chatee con tus amigos con tu voz y tono para mayor entretenimiento.
CONTROL DE CALIDAD
- ¿Qué ocurre cuando la cantidad de datos es baja?
Menos de 2000 datos pueden dar lugar a modelos inexactos, por lo que se recomienda preparar más diálogos y un discurso claro. - ¿Puede ejecutarlo un ordenador normal?
Requiere una GPU con 16 GB de memoria de vídeo, lo que puede no ser posible en un ordenador normal, así que pruébalo en modo de baja precisión. - ¿En qué se parecen los clones sonoros?
Las voces generadas con las muestras de 5 segundos tenían una similitud de 951 TP3T, con entonación y emoción naturales.
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...