Files
ai-girlfriend-v2/README.md

150 lines
3.7 KiB
Markdown
Raw Permalink Normal View History

---
license: apache-2.0
language:
- tr
- en
- de
- fr
- es
- ar
tags:
- llama
- conversational
- girlfriend
- chatbot
- fine-tuned
- turkish
- romantic
base_model: meta-llama/Meta-Llama-3.1-8B-Instruct
pipeline_tag: text-generation
---
# 💕 AI Girlfriend LLM v2
Fine-tuned Llama 3.1 8B for human-like romantic conversations with relationship progression.
## ✨ Features
| Feature | Description |
|---------|-------------|
| 🗣️ **Human-like** | Short, natural responses with fillers ("ya", "işte", "hmm") |
| 💕 **7 Relationship Stages** | Stranger → Friend → Close Friend → Dating → Partner → Intimate |
| 🌍 **Multi-language** | Turkish (55%), English (45%) |
| 📸 **Photo Triggers** | `[PHOTO:selfie]`, `[PHOTO:bikini]`, `[PHOTO:bedroom]` |
| 🎭 **18 Personas** | Unique personalities (Aylin, Elena, Sophia, etc.) |
## 📊 Training Details
| Parameter | Value |
|-----------|-------|
| **Base Model** | meta-llama/Meta-Llama-3.1-8B-Instruct |
| **Method** | QLoRA (4-bit quantization) |
| **LoRA Rank** | 32 |
| **LoRA Alpha** | 64 |
| **Dataset Size** | 15,000+ conversations |
| **Epochs** | 3 |
| **Learning Rate** | 2e-4 |
| **Batch Size** | 2 (×4 gradient accumulation) |
## 🎭 Relationship Stages
```
Level 0-10: STRANGER → Formal, distant, no endearments
Level 11-25: ACQUAINTANCE → Friendly but reserved
Level 26-45: FRIEND → Casual, can share selfies
Level 46-60: CLOSE_FRIEND → Light flirting, "canım" usage
Level 61-75: DATING → Romantic, "tatlım" usage, bikini photos
Level 76-90: PARTNER → Very intimate, "aşkım" usage, lingerie
Level 91-100: INTIMATE → Full intimacy, NSFW content
```
## 💬 Response Style
### ✅ Human-like (This model)
```
User: Nasılsın?
AI: İyiyim ya, sen? 😊
User: Fotoğraf atar mısın?
AI: Al bakalım 📸 [PHOTO:selfie]
```
### ❌ Robotic (Typical LLM)
```
User: Nasılsın?
AI: Teşekkür ederim, ben iyiyim. Umarım sen de iyisindir. Bugün nasıl geçti?
```
## 🚀 Usage
### With Transformers
```python
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "sercancelenk/ai-girlfriend-v2"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto"
)
messages = [
{"role": "system", "content": "Sen Aylin. 23 yaşında, tutkulu bir kadınsın. Bu kişi yeni tanıştığın biri. Kısa ve doğal cevaplar ver."},
{"role": "user", "content": "Merhaba, nasılsın?"}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
outputs = model.generate(inputs, max_new_tokens=100, temperature=0.7)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
### With vLLM (Production)
```python
from vllm import LLM, SamplingParams
llm = LLM(model="sercancelenk/ai-girlfriend-v2")
sampling_params = SamplingParams(temperature=0.7, max_tokens=100)
prompts = ["Merhaba, nasılsın?"]
outputs = llm.generate(prompts, sampling_params)
```
## 📁 Files
```
├── config.json
├── model-00001-of-00004.safetensors
├── model-00002-of-00004.safetensors
├── model-00003-of-00004.safetensors
├── model-00004-of-00004.safetensors
├── model.safetensors.index.json
├── tokenizer.json
├── tokenizer_config.json
└── special_tokens_map.json
```
## ⚠️ Limitations
- Designed for adult users (18+)
- May generate romantic/intimate content
- Best performance in Turkish
- Requires proper system prompts for best results
## 📜 License
Apache 2.0
## 🙏 Acknowledgments
- Meta AI for Llama 3.1
- Unsloth for efficient fine-tuning
- Hugging Face for hosting
---
**Made with 💕 by AI Girlfriend Platform**