MeTalks is a personalized NLP chatbot trained on my own WhatsApp conversations to generate replies in my writing style. The project focuses on conversational language modeling, style adaptation, and practical deployment using a lightweight language model.
- Trained a causal language model on anonymized WhatsApp chat data
- Learns conversational tone, phrasing, and reply patterns
- Generates short and long replies depending on prompt and decoding strategy
- Supports English and Hinglish responses
- Deployed using a Streamlit web interface
The goal of this project was to:
- Understand conversational NLP using real-world data
- Explore writing-style imitation instead of factual QA
- Learn fine-tuning, inference control, and deployment
- Build an end-to-end, interview-ready data science project
- Python
- PyTorch
- Hugging Face Transformers
- Streamlit
- NLP (Causal Language Modeling)
- Source: Exported WhatsApp chat (.txt)
- Messages: ~11,000+
- Two participants (friend → me)
- Fully anonymized
- Used strictly for educational purposes
- Base Model: DistilGPT-2
- Fine-tuned for conversational reply generation
- Training Objective: Causal Language Modeling
- Response length and style controlled via prompt engineering
Model weights are not included due to privacy and size constraints.
MeTalks/ │ ├── data/ │ └── chat.txt │ ├── notebook/ │ └── MeTalks.ipynb │ ├── app/ │ └── app.py │ ├── .gitignore ├── README.md └── requirements.txt
pip install -r requirements.txt
streamlit run app/app.pyNote: Trained model weights must be available locally.
- Conversational data preprocessing
- Fine-tuning small language models
- Prompt engineering for response control
- Managing private ML assets with Git
- Deploying NLP models using Streamlit
- Model reflects biases in training data
- Short replies dominate due to WhatsApp-style chats
- Not designed for factual question answering
- Response length toggle
- Context-aware conversation memory
- Cloud or Docker deployment
Aaqib Abdullah