150 lines
3.7 KiB
Markdown
150 lines
3.7 KiB
Markdown
|
|
---
|
|||
|
|
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**
|