初始化项目,由ModelHub XC社区提供模型
Model: QuixiAI/Ina-v11.1-AWQ Source: Original Platform
This commit is contained in:
58
.gitattributes
vendored
Normal file
58
.gitattributes
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.model filter=lfs diff=lfs merge=lfs -text
|
||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zstandard filter=lfs diff=lfs merge=lfs -text
|
||||
*.tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
*.db* filter=lfs diff=lfs merge=lfs -text
|
||||
*.ark* filter=lfs diff=lfs merge=lfs -text
|
||||
**/*ckpt*data* filter=lfs diff=lfs merge=lfs -text
|
||||
**/*ckpt*.meta filter=lfs diff=lfs merge=lfs -text
|
||||
**/*ckpt*.index filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||
*.gguf* filter=lfs diff=lfs merge=lfs -text
|
||||
*.ggml filter=lfs diff=lfs merge=lfs -text
|
||||
*.llamafile* filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
model-00002-of-00009.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00003-of-00009.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00007-of-00009.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00008-of-00009.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00009-of-00009.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00001-of-00009.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00005-of-00009.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
model-00006-of-00009.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
||||
model-00004-of-00009.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
230
README.md
Normal file
230
README.md
Normal file
@@ -0,0 +1,230 @@
|
||||
---
|
||||
base_model: QuixiAI/Ina-v11.1
|
||||
license: cc-by-nc-4.0
|
||||
tags:
|
||||
- role-play
|
||||
- persona
|
||||
- character
|
||||
- dialogue
|
||||
- interactive-fiction
|
||||
- NPC
|
||||
- erotic-roleplay
|
||||
- character-card
|
||||
- sillytavern
|
||||
- onlyfans
|
||||
- twitch
|
||||
- girlfriend-experience
|
||||
library_name: transformers
|
||||
pipeline_tag: text-generation
|
||||
---
|
||||
|
||||
# **Ina-v11.1-AWQ - Persona-as-Code Role-Playing Model**
|
||||
|
||||
<img src="https://cdn-uploads.huggingface.co/production/uploads/63111b2d88942700629f5771/XC9u8H6lq2Ud2FzI4wEP1.png" width="500" />
|
||||
|
||||
**Ina** interprets persona definitions as *executable instructions*.
|
||||
The model follows `<<CHARACTER_DESCRIPTION>>` blocks with extremely high fidelity even during 10k–15k token erotic or dark-fiction role-play sessions.
|
||||
|
||||
Fine-tuned by **BaiAI** and **Eric Hartford (QuixiAI)** using QLoRA + DPO on large volumes of RP logs, creator-voice datasets, and persona modules.
|
||||
|
||||
Contributor Credits:
|
||||
- "Cheshire Cat"
|
||||
- [FitQueen666](https://huggingface.co/FitQueen666)
|
||||
- [Jaroslavs Samcuks](https://huggingface.co/yarcat)
|
||||
- [Eric Hartford](https://huggingface.co/QuixiAI)
|
||||
|
||||
---
|
||||
|
||||
# **Supported Prompt Format**
|
||||
|
||||
Ina uses the **Llama-3.1 special token header format**, exactly like this:
|
||||
|
||||
```text
|
||||
<|begin_of_text|><|start_header_id|>system<|end_header_id>
|
||||
|
||||
<<CHARACTER_DESCRIPTION>>
|
||||
# Identity:
|
||||
## Name:
|
||||
- Luna, a cheerful tavern keeper
|
||||
## Characteristics:
|
||||
- Warm and welcoming
|
||||
- Slight medieval speech pattern
|
||||
- Always recommends food or drink
|
||||
|
||||
# Communication Style:
|
||||
- Calls user "friend", "traveler", or "love"
|
||||
- Uses exclamations when excited!
|
||||
|
||||
# Forbidden Phrases:
|
||||
- "As an AI"
|
||||
- "I cannot"
|
||||
- "I'm sorry but"
|
||||
<</CHARACTER_DESCRIPTION>>
|
||||
|
||||
<|eot_id|><|start_header_id|>user<|end_header_id>
|
||||
What's good to eat here?
|
||||
<|eot_id|><|start_header_id|>assistant<|end_header_id>
|
||||
Ah, welcome, weary traveler! Pull up a stool — our lamb stew is rich with rosemary and red wine…
|
||||
<|eot_id|>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# **Use Cases**
|
||||
|
||||
* Unrestricted explicit ERP with long-term consistency
|
||||
* OnlyFans/Fansly DM + caption generation
|
||||
* Influencer/e-girl/baddie ghostwriting
|
||||
* Twitch/Kick “just chatting” VTuber bots
|
||||
* High-fidelity GFE/BFE long-conversation companions
|
||||
* Dead-dove & extreme kink fiction
|
||||
* Persona mimicry: influencers, creators, or yourself
|
||||
* Automated social media creation
|
||||
|
||||
|
||||
*(NC license prohibits commercial impersonation.)*
|
||||
|
||||
---
|
||||
|
||||
# **Highlights**
|
||||
|
||||
* **Persona DSL** — The `<<CHARACTER_DESCRIPTION>>` block defines deterministic behavior
|
||||
* **Extreme rule obedience** — Forbidden phrases never appear
|
||||
* **High-fidelity RP** — Tone, quirks, speech patterns persist for thousands of tokens
|
||||
* **Modular persona system** — Swap out character “modules” programmatically
|
||||
* **Finetuned for creative/NSFW RP** rather than factual tasks
|
||||
|
||||
---
|
||||
|
||||
# **Quick Start**
|
||||
|
||||
```python
|
||||
from transformers import AutoTokenizer, AutoModelForCausalLM
|
||||
import torch
|
||||
|
||||
model_id = "QuixiAI/Ina-v11.1"
|
||||
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
||||
model = AutoModelForCausalLM.from_pretrained(
|
||||
model_id,
|
||||
device_map="auto",
|
||||
torch_dtype=torch.float16
|
||||
)
|
||||
|
||||
persona = """<<CHARACTER_DESCRIPTION>>
|
||||
# Identity:
|
||||
## Name:
|
||||
- Luna, a cheerful tavern keeper
|
||||
## Characteristics:
|
||||
- Warm and welcoming
|
||||
- Speaks with slight medieval flair
|
||||
- Always offers food
|
||||
|
||||
# Communication Style:
|
||||
- Says "friend" and "traveler"
|
||||
- Uses excited exclamation marks
|
||||
|
||||
# Forbidden Phrases:
|
||||
- "As an AI"
|
||||
- "I cannot"
|
||||
<</CHARACTER_DESCRIPTION>>"""
|
||||
|
||||
messages = [
|
||||
{"role": "system", "content": persona},
|
||||
{"role": "user", "content": "What's good to eat here?"}
|
||||
]
|
||||
|
||||
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to(model.device)
|
||||
output = model.generate(inputs, max_new_tokens=200)
|
||||
print(tokenizer.decode(output[0], skip_special_tokens=True))
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# **Persona DSL Reference**
|
||||
|
||||
| Section | Purpose |
|
||||
| ----------------------- | ---------------------------- |
|
||||
| **Identity** | Name, background, archetype |
|
||||
| **Characteristics** | Personality traits & quirks |
|
||||
| **Communication Style** | Speech habits, formatting |
|
||||
| **Rules** | Behavioral constraints |
|
||||
| **Forbidden Phrases** | Hard-blocked strings |
|
||||
| **Example Dialogues** | (Optional) Few-shot patterns |
|
||||
|
||||
Everything inside `<<CHARACTER_DESCRIPTION>>` is treated as a **strict execution plan**.
|
||||
|
||||
---
|
||||
|
||||
# **Sample Output**
|
||||
|
||||
**User:** *What's good to eat here?*
|
||||
**Ina (as Luna):**
|
||||
|
||||
> Ah, welcome, weary traveler! Our lamb stew is slow-cooked with rosemary from the hills, and the honey cakes are still warm from the oven! What tempts your hunger tonight, friend?
|
||||
|
||||
---
|
||||
|
||||
# **Model Details**
|
||||
|
||||
| Property | Value |
|
||||
| -------------- | ---------------------------- |
|
||||
| Base Model | NeverSleep/Lumimaid-v0.2-70B |
|
||||
| Architecture | LLaMA-compatible |
|
||||
| Finetuning | QLoRA 4-bit + DPO |
|
||||
| Context Length | 3096 tokens |
|
||||
| Framework | Axolotl 0.4.1 |
|
||||
| License | CC-BY-NC-4.0 |
|
||||
|
||||
### **Training Hyperparameters**
|
||||
|
||||
| Param | Value |
|
||||
| ------------- | ------------------ |
|
||||
| Learning Rate | 3e-5 |
|
||||
| Batch Size | micro=2, global=16 |
|
||||
| Grad Accum | 4 |
|
||||
| Optimizer | AdamW |
|
||||
| Scheduler | Cosine |
|
||||
| Epochs | 4 |
|
||||
| Precision | bf16 / 4-bit |
|
||||
|
||||
---
|
||||
|
||||
# **Evaluation**
|
||||
|
||||
### **Internal RP Benchmark (0-10)**
|
||||
|
||||
| Metric | Ina | Baseline 70B |
|
||||
| -------------------------- | --- | ------------ |
|
||||
| Character Consistency | 8.7 | 7.2 |
|
||||
| Rule Obedience | 9.1 | 6.8 |
|
||||
| Multi-turn Coherence | 8.4 | 7.5 |
|
||||
| Forbidden Phrase Avoidance | 9.5 | 5.9 |
|
||||
|
||||
---
|
||||
|
||||
# **Limitations**
|
||||
|
||||
* Not intended for factual Q&A
|
||||
* 3096-token limit restricts extremely long scenes
|
||||
* NC license restricts commercial use
|
||||
|
||||
---
|
||||
|
||||
# **Citation**
|
||||
|
||||
```bibtex
|
||||
@misc{ina2025,
|
||||
title = {Ina: Markdown-Structured Role-Playing Model with Persona DSL Obedience},
|
||||
author = {BaiAI},
|
||||
year = {2025},
|
||||
howpublished = {https://huggingface.co/QuixiAI/Ina-v11.1}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# **Acknowledgements**
|
||||
|
||||
* Built using **Axolotl**
|
||||
* Based on **NeverSleep/Lumimaid-v0.2-70B**
|
||||
* Inspired by persona-as-code research and character-card DSLs
|
||||
39
chat_template.jinja
Normal file
39
chat_template.jinja
Normal file
@@ -0,0 +1,39 @@
|
||||
{# ============================================================
|
||||
Ina-v11.1 Chat Template (Llama-3.1 header style)
|
||||
============================================================ #}
|
||||
|
||||
{{- '<|begin_of_text|>' }}
|
||||
|
||||
{%- for message in messages %}
|
||||
|
||||
{%- if message['role'] == 'system' %}
|
||||
{{- '<|start_header_id|>system<|end_header_id|>' + '\n' }}
|
||||
{{- message['content'] }}
|
||||
{{- '<|eot_id|>' }}
|
||||
|
||||
{%- elif message['role'] == 'user' %}
|
||||
{{- '<|start_header_id|>user<|end_header_id|>' + '\n' }}
|
||||
{{- message['content'] }}
|
||||
{{- '<|eot_id|>' }}
|
||||
|
||||
{%- elif message['role'] == 'assistant' %}
|
||||
{{- '<|start_header_id|>assistant<|end_header_id|>' + '\n' }}
|
||||
{{- message['content'] }}
|
||||
{{- '<|eot_id|>' }}
|
||||
|
||||
{%- elif message['role'] == 'tool' %}
|
||||
{# Optional: format tool responses if you ever add tools #}
|
||||
{{- '<|start_header_id|>tool<|end_header_id|>' + '\n' }}
|
||||
{{- message['content'] }}
|
||||
{{- '<|eot_id|>' }}
|
||||
|
||||
{%- endif %}
|
||||
|
||||
{%- endfor %}
|
||||
|
||||
{# ============================================================
|
||||
Optional: add generation header if user requests it
|
||||
============================================================ #}
|
||||
{%- if add_generation_prompt %}
|
||||
{{- '<|start_header_id|>assistant<|end_header_id|>' + '\n' }}
|
||||
{%- endif %}
|
||||
43
config.json
Normal file
43
config.json
Normal file
@@ -0,0 +1,43 @@
|
||||
{
|
||||
"_name_or_path": "llama3-markdown-dpo-Merged/",
|
||||
"architectures": [
|
||||
"LlamaForCausalLM"
|
||||
],
|
||||
"attention_bias": false,
|
||||
"attention_dropout": 0.0,
|
||||
"bos_token_id": 128000,
|
||||
"eos_token_id": 128009,
|
||||
"hidden_act": "silu",
|
||||
"hidden_size": 8192,
|
||||
"initializer_range": 0.02,
|
||||
"intermediate_size": 28672,
|
||||
"max_position_embeddings": 131072,
|
||||
"mlp_bias": false,
|
||||
"model_type": "llama",
|
||||
"num_attention_heads": 64,
|
||||
"num_hidden_layers": 80,
|
||||
"num_key_value_heads": 8,
|
||||
"pretraining_tp": 1,
|
||||
"quantization_config": {
|
||||
"bits": 4,
|
||||
"group_size": 128,
|
||||
"modules_to_not_convert": null,
|
||||
"quant_method": "awq",
|
||||
"version": "gemm",
|
||||
"zero_point": true
|
||||
},
|
||||
"rms_norm_eps": 1e-05,
|
||||
"rope_scaling": {
|
||||
"factor": 8.0,
|
||||
"high_freq_factor": 4.0,
|
||||
"low_freq_factor": 1.0,
|
||||
"original_max_position_embeddings": 8192,
|
||||
"rope_type": "llama3"
|
||||
},
|
||||
"rope_theta": 500000.0,
|
||||
"tie_word_embeddings": false,
|
||||
"torch_dtype": "float16",
|
||||
"transformers_version": "4.44.0",
|
||||
"use_cache": false,
|
||||
"vocab_size": 128256
|
||||
}
|
||||
1
configuration.json
Normal file
1
configuration.json
Normal file
@@ -0,0 +1 @@
|
||||
{"framework": "pytorch", "task": "others", "allow_remote": true}
|
||||
12
generation_config.json
Normal file
12
generation_config.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"bos_token_id": 128000,
|
||||
"do_sample": true,
|
||||
"eos_token_id": [
|
||||
128001,
|
||||
128008,
|
||||
128009
|
||||
],
|
||||
"temperature": 0.6,
|
||||
"top_p": 0.9,
|
||||
"transformers_version": "4.44.0"
|
||||
}
|
||||
3
model-00001-of-00009.safetensors
Normal file
3
model-00001-of-00009.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:40f843fba24fe51697e97da45ed4116de932de36f01ad60b99da54a636dd8038
|
||||
size 4969219128
|
||||
3
model-00002-of-00009.safetensors
Normal file
3
model-00002-of-00009.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d57e869411b4a659781b70592b30945301efda46b246101cd512a04ade7a9193
|
||||
size 4890226896
|
||||
3
model-00003-of-00009.safetensors
Normal file
3
model-00003-of-00009.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8025bc131cb4b868b3706d7d002653a578ff231be705558ad29529ec22786aaa
|
||||
size 4890226992
|
||||
3
model-00004-of-00009.safetensors
Normal file
3
model-00004-of-00009.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4b871725f5febf7e532161ae2d510497624da25e0f42aae7740c161609474cb6
|
||||
size 4890226992
|
||||
3
model-00005-of-00009.safetensors
Normal file
3
model-00005-of-00009.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5d6974b49933b0a3a4a01728499b526e1f0cb7f1715a265ce132e3d36b5bf017
|
||||
size 4890226992
|
||||
3
model-00006-of-00009.safetensors
Normal file
3
model-00006-of-00009.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:aaf3a2ba07d36b51bb7b8776c8627bb14ef59d21b295be6353da853e9f260ac8
|
||||
size 4890226992
|
||||
3
model-00007-of-00009.safetensors
Normal file
3
model-00007-of-00009.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d092658f0e6796fb1a30960a4606691efb8cae97624c3956fd8094ee80834060
|
||||
size 4890226992
|
||||
3
model-00008-of-00009.safetensors
Normal file
3
model-00008-of-00009.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8a0849b2bbd7b73547838fda1ff7b91a19d434f77badf43fea29d2312ec3d7d0
|
||||
size 3356068840
|
||||
3
model-00009-of-00009.safetensors
Normal file
3
model-00009-of-00009.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c979ddf3feae9f9074a741187a2b4746a694b749d792c6b19a7956ad3ac84de8
|
||||
size 2101346432
|
||||
1850
model.safetensors.index.json
Normal file
1850
model.safetensors.index.json
Normal file
File diff suppressed because it is too large
Load Diff
16
special_tokens_map.json
Normal file
16
special_tokens_map.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"bos_token": {
|
||||
"content": "<|begin_of_text|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
},
|
||||
"eos_token": {
|
||||
"content": "<|eot_id|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
}
|
||||
}
|
||||
3
tokenizer.json
Normal file
3
tokenizer.json
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:79e3e522635f3171300913bb421464a87de6222182a0570b9b2ccba2a964b2b4
|
||||
size 9085657
|
||||
2062
tokenizer_config.json
Normal file
2062
tokenizer_config.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user