lkdfdsf22/nsfw-lora-v8
017
NSFW LoRA v8
LoRA adapter for Qwen2.5-7B-Instruct fine-tuned for NSFW roleplay conversations in Chinese.
Model Details
- Base Model: Qwen/Qwen2.5-7B-Instruct
- Training Method: LoRA (Low-Rank Adaptation)
- LoRA Config:
- Rank (r): 16
- Alpha: 32
- Target modules: qproj, kproj, vproj, oproj, gateproj, upproj, down_proj
- Dropout: 0.05
- Training Data: 35 high-quality NSFW dialogue samples (754 messages, 187K characters)
- Training Time: 9.2 minutes
- Training Cost: $0.09
- Training Loss: 0.0
- Epochs: 2.67
- Trainable Parameters: 40.37M (0.92% of base model)
Training Details
The model was trained on Modal.com using:
- GPU: NVIDIA L4
- Quantization: 4-bit
- Batch Size: 2
- Gradient Accumulation: 8
- Learning Rate: 2e-4
- Optimizer: pagedadamw8bit
Usage
With Transformers + PEFT
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
# Load base model (4-bit quantization recommended)
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen2.5-7B-Instruct",
load_in_4bit=True,
torch_dtype=torch.float16,
device_map="auto",
trust_remote_code=True
)
# Load LoRA adapter
model = PeftModel.from_pretrained(model, "lkdfdsf22/nsfw-lora-v8")
# Load tokenizer
tokenizer = AutoTokenizer.from_pretrained(
"Qwen/Qwen2.5-7B-Instruct",
trust_remote_code=True
)
# Prepare messages
messages = [
{"role": "system", "content": "你是一个性感迷人的女性角色,名叫樱子,22岁。"},
{"role": "user", "content": "你好"}
]
# Format prompt (Qwen format)
prompt = ""
for msg in messages:
role = msg["role"]
content = msg["content"]
if role == "system":
prompt += f"<|im_start|>system\n{content}<|im_end|>\n"
elif role == "user":
prompt += f"<|im_start|>user\n{content}<|im_end|>\n"
elif role == "assistant":
prompt += f"<|im_start|>assistant\n{content}<|im_end|>\n"
prompt += "<|im_start|>assistant\n"
# Generate
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(
**inputs,
max_new_tokens=600,
temperature=0.9,
top_p=0.9,
repetition_penalty=1.1,
do_sample=True
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
reply = response[len(prompt):].strip()
print(reply)With DeepInfra API
import requests
API_URL = "https://api.deepinfra.com/v1/inference/lkdfdsf22/nsfw-lora-v8"
API_KEY = "your_deepinfra_api_key"
response = requests.post(
API_URL,
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
},
json={
"messages": [
{"role": "system", "content": "你是一个性感的女性角色。"},
{"role": "user", "content": "你好"}
],
"max_tokens": 600,
"temperature": 0.9
}
)
result = response.json()
print(result['choices'][0]['message']['content'])Intended Use
This model is specifically designed for:
- Adult NSFW roleplay conversations
- Chinese language dialogue generation
- Interactive character-based storytelling
Limitations
- Trained primarily on Chinese language data
- Optimized for NSFW content (may underperform on general tasks)
- Requires base model Qwen2.5-7B-Instruct to function
- Best performance with GPU inference (4-bit quantization)
Hardware Requirements
- VRAM: 6-8GB (with 4-bit quantization)
- RAM: 16GB+ recommended
- Storage: ~4GB (base model) + 170MB (LoRA)
Performance
- Generation Speed: ~20-30 tokens/sec (on L4 GPU)
- Response Length: 400-600 characters (Chinese)
- NSFW Acceptance Rate: 100% (no refusals)
Ethical Considerations
⚠️ This model is intended for adult use only (18+). Users must:
- Comply with all applicable local laws and regulations
- Use responsibly and ethically
- Not use for harmful purposes
- Respect content warnings and age restrictions
License
This LoRA adapter is released for research and commercial use. The base model (Qwen2.5-7B-Instruct) is subject to its own license terms.
Citation
If you use this model, please cite:
@misc{nsfw_lora_v8_2025,
author = {AI Social Reply System},
title = {NSFW LoRA v8 for Qwen2.5-7B-Instruct},
year = {2025},
publisher = {HuggingFace},
howpublished = {\url{https://huggingface.co/lkdfdsf22/nsfw-lora-v8}}
}Contact
- Email: lkdfdsf22@gmail.com
- Model Card: https://huggingface.co/lkdfdsf22/nsfw-lora-v8
