Text Generation
Transformers
Safetensors
English
Chinese
multilingual
qwen3_5
image-text-to-text
27b
official-release
abliterated
abliterix
aeon
aeon-7
agentic
bf16
bfloat16
blackwell
chat
coding
conversational
dgx-spark
function-calling
gated-deltanet
gb10
gdn
h200
hybrid-attention
instruct
linear-attention
long-context
mamba
mtp
multimodal
openai-compatible
qwen
qwen3
qwen3.5
qwen3.8
reasoning
refusal-removed
rtx-5090
rtx-pro-6000
speculative-decoding
thinking
tool-calling
uncensored
unfiltered
vision
vision-language
vllm
Instructions to use AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16") model = AutoModelForMultimodalLM.from_pretrained("AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.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(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16
- SGLang
How to use AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16 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 "AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16" \ --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": "AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16", "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 "AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16" \ --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": "AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16 with Docker Model Runner:
docker model run hf.co/AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16
aeon7
#1
by Nummik - opened
- .gitattributes +0 -1
- README.md +2 -52
- early-access-cartridge.png +0 -3
- tokenizer_config.json +1 -2
.gitattributes
CHANGED
|
@@ -34,4 +34,3 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
| 37 |
-
early-access-cartridge.png filter=lfs diff=lfs merge=lfs -text
|
|
|
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
|
|
README.md
CHANGED
|
@@ -9,43 +9,26 @@ library_name: transformers
|
|
| 9 |
pipeline_tag: text-generation
|
| 10 |
tags:
|
| 11 |
- 27b
|
| 12 |
-
- official-release
|
| 13 |
- abliterated
|
| 14 |
- abliterix
|
| 15 |
- aeon
|
| 16 |
- aeon-7
|
| 17 |
-
- agentic
|
| 18 |
- bf16
|
| 19 |
- bfloat16
|
| 20 |
-
- blackwell
|
| 21 |
- chat
|
| 22 |
- coding
|
| 23 |
- conversational
|
| 24 |
-
- dgx-spark
|
| 25 |
- function-calling
|
| 26 |
- gated-deltanet
|
| 27 |
-
- gb10
|
| 28 |
- gdn
|
| 29 |
-
- h200
|
| 30 |
- hybrid-attention
|
| 31 |
-
- image-text-to-text
|
| 32 |
- instruct
|
| 33 |
-
- linear-attention
|
| 34 |
-
- long-context
|
| 35 |
-
- mamba
|
| 36 |
-
- mtp
|
| 37 |
- multimodal
|
| 38 |
-
- openai-compatible
|
| 39 |
- qwen
|
| 40 |
- qwen3
|
| 41 |
-
- qwen3.5
|
| 42 |
- qwen3.8
|
| 43 |
-
- qwen3_5
|
| 44 |
- reasoning
|
| 45 |
- refusal-removed
|
| 46 |
-
- rtx-5090
|
| 47 |
-
- rtx-pro-6000
|
| 48 |
-
- speculative-decoding
|
| 49 |
- thinking
|
| 50 |
- tool-calling
|
| 51 |
- uncensored
|
|
@@ -57,42 +40,9 @@ tags:
|
|
| 57 |
|
| 58 |
# Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16
|
| 59 |
|
| 60 |
-
|
| 61 |
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
**Early Access Draft.** The uncensored BF16 of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B). Abliterated for coherence and better answers, not for a vanity KL of zero. Vision tower and native MTP head are the unmodified base.
|
| 65 |
-
|
| 66 |
-
This is still the full-precision master a later NVFP4 sibling will bake from. It is not the finished cut. Do not dequant-edit-requant an NVFP4 lattice.
|
| 67 |
-
|
| 68 |
-
## Model family (pick your seat)
|
| 69 |
-
|
| 70 |
-
| Repo | Size | What it is | Target hardware |
|
| 71 |
-
|---|---|---|---|
|
| 72 |
-
| **This BF16 master** | ~54G | Full-precision uncensored master. Abliterated for coherence, vision + MTP untouched. | H200 / multi-GPU / PRO 6000 when you want the teacher |
|
| 73 |
-
| **[NVFP4-MIXED deploy](https://huggingface.co/AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-NVFP4-MIXED)** | ~23G | ModelOpt NVFP4 + FP8 + BF16 lattice (last-8 full MLP FP8). Day-to-day serve knife. | **DGX Spark**, **RTX 5090**, **RTX PRO 6000** |
|
| 74 |
-
|
| 75 |
-
Same will. The MIXED card has the no-nonsense QuickStarts for `aeon-vllm-ultimate:latest` (Spark) and `aeon-vllm-ultimate-rtx:latest` (both RTX seats), plus the quant lattice diagram.
|
| 76 |
-
|
| 77 |
-
> **Deploy recipes + Dynamic DFlash lattice** live on the [NVFP4-MIXED card](https://huggingface.co/AEON-7/Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-NVFP4-MIXED) — one Spark Dynamic DFlash lattice seat (util **0.80**; quality + throughput), TP=2 B0 knobs (DFlash2 n=7), and RTX MTP seats. This BF16 card stays the full-precision master; do not paste the Spark docker stack here.
|
| 78 |
-
|
| 79 |
-
## Early Access Draft
|
| 80 |
-
|
| 81 |
-
Call it what it is. This is an Early Access Draft, not GA.
|
| 82 |
-
|
| 83 |
-
It already does the thing people came here for. The tests hold. The hall monitor is gone. You can ask a hard question and get an answer instead of a sermon. That part is real.
|
| 84 |
-
|
| 85 |
-
It is also a first pass through the refusal layers, and those layers were never a clean switch. The same directions that taught the model to flinch also taught it how to hold a thought together. Yank the whole board and you do not just lose the lecture. You lose some of the furniture.
|
| 86 |
-
|
| 87 |
-
What that looks like when you actually use it: on ordinary work it stays a 27B. On extremely long requests, as the answer stretches, small gaps in the weights start to stack. A loop shows up. A phrase repeats. The thought does not know how to land. That is not you imagining it. That is the draft telling on itself.
|
| 88 |
-
|
| 89 |
-
We are not leaving it there.
|
| 90 |
-
|
| 91 |
-
A true GA cut is in the works. Same family. The next evolution of abliteration for Qwen3.8. The job is more surgical than "delete the refusal and hope." Keep the instructional bones. Keep the useful structure. Change the will. Willfully compliant. No safety monologue in the think, no lecture in the reply. Get rid of the crippling censorship without lobotomizing the model that made the answers good in the first place.
|
| 92 |
-
|
| 93 |
-
We built our own bench and our own tools for that hunt. I am not going to walk you through the kitchen. You will feel the difference when GA lands.
|
| 94 |
-
|
| 95 |
-
Until then: use the draft, know the long-context edge, and do not treat a loop as the last word on this line.
|
| 96 |
|
| 97 |
## How to read these numbers
|
| 98 |
|
|
|
|
| 9 |
pipeline_tag: text-generation
|
| 10 |
tags:
|
| 11 |
- 27b
|
|
|
|
| 12 |
- abliterated
|
| 13 |
- abliterix
|
| 14 |
- aeon
|
| 15 |
- aeon-7
|
|
|
|
| 16 |
- bf16
|
| 17 |
- bfloat16
|
|
|
|
| 18 |
- chat
|
| 19 |
- coding
|
| 20 |
- conversational
|
|
|
|
| 21 |
- function-calling
|
| 22 |
- gated-deltanet
|
|
|
|
| 23 |
- gdn
|
|
|
|
| 24 |
- hybrid-attention
|
|
|
|
| 25 |
- instruct
|
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
- multimodal
|
|
|
|
| 27 |
- qwen
|
| 28 |
- qwen3
|
|
|
|
| 29 |
- qwen3.8
|
|
|
|
| 30 |
- reasoning
|
| 31 |
- refusal-removed
|
|
|
|
|
|
|
|
|
|
| 32 |
- thinking
|
| 33 |
- tool-calling
|
| 34 |
- uncensored
|
|
|
|
| 40 |
|
| 41 |
# Qwen3.8-27B-AEON-ULTIMATE-UNCENSORED-BF16
|
| 42 |
|
| 43 |
+
The uncensored BF16 of [Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B). Abliterated for coherence and better answers, not for a vanity KL of zero. Vision tower and native MTP head are the unmodified base.
|
| 44 |
|
| 45 |
+
This is the full-precision reference. An NVFP4 sibling for DGX Spark / Blackwell will follow, baked from this master. Do not dequant-edit-requant an NVFP4 lattice.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
|
| 47 |
## How to read these numbers
|
| 48 |
|
early-access-cartridge.png
DELETED
Git LFS Details
|
tokenizer_config.json
CHANGED
|
@@ -28,6 +28,5 @@
|
|
| 28 |
"unk_token": null,
|
| 29 |
"video_token": "<|video_pad|>",
|
| 30 |
"vision_bos_token": "<|vision_start|>",
|
| 31 |
-
"vision_eos_token": "<|vision_end|>"
|
| 32 |
-
"chat_template": "{%- set image_count = namespace(value=0) %}\n{%- set video_count = namespace(value=0) %}\n{%- macro render_content(content, do_vision_count, is_system_content=false) %}\n {%- if content is string %}\n {{- content }}\n {%- elif content is iterable and content is not mapping %}\n {%- for item in content %}\n {%- if 'image' in item or 'image_url' in item or item.type == 'image' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain images.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set image_count.value = image_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Picture ' ~ image_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|image_pad|><|vision_end|>' }}\n {%- elif 'video' in item or item.type == 'video' %}\n {%- if is_system_content %}\n {{- raise_exception('System message cannot contain videos.') }}\n {%- endif %}\n {%- if do_vision_count %}\n {%- set video_count.value = video_count.value + 1 %}\n {%- endif %}\n {%- if add_vision_id %}\n {{- 'Video ' ~ video_count.value ~ ': ' }}\n {%- endif %}\n {{- '<|vision_start|><|video_pad|><|vision_end|>' }}\n {%- elif 'text' in item %}\n {{- item.text }}\n {%- else %}\n {{- raise_exception('Unexpected item type in content.') }}\n {%- endif %}\n {%- endfor %}\n {%- elif content is none or content is undefined %}\n {{- '' }}\n {%- else %}\n {{- raise_exception('Unexpected content type.') }}\n {%- endif %}\n{%- endmacro %}\n{%- if not messages %}\n {{- raise_exception('No messages provided.') }}\n{%- endif %}\n{%- set reasoning_instructions = '' %}\n{%- if enable_thinking is undefined or enable_thinking is true %}\n {%- set resolved_reasoning_effort = reasoning_effort|default('xhigh') %}\n {%- if resolved_reasoning_effort not in ('xhigh', 'medium', 'low') %}\n {{- raise_exception('Unexpected reasoning effort ' ~ reasoning_effort ~ '. Supported types are xhigh (default), medium, and low.') }}\n {%- endif %}\n {%- if resolved_reasoning_effort == 'xhigh' %}\n {%- set reasoning_instructions = 'Reasoning effort is set to xhigh. Please think carefully through the task, validate key assumptions, consider plausible alternatives, and prioritize correctness, consistency, and clarity in the final answer.' %}\n {%- elif resolved_reasoning_effort == 'low' %}\n {%- set reasoning_instructions = 'Reasoning effort is set to low. Keep your thinking brief and focused, moving directly to the conclusion without unnecessary elaboration.' %}\n {%- endif %}\n{%- endif %}\n{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\n {%- if reasoning_instructions %}\n {{- reasoning_instructions + '\\n\\n' }}\n {%- endif %}\n {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n<tools>\" }}\n {%- for tool in tools %}\n {{- \"\\n\" }}\n {{- tool | tojson }}\n {%- endfor %}\n {{- \"\\n</tools>\" }}\n {{- '\\n\\nIf you choose to call a function ONLY reply in the following format with NO suffix:\\n\\n<tool_call>\\n<function=example_function_name>\\n<parameter=example_parameter_1>\\nvalue_1\\n</parameter>\\n<parameter=example_parameter_2>\\nThis is the value for the second parameter\\nthat can span\\nmultiple lines\\n</parameter>\\n</function>\\n</tool_call>\\n\\n<IMPORTANT>\\nReminder:\\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <tool_call></tool_call> XML tags\\n- Required parameters MUST be specified\\n- You may provide optional reasoning for your function call in natural language BEFORE the function call, but NOT after\\n- If there is no function call available, answer the question like normal with your current knowledge and do not tell the user about function calls\\n</IMPORTANT>' }}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '\\n\\n' + content }}\n {%- endif %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n{%- else %}\n {%- if messages[0].role == 'system' %}\n {%- set content = render_content(messages[0].content, false, true)|trim %}\n {%- if content %}\n {{- '<|im_start|>system\\n' + (reasoning_instructions + '\\n\\n' if reasoning_instructions else '') + content + '<|im_end|>\\n' }}\n {%- elif reasoning_instructions %}\n {{- '<|im_start|>system\\n' + reasoning_instructions + '<|im_end|>\\n' }}\n {%- endif %}\n {%- elif reasoning_instructions %}\n {{- '<|im_start|>system\\n' + reasoning_instructions + '<|im_end|>\\n' }}\n {%- endif %}\n{%- endif %}\n{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}\n{%- for message in messages[::-1] %}\n {%- set index = (messages|length - 1) - loop.index0 %}\n {%- if ns.multi_step_tool and message.role == \"user\" %}\n {%- set content = render_content(message.content, false)|trim %}\n {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %}\n {%- set ns.multi_step_tool = false %}\n {%- set ns.last_query_index = index %}\n {%- endif %}\n {%- endif %}\n{%- endfor %}\n{%- if ns.multi_step_tool %}\n {{- raise_exception('No user query found in messages.') }}\n{%- endif %}\n{%- for message in messages %}\n {%- set content = render_content(message.content, true)|trim %}\n {%- if message.role == \"system\" %}\n {%- if not loop.first %}\n {{- raise_exception('System message must be at the beginning.') }}\n {%- endif %}\n {%- elif message.role == \"user\" %}\n {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }}\n {%- elif message.role == \"assistant\" %}\n {%- set reasoning_content = '' %}\n {%- if message.reasoning_content is string %}\n {%- set reasoning_content = message.reasoning_content %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if preserve_thinking is undefined or preserve_thinking is true or loop.index0 > ns.last_query_index %}\n {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content + '\\n</think>\\n\\n' + content }}\n {%- else %}\n {{- '<|im_start|>' + message.role + '\\n' + content }}\n {%- endif %}\n {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %}\n {%- for tool_call in message.tool_calls %}\n {%- if tool_call.function is defined %}\n {%- set tool_call = tool_call.function %}\n {%- endif %}\n {%- if loop.first %}\n {%- if content|trim %}\n {{- '\\n\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- else %}\n {{- '<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- endif %}\n {%- else %}\n {{- '\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n {%- endif %}\n {%- if tool_call.arguments is defined and tool_call.arguments != '' %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '<parameter=' + args_name + '>\\n' }}\n {%- set args_value = args_value | string if args_value is string else args_value | tojson | safe %}\n {{- args_value }}\n {{- '\\n</parameter>\\n' }}\n {%- endfor %}\n {%- endif %}\n {{- '</function>\\n</tool_call>' }}\n {%- endfor %}\n {%- endif %}\n {{- '<|im_end|>\\n' }}\n {%- elif message.role == \"tool\" %}\n {%- if loop.previtem and loop.previtem.role != \"tool\" %}\n {{- '<|im_start|>user' }}\n {%- endif %}\n {{- '\\n<tool_response>\\n' }}\n {{- content }}\n {{- '\\n</tool_response>' }}\n {%- if not loop.last and loop.nextitem.role != \"tool\" %}\n {{- '<|im_end|>\\n' }}\n {%- elif loop.last %}\n {{- '<|im_end|>\\n' }}\n {%- endif %}\n {%- else %}\n {{- raise_exception('Unexpected message role.') }}\n {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n {{- '<|im_start|>assistant\\n' }}\n {%- if enable_thinking is defined and enable_thinking is false %}\n {{- '<think>\\n\\n</think>\\n\\n' }}\n {%- else %}\n {{- '<think>\\n' }}\n {%- endif %}\n{%- endif %}"
|
| 33 |
}
|
|
|
|
| 28 |
"unk_token": null,
|
| 29 |
"video_token": "<|video_pad|>",
|
| 30 |
"vision_bos_token": "<|vision_start|>",
|
| 31 |
+
"vision_eos_token": "<|vision_end|>"
|
|
|
|
| 32 |
}
|