Instructions to use QuixiAI/Ina-v11.1-AWQ with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use QuixiAI/Ina-v11.1-AWQ with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="QuixiAI/Ina-v11.1-AWQ") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("QuixiAI/Ina-v11.1-AWQ") model = AutoModelForCausalLM.from_pretrained("QuixiAI/Ina-v11.1-AWQ", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use QuixiAI/Ina-v11.1-AWQ with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "QuixiAI/Ina-v11.1-AWQ" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "QuixiAI/Ina-v11.1-AWQ", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/QuixiAI/Ina-v11.1-AWQ
- SGLang
How to use QuixiAI/Ina-v11.1-AWQ with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "QuixiAI/Ina-v11.1-AWQ" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "QuixiAI/Ina-v11.1-AWQ", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "QuixiAI/Ina-v11.1-AWQ" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "QuixiAI/Ina-v11.1-AWQ", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use QuixiAI/Ina-v11.1-AWQ with Docker Model Runner:
docker model run hf.co/QuixiAI/Ina-v11.1-AWQ
Configuration Parsing Warning:In config.json: "quantization_config.modules_to_not_convert" must be an array
Ina-v11.1-AWQ - Persona-as-Code Role-Playing Model
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
- Jaroslavs Samcuks
- Eric Hartford
Supported Prompt Format
Ina uses the Llama-3.1 special token header format, exactly like this:
<|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
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
@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
- Downloads last month
- 13