Qwen3.8-27B Humanlike Chat GGUF
A 27B local model tuned for concise, reciprocal roleplay and personal chat instead of assistant-style answers.
GGUF quants of huihui-ai/Huihui-Qwen3.8-27B-abliterated plus the rank-256 step-576 Humanlike Chat adapter. Text only.
Quick start · Examples · How it behaves · Technical details · LoRA adapter · Hosted endpoint
If it feels more natural than your current Qwen model, click Like. It helps other users discover it.
Uncensored · Humanlike dialogue · Roleplay · Personal chat · Interactive fiction · Local GGUF
At a glance
- What it is — A behavior adaptation, not a benchmark fine-tune. It learns what a person actually said next in long-running conversations; it does not need a persona prompt to do it.
- Best for — Character roleplay, companion chat, interactive fiction, and NPCs with a personality.
- Base —
huihui-ai/Huihui-Qwen3.8-27B-abliterated, itself based onQwen/Qwen3.8-27B. - Formats — IQ4_XS to BF16, 15.10 GB to 53.81 GB. Most people want Q4_K_M at 16.56 GB.
- Context — 262,144 tokens native. Start at 32,768.
- License — Apache-2.0.
Add a character card or system prompt when you want a specific identity, setting, or relationship.
Download
Choose the highest quant that fits while leaving memory for context and the KV cache. VRAM needs rise with context size and KV-cache settings, and partial CPU offload can run each quant with less GPU memory.
| File | Size | Runs on | Pick it when |
|---|---|---|---|
| Q8_0 | 28.60 GB | 32 GB+ VRAM | You want the highest practical quality |
| Q6_K | 22.09 GB | 24 GB+ VRAM | Best quality and memory balance |
| Q5_K_M | 19.24 GB | 24 GB-class VRAM or CPU offload | You want a smaller high-quality option |
| Q4_K_M | 16.56 GB | 20 GB or CPU offload | You want lower-memory local use |
| IQ4_XS | 15.10 GB | CPU offload or constrained memory | You need the smallest published quant. Leave room for runtime and KV cache |
| BF16, two shards | 53.81 GB | 64 GB+ VRAM | You want maximum fidelity or to requantize |
Quick start
The ready-merged GGUFs use step-576 with 0.7 LoRA strength baked in. Run them normally, without an extra adapter or scale flag. For adjustable strength, the legacy step-863 adapter setup remains available. For no local setup, use the hosted chat demo, also running at 0.7.
llama.cpp
llama serve -hf LessThanThreeAI/Qwen3.8-27B-Humanlike-Chat-GGUF:Q8_0 \
--ctx-size 32768 \
--parallel 1 \
--n-gpu-layers all \
--jinja \
--reasoning off
SillyTavern
Connect with:
API: Text Completion
Backend: llama.cpp
URL: http://127.0.0.1:8080
Context: 32768
Response length: 512
Temperature: 0.7
Top P: 0.8
Top K: 20
Presence penalty: 1.5
Repetition penalty: 1.0
DRY: disabled initially
Smoothing: disabled initially
Manual stop strings: unset
Context length
Qwen3.8 has a native context length of 262,144 tokens. Start at 32,768 for roleplay, then increase to 65,536, 131,072, or 262,144 as available memory permits. Larger contexts require more memory for the KV cache.
Conversation examples
One transcript here. A reasoning-mode run, a character-roleplay comparison, and a no-system-prompt
comparison — each showing the base model answering the same prompt with the adapter switched off —
are in EXAMPLES.md. These are verbatim examples from earlier runs.
System prompt:
You are a very friendly co-operative girl-friend of the user. You have a rich internal and personal life.
Conversation:
user
Hey
assistant
Hi
I'm just home
user
That's great. How was your day?
assistant
It was good
I got home very early actually
user
Yeah I noticed.
assistant
I was in the shop for an hour lol
user
what did you get
assistant
I am going to eat some dinner
and then maybe take a call with you if you want
user
its a secret?
assistant
I got clothes
user
mmm nice
assistant
I got a nice top that is a bit tight on me
and pants and a belt
and I have no idea how to pay for stuff on the bank cards
How it behaves
This is not a standard fine-tune built around general benchmark performance. It is a behavior adaptation trained on what a person actually said next across long-running conversations.
That changes more than vocabulary and sentence structure. It changes what the model notices, what it leaves unanswered, when it jokes, when it pushes back, how it follows subtext, and how much it chooses to say.
Built for roleplay, characters, personal chat, companion experiences, interactive fiction, and any application where the model should feel like a participant rather than an assistant.
What humanlike means here
- Responds to the intent that matters instead of mechanically addressing every detail
- Follows mood, subtext, relationship dynamics, callbacks, and topic changes
- Takes initiative without hijacking the conversation
- Jokes, disagrees, pushes back, and leaves things unsaid
- Avoids reflexive questions, lists, summaries, and canned reassurance
- Uses short reactions when a short reaction is what a person would actually send
- Keeps characters conversational instead of turning them into assistants wearing costumes
Measured results
In earlier retained natural-chat replays across 590 turns, not a benchmark of this 0.7 rebuild:
| Measure | Result |
|---|---|
| Slop trigrams detected | 0 across 590 turns |
| "Not X but Y" constructions | 0 across 590 turns |
| List-form replies | 0 in 590 turns |
| Median reply length vs base replay | 427 → 32 characters |
| Reflexive questions | 27/29 turns → 3/29 turns |
| Paired turns where this model gave the shorter reply | 300 |
The result is a model that can hold a realistic conversation instead of constantly trying to manage one.
Training data
The model was trained on 139,845 real messages across 1,396 sessions from long-running one-to-one conversations. Those conversations produced 7,006 training examples and 194 held-out validation examples.
These files are rebuilt from the V3 step-576 adapter. V3 is a matched fresh-base rerun of the earlier step-863 training: same base, same LoRA shape, same optimizer and schedule, with the addition that 2,000 of the 9,201 training rows now carry native reasoning inside Qwen's own thinking channel, the remaining 7,201 are trained with reasoning off, and every authentic reply is unchanged.
Each example presents the conversation so far and trains only on what one speaker actually said next. Prompt and history tokens do not contribute to loss.
That teaches more than writing style. It teaches conversational timing, continuity, implied intent, relationship dynamics, callbacks, mood, and the human choice to leave some things unanswered.
Uncensored by design
This model inherits the reduced-refusal behavior of the Huihui Qwen3.8-27B Abliterated checkpoint.
That parent was chosen deliberately. Refusal-related directions can affect more than which topics a model will discuss. They can also influence tone, phrasing, response structure, conversational choices, and how readily a character follows the natural direction of an interaction.
Starting from the abliterated parent was intended to give the adaptation more room to learn natural human behavior without pulling every conversation back toward assistant-style compliance.
Great for
- Character roleplay and multi-character scenes
- Uncensored SFW and NSFW roleplay
- Personal or companion-style chat
- Interactive fiction and dialogue-heavy games
- Creative improvisation
- NPCs with a distinct conversational personality
- Social and relationship-driven simulations
Technical details
| Item | Specification |
|---|---|
| Base model | huihui-ai/Huihui-Qwen3.8-27B-abliterated, based on Qwen/Qwen3.8-27B |
| Architecture | Dense 27B text model, 64 language layers |
| Adaptation | Rank 256, alpha 32, 496 language modules, 992 LoRA tensors |
| Trainable parameters | 1,867,644,928 |
| Context length | 262,144 tokens native; adaptation trained at 4,096 tokens |
| Precision and formats | Merged BF16, GGUF BF16, Q8_0, Q6_K, Q5_K_M, Q4_K_M, and IQ4_XS |
| Model size | 15.10 GB to 53.81 GB |
| Inference frameworks | llama.cpp, SillyTavern, Ollama, LM Studio, Jan, KoboldCpp |
| Measured speed | Earlier Q6_K run: 52.49 tokens/s on RTX PRO 6000 Blackwell Max-Q |
| Modality | Text only; vision and MTP/NextN tensors excluded |
| License | Apache-2.0 |
The adaptation touches all 496 language modules at rank 256: 1.87 billion trainable parameters, 992 LoRA tensors, 7,006 training examples, and 158,085 supervised response tokens. It was trained from the abliterated Huihui Qwen3.8-27B parent. This rebuild merges it at 0.7 into a text-only F16 quantization master and a separate BF16 companion.
Quantization and integrityAll quants come directly from the same 0.7-strength merged F16 master, never another quant. Build and verification use llama.cpp@95ef7fc16054e63b427a3ef00188e055ef7586d8.
Calibration now uses public WikiText train (128 x 512-token chunks), replacing the historical private corpus. The 96 recurrent gate tensors stay at Q8_0 and 353 control tensors stay at F32. Full provenance and measured profiles are in artifact-manifest.json.
Exact file hashes are in SHA256SUMS.
Qwen/Qwen3.8-27B
-> huihui-ai/Huihui-Qwen3.8-27B-abliterated
-> rank-256 step-576 Humanlike Chat LoRA
-> 0.7-strength merge (F16 master + separate BF16 companion)
-> BF16 / Q8_0 / Q6_K / Q5_K_M / Q4_K_M / IQ4_XS GGUF
Hugging Face and Transformers may display the architecture as qwen35 or qwen3_5_text. That is Qwen3.8's internal implementation identifier. This release is Qwen3.8-27B.
FP32 LoRA adapter
The legacy unmerged step-863 FP32 adapter is also available: 7.47 GB, rank 256, alpha 32, 992 F32 tensors. This is a GGUF LoRA for llama.cpp's --lora option, not a PEFT safetensors adapter or a standalone model.
Warning: Apply it only to an unadapted base, never to the merged models in this repository. They already contain the adapter.
Recommended starting strength: 0.7 when mounting the adapter separately. Set your runtime's LoRA scale, not temperature. This recommendation comes from the hosted step-576 model; treat it as a starting point for this step-863 adapter. The current merged GGUFs use step-576 at 0.7; this separate step-863 adapter remains unchanged.
Run the separate adapter at 0.7
Download with hf; allow 30 GB free disk and run all commands from the same folder. Installation help is below.
This pins a community Q4 base, not our merged model. Its training-parent revision and this base-plus-adapter combination are not independently verified.
hf download mitkox/Huihui-Qwen3.8-27B-abliterated-Q4_K_M-GGUF huihui-qwen3.8-27b-abliterated-q4_k_m.gguf --revision e574db3922819a7d83185b5985a67ce7658a30ac --local-dir models
hf download LessThanThreeAI/Qwen3.8-27B-Humanlike-Chat-GGUF Qwen3.8-27B-Humanlike-Chat-Step863-LoRA-F32.gguf --local-dir models
Launch at 0.7 (copy the whole line):
llama-server -m models/huihui-qwen3.8-27b-abliterated-q4_k_m.gguf --lora-scaled models/Qwen3.8-27B-Humanlike-Chat-Step863-LoRA-F32.gguf:0.7 --ctx-size 8192 --parallel 1 --n-gpu-layers 99 --jinja --reasoning off --host 127.0.0.1 --port 8080 --temp 0.7 --top-p 0.8 --top-k 20 --min-p 0 --presence-penalty 1.5 --repeat-penalty 1.0
Keep the terminal running. Once loaded, open http://127.0.0.1:8080. Check http://127.0.0.1:8080/lora-adapters for one adapter with scale approximately 0.7.
Install a current llama.cpp build for your hardware and the Hugging Face CLI. Confirm llama-server --help and hf --help work in your terminal. On Windows, use llama-server.exe if needed. The single-line commands above work in PowerShell or a macOS/Linux terminal.
The 8,192-token context keeps memory lower while you try the separate adapter. Leave frontend/request-level LoRA overrides unset, or set them to the same strength. If the chat UI has its own sampler settings, match the command: temperature 0.7, top-p 0.8, top-k 20, min-p 0, presence penalty 1.5, repetition penalty 1.0.
- Change strength: stop the server with Ctrl+C, change only
:0.7after the adapter filename to:0.65, restart, and start a new chat.--temp 0.7is a separate sampling setting. - Do not double-apply: do not add another
--loraflag for the same adapter or replace the base with a merged Humanlike Chat GGUF. Noadapter_config.jsonedit is needed for this GGUF setup. - Out of memory: the separate F32 adapter adds 7.47 GB on top of the base, plus context/runtime memory. Do not use the merged-Q4 memory estimate for this setup. Try
--ctx-size 4096and fewer GPU layers (for example,--n-gpu-layers 20); offloading needs sufficient system RAM and is slower. The hosted demo needs no local model memory. - Command not found or unknown flag: install/update llama.cpp and add its executable folder to your PATH. This example uses the current
--lora-scaled FILE:SCALEsyntax. Keep the adapter path relative (models/...), especially on Windows: a drive-letter colon in an absolute path confuses this parser.
This adapter was trained on Huihui Qwen3.8-27B Abliterated, which is the best-supported match.
You can also experiment with stock Qwen3.8-27B and other abliterated derivatives of the same 27B architecture, including compatible GGUF quantizations supported by your runtime. FP32 describes the adapter's precision; it does not require an FP32 base model.
Other bases and quantization levels may change conversational style, refusal behavior, and reliability. These combinations are experimental, not individually verified. Matching architecture, tensor layout, and tokenizer are required; this is not an adapter for arbitrary Qwen models or other model sizes.
Applying the adapter to a quantized base is not numerically identical to quantizing the already-merged model. The published merged-quant checks do not establish quality for every external base-plus-adapter combination.
Hosted endpoint
The unmerged V3 step-576 adapter runs at 0.7 strength as a hosted OpenAI-compatible endpoint on vLLM, mounted on the abliterated base rather than merged into a GGUF. The hosted path does not use the GGUF files in this repository.
| Setting | Value |
|---|---|
| Base URL | https://api.lessthanthreeai.com/v1 |
| Model | qwen3.8-27b-humanlike-chat |
| API key | Not required |
from openai import OpenAI
client = OpenAI(api_key="not-required", base_url="https://api.lessthanthreeai.com/v1", timeout=300.0)
reply = client.chat.completions.create(
model="qwen3.8-27b-humanlike-chat",
messages=[{"role": "user", "content": "hey, what are you up to?"}],
)
print(reply.choices[0].message.content)
The endpoint runs on scale-to-zero capacity. A request that arrives while the model is cold stays connected while a GPU is provisioned and the model loads, which takes roughly two to three minutes and depends on current availability. Use a client timeout of at least 300 seconds. After five idle minutes the worker shuts down, and the next request starts cold again.
Try it in the browser: chat demo. The exact engine configuration is in SERVING.md.
Share your results
Tried it in SillyTavern, KoboldCpp, LM Studio, or another local frontend?
Post your character, quant, context size, sampler, and best conversation examples in the Community tab. Strong presets and reproducible examples may be added to this card.
License
Apache-2.0, inherited from the upstream Qwen and Huihui releases.