--- 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**