darkhn-quants-3/qwen3.5-27b-animus-v13.0-gguf Q5_K_M GGUF - Free GGUF Download is indexed on GraySoft with repository links, GGUF quant files, and Hugging Face metadata. This page helps you pick a local model for guIDE or other runtimes. See related models in the same shard below.
darkhn-quants-3/qwen3.5-27b-animus-v13.0-gguf overview
body { font-family: 'Quicksand', sans-serif; background: linear-gradient(135deg, #4a1e00 0%, #1c0a00 100%); color: #F5EFE6; margin: 0; padding: 0; font-size: 16px; } h1, h2, h3, h4, summary { font-family: 'Cinzel', serif; } .container { margin: 20px auto; max-width: 900px; background-color: rgba(28, 22, 18, 0.95); padding: 30px; border-radius: 12px; box-shadow: 0 4px 20px rgba(255, 140, 0, 0.15); border: 1px solid rgba(255, 140, 0, 0.2); outline: 1px solid rgba(255, 140, 0, 0.5); outline-offset: -1px; position: relative; } .container::before { content: ''; position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px; border: 1px solid rgba(255, 165, 0, 0.98); border-radius: 12px; pointer-events: none; animation: borderGlow 2.5s ease-in-out infinite; } @keyframes borderGlow { 0% { box-shadow: 0 0 5px rgba(255, 165, 0, 0.98); } 50% { box-shadow: 0 0 12px rgba(255, 165, 0, 0.98); } 100% { box-shadow: 0 0 5px rgba(255, 165, 0, 0.98); } } .header h1 { font-size: 32px; color: #FFA500; margin: 0 0 20px 0; text-align: center; text-shadow: 0 0 12px rgba(255, 100, 0, 0.6); } .info img { width: 100%; max-width: 700px; display: block; margin: 0 auto 25px auto; border-radius: 10px; box-shadow: 0 0 20px rgba(255, 140, 0, 0.25); border: 1px solid rgba(255, 140, 0, 0.2); outline: 1px solid rgba(255, 140, 0, 0.5); outline-offset: -1px; } a { color: #FFD700; text-decoration: none; transition: color 0.3s ease; } a:hover { color: #FFDAB9; } .button { display: inline-block; background-color: #E55B00; color: #FFFFFF; padding: 12px 24px; border-radius: 5px; cursor: pointer; text-decoration: none; font-family: 'Cinzel', serif; font-weight: 600; transition: all 0.3s ease; border: 1px solid transparent; } .button:hover { background-color: #FF8C00; box-shadow: 0 0 15px rgba(255, 140, 0, 0.5); transform: translateY(-2px); } pre { background-color: rgba(45, 35, 25, 0.95); padding: 15px; border-radius: 5px; overflow-x: auto; border: 1px solid rgba(255, 140, 0, 0.2); outline: 1px solid rgba(255, 140, 0, 0.5); outline-offset: -1px; } code { font-family: 'Courier New', monospace; color: #F5EFE6; } .section-container { margin: 40px 0; } h2 { font-size: 26px; color: #FFA500; text-shadow: 0 0 10px rgba(255, 140, 0, 0.5); border-bottom: 1px solid rgba(255, 140, 0, 0.2); padding-bottom: 10px; margin-bottom: 20px; } .info-card { background: rgba(45, 35, 25, 0.95); border: 1px solid rgba(255, 140, 0, 0.2); border-radius: 8px; overflow: hidden; margin-bottom: 25px; } .info-header { background: rgba(255, 140, 0, 0.1); padding: 20px; border-bottom: 1px solid rgba(255, 140, 0, 0.2); } .info-header h3 { color: #FFA500; margin: 0 0 10px 0; font-size: 22px; text-shadow: 0 0 5px rgba(255, 140, 0, 0.3); } .model-tags { display: flex; gap: 8px; flex-wrap: wrap; } .model-tag { background: rgba(218, 165, 32, 0.15); color: #FFD700; padding: 4px 8px; border-radius: 4px; font-size: 12px; border: 1px solid rgba(218, 165, 32, 0.3); font-family: 'Quicksand', sans-serif; } .card-content { padding: 20px; line-height: 1.7; } .card-content p, .card-content li { margin-bottom: 1em; } .card-content p:last-child, .card-content li:last-child { margin-bottom: 0; } .card-content ul { list-style: none; padding-left: 20px; } .card-content li::before { content: '✦'; color: #FFD700; font-weight: bold; display: inline-block; width: 1em; margin-left: -1.2em; font-size: 1.2em; line-height: 1; } .card-content strong { color: #FFD700; font-weight: 600; } .config-container { background: rgba(45, 35, 25, 0.95); border: 1px solid rgba(255, 140, 0, 0.2); border-radius: 8px; overflow: hidden; } .config-header { background: rgba(255, 140, 0, 0.1); padding: 15px 20px; border-bottom: 1px solid rgba(255, 140, 0, 0.2); } .config-header h3 { margin: 0; color: #FFA500; font-size: 22px; } .config-content { padding: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; } .config-item { display: flex; flex-direction: column; gap: 5px; } .config-label { color: #FFD700; font-size: 14px; font-weight: 500; font-family: 'Quicksand', sans-serif; } .config-value { color: #F5EFE6; font-family: 'Courier New', monospace; font-size: 18px; font-weight: bold; } .link-arrow { display: inline-block; transition: transform 0.3s ease; } a:hover .link-arrow { transform: translateX(3px); } .support-section { text-align: center; margin-top: 40px; background: rgba(45, 35, 25, 0.95); border: 1px solid rgba(255, 140, 0, 0.2); border-radius: 8px; padding: 20px; } .support-section p { margin-bottom: 15px; font-size: 1.1em; margin-top: 0; } summary { cursor: pointer; list-style: none; outline: none; display: flex; align-items: flex-start; } summary::-webkit-details-marker { display: none; } summary::before { content: '▶'; font-size: 1.2em; color: #FFA500; margin-right: 15px; padding-top: 5px; transition: transform 0.2s ease; flex-shrink: 0; } details[open] summary::before { transform: rotate(90deg); } summary h2 { flex-grow: 1; } .format-list { margin: 1.5em 0; } .format-list dt { color: #FFA500; font-family: 'Cinzel', serif; font-weight: 600; font-size: 1.3em; text-shadow: 0 0 8px rgba(255, 140, 0, 0.5); margin-bottom: 0.6em; } .format-list dd { margin-left: 0; margin-bottom: 1.5em; background-color: rgba(28, 22, 18, 0.95); padding: 12px 15px; border-radius: 6px; border: 1px solid rgba(255, 140, 0, 0.2); border-left: 4px solid #FFA500; } .format-list dd:last-of-type { margin-bottom: 0; } Qwen3.5-27B-Animus-V13.0-GGUF Send me your support to help me feed the data beast! also taking comissions for universe specific models Support on Ko-fi Important: Chat Template This model uses the Qwen35/ChatML instruction template. Ensure your client is configured correctly to avoid degraded performance. Human-Readable Format: system {{SYSTEMPROMPT}} user {{USERMESSAGE}} assistant {{REASONING}} {{ASSISTANTRESPONSE}} ✅ Chat Completion (recommended): Use your inference server's built-in chat template (llama.cpp, TabbyAPI, vllm, etc.). The correct formatting is handled automatically — no manual configuration needed. ⚠️ Text Completion: You must manage tokens manually to match the Qwen35/ChatML format, ensuring correct use of , , and newline characters as shown in the Jinja template. Jinja Template: Click to view Jinja Template {%- set imagecount = namespace(value=0) %} {%- set videocount = namespace(value=0) %} {%- macro rendercontent(content, dovisioncount, issystemcontent=false) %} {%- if content is string %} {{- content }} {%- elif content is iterable and content is not mapping %} {%- for item in content %} {%- if 'image' in item or 'imageurl' in item or item.type == 'image' %} {%- if issystemcontent %} {{- raiseexception('System message cannot contain images.') }} {%- endif %} {%- if dovisioncount %} {%- set imagecount.value = imagecount.value + 1 %} {%- endif %} {%- if addvisionid %} {{- 'Picture ' ~ imagecount.value ~ ': ' }} {%- endif %} {{- '<|visionstart|><|imagepad|><|visionend|>' }} {%- elif 'video' in item or item.type == 'video' %} {%- if issystemcontent %} {{- raiseexception('System message cannot contain videos.') }} {%- endif %} {%- if dovisioncount %} {%- set videocount.value = videocount.value + 1 %} {%- endif %} {%- if addvisionid %} {{- 'Video ' ~ videocount.value ~ ': ' }} {%- endif %} {{- '<|visionstart|><|videopad|><|visionend|>' }} {%- elif 'text' in item %} {{- item.text }} {%- else %} {{- raiseexception('Unexpected item type in content.') }} {%- endif %} {%- endfor %} {%- elif content is none or content is undefined %} {{- '' }} {%- else %} {{- raiseexception('Unexpected content type.') }} {%- endif %} {%- endmacro %} {%- if not messages %} {{- raiseexception('No messages provided.') }} {%- endif %} {%- if tools and tools is iterable and tools is not mapping %} {{- '<|imstart|>system\n' }} {{- "# Tools\n\nYou have access to the following functions:\n\n<tools>" }} {%- for tool in tools %} {{- "\n" }} {{- tool | tojson }} {%- endfor %} {{- "\n</tools>" }} {{- '\n\nIf you choose to call a function ONLY reply in the following format with NO suffix:\n\n<toolcall>\n<function=examplefunctionname>\n<parameter=exampleparameter1>\nvalue1\n</parameter>\n<parameter=exampleparameter2>\nThis is the value for the second parameter\nthat can span\nmultiple lines\n</parameter>\n</function>\n</toolcall>\n\n<IMPORTANT>\nReminder:\n- Function calls MUST follow the specified format: an inner <function=...></function> block must be nested within <toolcall></toolcall> 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>' }} {%- if messages[0].role == 'system' %} {%- set content = rendercontent(messages[0].content, false, true)|trim %} {%- if content %} {{- '\n\n' + content }} {%- endif %} {%- endif %} {{- '<|imend|>\n' }} {%- else %} {%- if messages[0].role == 'system' %} {%- set content = rendercontent(messages[0].content, false, true)|trim %} {{- '<|imstart|>system\n' + content + '<|imend|>\n' }} {%- endif %} {%- endif %} {%- set ns = namespace(multisteptool=true, lastqueryindex=messages|length - 1) %} {%- for message in messages[::-1] %} {%- set index = (messages|length - 1) - loop.index0 %} {%- if ns.multisteptool and message.role == "user" %} {%- set content = rendercontent(message.content, false)|trim %} {%- if not(content.startswith('<toolresponse>') and content.endswith('</toolresponse>')) %} {%- set ns.multisteptool = false %} {%- set ns.lastqueryindex = index %} {%- endif %} {%- endif %} {%- endfor %} {%- if ns.multisteptool %} {{- raiseexception('No user query found in messages.') }} {%- endif %} {%- for message in messages %} {%- set content = rendercontent(message.content, true)|trim %} {%- if message.role == "system" %} {%- if not loop.first %} {{- raiseexception('System message must be at the beginning.') }} {%- endif %} {%- elif message.role == "user" %} {{- '<|imstart|>' + message.role + '\n' + content + '<|imend|>' + '\n' }} {%- elif message.role == "assistant" %} {%- set reasoningcontent = '' %} {%- if message.reasoningcontent is string %} {%- set reasoningcontent = message.reasoningcontent %} {%- else %} {%- if '</think>' in content %} {%- set reasoningcontent = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %} {%- set content = content.split('</think>')[-1].lstrip('\n') %} {%- endif %} {%- endif %} {%- set reasoningcontent = reasoningcontent|trim %} {%- if loop.index0 ns.lastqueryindex %} {{- '<|imstart|>' + message.role + '\n<think>\n' + reasoningcontent + '\n</think>\n\n' + content }} {%- else %} {{- '<|imstart|>' + message.role + '\n' + content }} {%- endif %} {%- if message.toolcalls and message.toolcalls is iterable and message.toolcalls is not mapping %} {%- for toolcall in message.toolcalls %} {%- if toolcall.function is defined %} {%- set toolcall = toolcall.function %} {%- endif %} {%- if loop.first %} {%- if content|trim %} {{- '\n\n<toolcall>\n<function=' + toolcall.name + '>\n' }} {%- else %} {{- '<toolcall>\n<function=' + toolcall.name + '>\n' }} {%- endif %} {%- else %} {{- '\n<toolcall>\n<function=' + toolcall.name + '>\n' }} {%- endif %} {%- if toolcall.arguments is defined %} {%- for argsname, argsvalue in toolcall.arguments|items %} {{- '<parameter=' + argsname + '>\n' }} {%- set argsvalue = argsvalue | tojson | safe if argsvalue is mapping or (argsvalue is sequence and argsvalue is not string) else argsvalue | string %} {{- argsvalue }} {{- '\n</parameter>\n' }} {%- endfor %} {%- endif %} {{- '</function>\n</toolcall>' }} {%- endfor %} {%- endif %} {{- '<|imend|>\n' }} {%- elif message.role == "tool" %} {%- if loop.previtem and loop.previtem.role != "tool" %} {{- '<|imstart|>user' }} {%- endif %} {{- '\n<toolresponse>\n' }} {{- content }} {{- '\n</toolresponse>' }} {%- if not loop.last and loop.nextitem.role != "tool" %} {{- '<|imend|>\n' }} {%- elif loop.last %} {{- '<|imend|>\n' }} {%- endif %} {%- else %} {{- raiseexception('Unexpected message role.') }} {%- endif %} {%- endfor %} {%- if addgenerationprompt %} {{- '<|imstart|>assistant\n' }} {%- if enablethinking is defined and enablethinking is false %} {{- '<think>\n\n</think>\n\n' }} {%- else %} {{- '<think>\n' }} {%- endif %} {%- endif %} Quantized Models The quantized model files are available for download. Click the buttons below to view the files. Download EXL3 Files → Download PTQ Files → Character Card & Lore Book For the best roleplaying experience, it is highly recommended to use the provided character card and lore book. These files help guide the model's persona and provide rich, in-universe context. Download Files → Sampler Presets For a seamless setup in SillyTavern, you can download pre-configured sampler presets. These are tuned to provide an optimal balance between creativity and narrative coherence for this model. Simply download the .json file below and import it into SillyTavern's sampler presets menu. Download SillyTavern Presets → For those that dont use silly tavern, Samplers settings are: Temperature: 0.7 Top P: 0.8 Top K: 20 Min P: 0.0 Presence Penalty: 1.5 Repetition Penalty: 1.0 Roleplay Format Guide For the best results, use this structured format. This helps the AI clearly distinguish between actions, inner thoughts, and dialogue. Actions / Descriptions He walked across the room and stared out the window. Inner Thoughts -I wonder what she's thinking.- Dialogue Alex (Curious): "What do you see out there?" Standard novel-style formatting is also understood, but this structured format is preferred for clarity. Roleplay Example Click the button below to view a full, unedited chatlog demonstrating the model's narrative style and character portrayal. View Chatlog Example → Model Description This is Version 13.0, in the Animus series. V13.0 is a direct fine-tune of Qwen/Qwen3.5-27B. V13.0's strength comes from a novel dataset designed to teach the model the why behind the lore, not just the what. The training data is a mix of: A 3,000-example Q&A dataset: This data is framed as an in-character study session, like a student at Jade Mountain Academy learning about the history, relationships, and politics of Pyrrhia's tribes. This provides a deep, contextual understanding of the universe. A 3,000-example uncensored roleplay dataset: The same high-quality, mature roleplay scenarios used in previous versions, ensuring the model maintains its engaging and dynamic narrative capabilities. The result is a model with exceptionally strong prose and a deep grasp of in-universe lore, making for a highly immersive and accurate roleplaying experience. Note for roleplay, it follows system prompt and first message, meaning if the first assistant message is short, the following messages will be short. Training Details V13.0 Training Process V13.0 marks a shift from model merging to a focused, direct fine-tuning approach. This allows for greater control over the final model's characteristics. Base Model: Qwen/Qwen3.5-27B Hardware: locally on 4x3090 Training Time: 72 hours Epochs: 2 Rank: 128 Training Dataset The V13.0 dataset consists of 6,000 high-quality examples, a combination of two distinct types: In-Character Q&A (3,000 examples): This new dataset simulates a student at Jade Mountain Academy studying the world's lore. It's composed of roleplay-style questions and answers covering tribe history, family dynamics, and political relationships. This method builds a foundational, interconnected understanding of the lore. Uncensored Roleplay (3,000 examples): This is the same mature, canon-centric dataset refined for previous versions. It explores pivotal "what-if" scenarios from the books using only canon characters, ensuring the model can handle complex and dramatic narratives. Both datasets underwent a rigorous cleaning process to remove formatting artifacts, such as scene transitions, resulting in a cleaner and more natural narrative style. Intended Use & Limitations Intended Use: The primary purpose of this model is for creative and roleplaying within the Wings of Fire universe. However, user feedback indicates it is also highly effective for general-purpose roleplaying. Limitations & Quirks: Performance on tasks outside of its training domain (general knowledge, coding, etc.) is not guaranteed and will likely be poor. Versatility: While it appears to be only a Wings of Fire tuned model, users have reported it is very capable of performing normal roleplay with other settings and characters. The model may "hallucinate" or generate plausible but non-canonical information, especially when pushed outside the established "what-if" scenarios. Content: The training data includes mature and darker themes from the Wings of Fire series, such as conflict, character death, and moral ambiguity. The model is capable of generating content reflecting these themes. As always, it is up to the user what they do with it. Formatting: Training data was cleaned to remove narrative artifacts like scene transitions. The model should now produce cleaner prose. Safety: This model has not undergone additional safety alignment beyond what was included in its base model. Standard responsible AI practices should be followed. Acknowledgements Credit to Alibaba Cloud/Qwen team for the powerful Qwen3.5-27B model. Credit to Google for the Gemini Pro model, used in dataset generation. Credit to Anthropic for sonnet 4.5, used in dataset generation. Credit to Hangzhou DeepSeek Artificial Intelligence for the deepseek model, used in dataset generation. Credit to Moonshot AI for the Kimi K2 model, used in dataset generation.
Repository Files & Downloads
| File | Type | Quantization | Size | Link |
|---|---|---|---|---|
| Qwen3.5-27B-Animus-V13.0-IQ4_NL.gguf | GGUF | IQ4_NL | 14.80 GB | Download |
| Qwen3.5-27B-Animus-V13.0-IQ4_XS.gguf | GGUF | IQ4_XS | 14.15 GB | Download |
| Qwen3.5-27B-Animus-V13.0-Q2_K.gguf | GGUF | Q2_K | 9.98 GB | Download |
| Qwen3.5-27B-Animus-V13.0-Q3_K_L.gguf | GGUF | Q3_K_L | 13.36 GB | Download |
| Qwen3.5-27B-Animus-V13.0-Q4_K_M.gguf | GGUF | Q4_K_M | 15.41 GB | Download |
| Qwen3.5-27B-Animus-V13.0-Q5_K_M.gguf | GGUF | Q5_K_M | 17.91 GB | Download |
| Qwen3.5-27B-Animus-V13.0-Q6_K.gguf | GGUF | Q6_K | 20.57 GB | Download |
| Qwen3.5-27B-Animus-V13.0-Q8_0.gguf | GGUF | — | 26.63 GB | Download |
| Qwen3.5-27B-Animus-V13.0-Q8_0_attn8_ssm8_hb16.gguf | GGUF | — | 28.85 GB | Download |
Model Details Live
Metadata Inspector
Normalized metadata (stored in metadata_json)
{
"metadata": {},
"card_data": {
"license": "apache-2.0",
"tags": [
"finetune",
"roleplay",
"chat",
"wings-of-fire",
"nsfw",
"not-for-all-audiences"
],
"base_model": [
"Darkhn/Qwen3.5-27B-Animus-V13.0"
],
"base_model_relation": "quantized",
"frontmatter": {
"license": "apache-2.0",
"tags": [
"finetune",
"roleplay",
"chat",
"wings-of-fire",
"nsfw",
"not-for-all-audiences"
],
"base_model": [
"Darkhn/Qwen3.5-27B-Animus-V13.0"
],
"base_model_relation": "quantized"
},
"hero_image_url": "image.png",
"summary": "body { font-family: 'Quicksand', sans-serif; background: linear-gradient(135deg, #4a1e00 0%, #1c0a00 100%); color: #F5EFE6; margin: 0; padding: 0; font-size: 16px; } h1, h2, h3, h4, summary { font-family: 'Cinzel', serif; } .container { margin: 20px auto; max-width: 900px; background-color: rgba(28, 22, 18, 0.95); padding: 30px; border-radius: 12px; box-shadow: 0 4px 20px rgba(255, 140, 0, 0.15); border: 1px solid rgba(255, 140, 0, 0.2); outline: 1px solid rgba(255, 140, 0, 0.5); outline-offset: -1px; position: relative; } .container::before { content: ''; position: absolute; top: -1px; left: -1px; right: -1px; bottom: -1px; border: 1px solid rgba(255, 165, 0, 0.98); border-radius: 12px; pointer-events: none; animation: borderGlow 2.5s ease-in-out infinite; } @keyframes borderGlow { 0% { box-shadow: 0 0 5px rgba(255, 165, 0, 0.98); } 50% { box-shadow: 0 0 12px rgba(255, 165, 0, 0.98); } 100% { box-shadow: 0 0 5px rgba(255, 165, 0, 0.98); } } .header h1 { font-size: 32px; color: #FFA500; margin: 0 0 20px 0; text-align: center; text-shadow: 0 0 12px rgba(255, 100, 0, 0.6); } .info img { width: 100%; max-width: 700px; display: block; margin: 0 auto 25px auto; border-radius: 10px; box-shadow: 0 0 20px rgba(255, 140, 0, 0.25); border: 1px solid rgba(255, 140, 0, 0.2); outline: 1px solid rgba(255, 140, 0, 0.5); outline-offset: -1px; } a { color: #FFD700; text-decoration: none; transition: color 0.3s ease; } a:hover { color: #FFDAB9; } .button { display: inline-block; background-color: #E55B00; color: #FFFFFF; padding: 12px 24px; border-radius: 5px; cursor: pointer; text-decoration: none; font-family: 'Cinzel', serif; font-weight: 600; transition: all 0.3s ease; border: 1px solid transparent; } .button:hover { background-color: #FF8C00; box-shadow: 0 0 15px rgba(255, 140, 0, 0.5); transform: translateY(-2px); } pre { background-color: rgba(45, 35, 25, 0.95); padding: 15px; border-radius: 5px; overflow-x: auto; border: 1px solid rgba(255, 140, 0, 0.2); outline: 1px solid rgba(255, 140, 0, 0.5); outline-offset: -1px; } code { font-family: 'Courier New', monospace; color: #F5EFE6; } .section-container { margin: 40px 0; } h2 { font-size: 26px; color: #FFA500; text-shadow: 0 0 10px rgba(255, 140, 0, 0.5); border-bottom: 1px solid rgba(255, 140, 0, 0.2); padding-bottom: 10px; margin-bottom: 20px; } .info-card { background: rgba(45, 35, 25, 0.95); border: 1px solid rgba(255, 140, 0, 0.2); border-radius: 8px; overflow: hidden; margin-bottom: 25px; } .info-header { background: rgba(255, 140, 0, 0.1); padding: 20px; border-bottom: 1px solid rgba(255, 140, 0, 0.2); } .info-header h3 { color: #FFA500; margin: 0 0 10px 0; font-size: 22px; text-shadow: 0 0 5px rgba(255, 140, 0, 0.3); } .model-tags { display: flex; gap: 8px; flex-wrap: wrap; } .model-tag { background: rgba(218, 165, 32, 0.15); color: #FFD700; padding: 4px 8px; border-radius: 4px; font-size: 12px; border: 1px solid rgba(218, 165, 32, 0.3); font-family: 'Quicksand', sans-serif; } .card-content { padding: 20px; line-height: 1.7; } .card-content p, .card-content li { margin-bottom: 1em; } .card-content p:last-child, .card-content li:last-child { margin-bottom: 0; } .card-content ul { list-style: none; padding-left: 20px; } .card-content li::before { content: '✦'; color: #FFD700; font-weight: bold; display: inline-block; width: 1em; margin-left: -1.2em; font-size: 1.2em; line-height: 1; } .card-content strong { color: #FFD700; font-weight: 600; } .config-container { background: rgba(45, 35, 25, 0.95); border: 1px solid rgba(255, 140, 0, 0.2); border-radius: 8px; overflow: hidden; } .config-header { background: rgba(255, 140, 0, 0.1); padding: 15px 20px; border-bottom: 1px solid rgba(255, 140, 0, 0.2); } .config-header h3 { margin: 0; color: #FFA500; font-size: 22px; } .config-content { padding: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; } .config-item { display: flex; flex-direction: column; gap: 5px; } .config-label { color: #FFD700; font-size: 14px; font-weight: 500; font-family: 'Quicksand', sans-serif; } .config-value { color: #F5EFE6; font-family: 'Courier New', monospace; font-size: 18px; font-weight: bold; } .link-arrow { display: inline-block; transition: transform 0.3s ease; } a:hover .link-arrow { transform: translateX(3px); } .support-section { text-align: center; margin-top: 40px; background: rgba(45, 35, 25, 0.95); border: 1px solid rgba(255, 140, 0, 0.2); border-radius: 8px; padding: 20px; } .support-section p { margin-bottom: 15px; font-size: 1.1em; margin-top: 0; } summary { cursor: pointer; list-style: none; outline: none; display: flex; align-items: flex-start; } summary::-webkit-details-marker { display: none; } summary::before { content: '▶'; font-size: 1.2em; color: #FFA500; margin-right: 15px; padding-top: 5px; transition: transform 0.2s ease; flex-shrink: 0; } details[open] > summary::before { transform: rotate(90deg); } summary > h2 { flex-grow: 1; } .format-list { margin: 1.5em 0; } .format-list dt { color: #FFA500; font-family: 'Cinzel', serif; font-weight: 600; font-size: 1.3em; text-shadow: 0 0 8px rgba(255, 140, 0, 0.5); margin-bottom: 0.6em; } .format-list dd { margin-left: 0; margin-bottom: 1.5em; background-color: rgba(28, 22, 18, 0.95); padding: 12px 15px; border-radius: 6px; border: 1px solid rgba(255, 140, 0, 0.2); border-left: 4px solid #FFA500; } .format-list dd:last-of-type { margin-bottom: 0; } Qwen3.5-27B-Animus-V13.0-GGUF Send me your support to help me feed the data beast! also taking comissions for universe specific models Support on Ko-fi Important: Chat Template This model uses the Qwen3_5/ChatML instruction template. Ensure your client is configured correctly to avoid degraded performance. Human-Readable Format: system {{SYSTEM_PROMPT}} user {{USER_MESSAGE}} assistant {{REASONING}} {{ASSISTANT_RESPONSE}} ✅ Chat Completion (recommended): Use your inference server's built-in chat template (llama.cpp, TabbyAPI, vllm, etc.). The correct formatting is handled automatically — no manual configuration needed. ⚠️ Text Completion: You must manage tokens manually to match the Qwen3_5/ChatML format, ensuring correct use of , , and newline characters as shown in the Jinja template. Jinja Template: Click to view Jinja Template {%- set image_count = namespace(value=0) %} {%- set video_count = namespace(value=0) %} {%- macro render_content(content, do_vision_count, is_system_content=false) %} {%- if content is string %} {{- content }} {%- elif content is iterable and content is not mapping %} {%- for item in content %} {%- if 'image' in item or 'image_url' in item or item.type == 'image' %} {%- if is_system_content %} {{- raise_exception('System message cannot contain images.') }} {%- endif %} {%- if do_vision_count %} {%- set image_count.value = image_count.value + 1 %} {%- endif %} {%- if add_vision_id %} {{- 'Picture ' ~ image_count.value ~ ': ' }} {%- endif %} {{- '<|vision_start|><|image_pad|><|vision_end|>' }} {%- elif 'video' in item or item.type == 'video' %} {%- if is_system_content %} {{- raise_exception('System message cannot contain videos.') }} {%- endif %} {%- if do_vision_count %} {%- set video_count.value = video_count.value + 1 %} {%- endif %} {%- if add_vision_id %} {{- 'Video ' ~ video_count.value ~ ': ' }} {%- endif %} {{- '<|vision_start|><|video_pad|><|vision_end|>' }} {%- elif 'text' in item %} {{- item.text }} {%- else %} {{- raise_exception('Unexpected item type in content.') }} {%- endif %} {%- endfor %} {%- elif content is none or content is undefined %} {{- '' }} {%- else %} {{- raise_exception('Unexpected content type.') }} {%- endif %} {%- endmacro %} {%- if not messages %} {{- raise_exception('No messages provided.') }} {%- endif %} {%- if tools and tools is iterable and tools is not mapping %} {{- '<|im_start|>system\\n' }} {{- \"# Tools\\n\\nYou have access to the following functions:\\n\\n<tools>\" }} {%- for tool in tools %} {{- \"\\n\" }} {{- tool | tojson }} {%- endfor %} {{- \"\\n</tools>\" }} {{- '\\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>' }} {%- if messages[0].role == 'system' %} {%- set content = render_content(messages[0].content, false, true)|trim %} {%- if content %} {{- '\\n\\n' + content }} {%- endif %} {%- endif %} {{- '<|im_end|>\\n' }} {%- else %} {%- if messages[0].role == 'system' %} {%- set content = render_content(messages[0].content, false, true)|trim %} {{- '<|im_start|>system\\n' + content + '<|im_end|>\\n' }} {%- endif %} {%- endif %} {%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %} {%- for message in messages[::-1] %} {%- set index = (messages|length - 1) - loop.index0 %} {%- if ns.multi_step_tool and message.role == \"user\" %} {%- set content = render_content(message.content, false)|trim %} {%- if not(content.startswith('<tool_response>') and content.endswith('</tool_response>')) %} {%- set ns.multi_step_tool = false %} {%- set ns.last_query_index = index %} {%- endif %} {%- endif %} {%- endfor %} {%- if ns.multi_step_tool %} {{- raise_exception('No user query found in messages.') }} {%- endif %} {%- for message in messages %} {%- set content = render_content(message.content, true)|trim %} {%- if message.role == \"system\" %} {%- if not loop.first %} {{- raise_exception('System message must be at the beginning.') }} {%- endif %} {%- elif message.role == \"user\" %} {{- '<|im_start|>' + message.role + '\\n' + content + '<|im_end|>' + '\\n' }} {%- elif message.role == \"assistant\" %} {%- set reasoning_content = '' %} {%- if message.reasoning_content is string %} {%- set reasoning_content = message.reasoning_content %} {%- else %} {%- if '</think>' in content %} {%- set reasoning_content = content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %} {%- set content = content.split('</think>')[-1].lstrip('\\n') %} {%- endif %} {%- endif %} {%- set reasoning_content = reasoning_content|trim %} {%- if loop.index0 > ns.last_query_index %} {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content + '\\n</think>\\n\\n' + content }} {%- else %} {{- '<|im_start|>' + message.role + '\\n' + content }} {%- endif %} {%- if message.tool_calls and message.tool_calls is iterable and message.tool_calls is not mapping %} {%- for tool_call in message.tool_calls %} {%- if tool_call.function is defined %} {%- set tool_call = tool_call.function %} {%- endif %} {%- if loop.first %} {%- if content|trim %} {{- '\\n\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }} {%- else %} {{- '<tool_call>\\n<function=' + tool_call.name + '>\\n' }} {%- endif %} {%- else %} {{- '\\n<tool_call>\\n<function=' + tool_call.name + '>\\n' }} {%- endif %} {%- if tool_call.arguments is defined %} {%- for args_name, args_value in tool_call.arguments|items %} {{- '<parameter=' + args_name + '>\\n' }} {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %} {{- args_value }} {{- '\\n</parameter>\\n' }} {%- endfor %} {%- endif %} {{- '</function>\\n</tool_call>' }} {%- endfor %} {%- endif %} {{- '<|im_end|>\\n' }} {%- elif message.role == \"tool\" %} {%- if loop.previtem and loop.previtem.role != \"tool\" %} {{- '<|im_start|>user' }} {%- endif %} {{- '\\n<tool_response>\\n' }} {{- content }} {{- '\\n</tool_response>' }} {%- if not loop.last and loop.nextitem.role != \"tool\" %} {{- '<|im_end|>\\n' }} {%- elif loop.last %} {{- '<|im_end|>\\n' }} {%- endif %} {%- else %} {{- raise_exception('Unexpected message role.') }} {%- endif %} {%- endfor %} {%- if add_generation_prompt %} {{- '<|im_start|>assistant\\n' }} {%- if enable_thinking is defined and enable_thinking is false %} {{- '<think>\\n\\n</think>\\n\\n' }} {%- else %} {{- '<think>\\n' }} {%- endif %} {%- endif %} Quantized Models The quantized model files are available for download. Click the buttons below to view the files. Download EXL3 Files → Download PTQ Files → Character Card & Lore Book For the best roleplaying experience, it is highly recommended to use the provided character card and lore book. These files help guide the model's persona and provide rich, in-universe context. Download Files → Sampler Presets For a seamless setup in SillyTavern, you can download pre-configured sampler presets. These are tuned to provide an optimal balance between creativity and narrative coherence for this model. Simply download the .json file below and import it into SillyTavern's sampler presets menu. Download SillyTavern Presets → For those that dont use silly tavern, Samplers settings are: Temperature: 0.7 Top P: 0.8 Top K: 20 Min P: 0.0 Presence Penalty: 1.5 Repetition Penalty: 1.0 Roleplay Format Guide For the best results, use this structured format. This helps the AI clearly distinguish between actions, inner thoughts, and dialogue. Actions / Descriptions *He walked across the room and stared out the window.* Inner Thoughts *-I wonder what she's thinking.-* Dialogue Alex (Curious): \"What do you see out there?\" Standard novel-style formatting is also understood, but this structured format is preferred for clarity. Roleplay Example Click the button below to view a full, unedited chatlog demonstrating the model's narrative style and character portrayal. View Chatlog Example → Model Description This is Version 13.0, in the Animus series. V13.0 is a direct fine-tune of Qwen/Qwen3.5-27B. V13.0's strength comes from a novel dataset designed to teach the model the why behind the lore, not just the what. The training data is a mix of: A 3,000-example Q&A dataset: This data is framed as an in-character study session, like a student at Jade Mountain Academy learning about the history, relationships, and politics of Pyrrhia's tribes. This provides a deep, contextual understanding of the universe. A 3,000-example uncensored roleplay dataset: The same high-quality, mature roleplay scenarios used in previous versions, ensuring the model maintains its engaging and dynamic narrative capabilities. The result is a model with exceptionally strong prose and a deep grasp of in-universe lore, making for a highly immersive and accurate roleplaying experience. Note for roleplay, it follows system prompt and first message, meaning if the first assistant message is short, the following messages will be short. Training Details V13.0 Training Process V13.0 marks a shift from model merging to a focused, direct fine-tuning approach. This allows for greater control over the final model's characteristics. Base Model: Qwen/Qwen3.5-27B Hardware: locally on 4x3090 Training Time: 72 hours Epochs: 2 Rank: 128 Training Dataset The V13.0 dataset consists of 6,000 high-quality examples, a combination of two distinct types: In-Character Q&A (3,000 examples): This new dataset simulates a student at Jade Mountain Academy studying the world's lore. It's composed of roleplay-style questions and answers covering tribe history, family dynamics, and political relationships. This method builds a foundational, interconnected understanding of the lore. Uncensored Roleplay (3,000 examples): This is the same mature, canon-centric dataset refined for previous versions. It explores pivotal \"what-if\" scenarios from the books using only canon characters, ensuring the model can handle complex and dramatic narratives. Both datasets underwent a rigorous cleaning process to remove formatting artifacts, such as **scene transitions**, resulting in a cleaner and more natural narrative style. Intended Use & Limitations Intended Use: The primary purpose of this model is for creative and roleplaying within the Wings of Fire universe. However, user feedback indicates it is also highly effective for general-purpose roleplaying. Limitations & Quirks: Performance on tasks outside of its training domain (general knowledge, coding, etc.) is not guaranteed and will likely be poor. Versatility: While it appears to be only a Wings of Fire tuned model, users have reported it is very capable of performing normal roleplay with other settings and characters. The model may \"hallucinate\" or generate plausible but non-canonical information, especially when pushed outside the established \"what-if\" scenarios. Content: The training data includes mature and darker themes from the Wings of Fire series, such as conflict, character death, and moral ambiguity. The model is capable of generating content reflecting these themes. As always, it is up to the user what they do with it. Formatting: Training data was cleaned to remove narrative artifacts like **scene transitions**. The model should now produce cleaner prose. Safety: This model has not undergone additional safety alignment beyond what was included in its base model. Standard responsible AI practices should be followed. Acknowledgements Credit to Alibaba Cloud/Qwen team for the powerful Qwen3.5-27B model. Credit to Google for the Gemini Pro model, used in dataset generation. Credit to Anthropic for sonnet 4.5, used in dataset generation. Credit to Hangzhou DeepSeek Artificial Intelligence for the deepseek model, used in dataset generation. Credit to Moonshot AI for the Kimi K2 model, used in dataset generation.",
"quick_links": [],
"benchmark_table_html": "",
"readme_markdown": "---\nlicense: apache-2.0\ntags:\n- finetune\n- roleplay\n- chat\n- wings-of-fire\n- nsfw\n- not-for-all-audiences\nbase_model:\n- Darkhn/Qwen3.5-27B-Animus-V13.0\nbase_model_relation: quantized\n---\n\n<style>\nbody {\n font-family: 'Quicksand', sans-serif;\n background: linear-gradient(135deg, #4a1e00 0%, #1c0a00 100%);\n color: #F5EFE6;\n margin: 0;\n padding: 0;\n font-size: 16px;\n}\n\nh1, h2, h3, h4, summary {\n font-family: 'Cinzel', serif;\n}\n\n.container {\n margin: 20px auto;\n max-width: 900px;\n background-color: rgba(28, 22, 18, 0.95);\n padding: 30px;\n border-radius: 12px;\n box-shadow: 0 4px 20px rgba(255, 140, 0, 0.15);\n border: 1px solid rgba(255, 140, 0, 0.2);\n outline: 1px solid rgba(255, 140, 0, 0.5);\n outline-offset: -1px;\n position: relative;\n}\n\n.container::before {\n content: '';\n position: absolute;\n top: -1px;\n left: -1px;\n right: -1px;\n bottom: -1px;\n border: 1px solid rgba(255, 165, 0, 0.98);\n border-radius: 12px;\n pointer-events: none;\n animation: borderGlow 2.5s ease-in-out infinite;\n}\n\n@keyframes borderGlow {\n 0% {\n box-shadow: 0 0 5px rgba(255, 165, 0, 0.98);\n }\n 50% {\n box-shadow: 0 0 12px rgba(255, 165, 0, 0.98);\n }\n 100% {\n box-shadow: 0 0 5px rgba(255, 165, 0, 0.98);\n }\n}\n\n.header h1 {\n font-size: 32px;\n color: #FFA500;\n margin: 0 0 20px 0;\n text-align: center;\n text-shadow: 0 0 12px rgba(255, 100, 0, 0.6);\n}\n\n.info img {\n width: 100%;\n max-width: 700px;\n display: block;\n margin: 0 auto 25px auto;\n border-radius: 10px;\n box-shadow: 0 0 20px rgba(255, 140, 0, 0.25);\n border: 1px solid rgba(255, 140, 0, 0.2);\n outline: 1px solid rgba(255, 140, 0, 0.5);\n outline-offset: -1px;\n}\n\na {\n color: #FFD700;\n text-decoration: none;\n transition: color 0.3s ease;\n}\n\na:hover {\n color: #FFDAB9;\n}\n\n.button {\n display: inline-block;\n background-color: #E55B00;\n color: #FFFFFF;\n padding: 12px 24px;\n border-radius: 5px;\n cursor: pointer;\n text-decoration: none;\n font-family: 'Cinzel', serif;\n font-weight: 600;\n transition: all 0.3s ease;\n border: 1px solid transparent;\n}\n\n.button:hover {\n background-color: #FF8C00;\n box-shadow: 0 0 15px rgba(255, 140, 0, 0.5);\n transform: translateY(-2px);\n}\n\npre {\n background-color: rgba(45, 35, 25, 0.95);\n padding: 15px;\n border-radius: 5px;\n overflow-x: auto;\n border: 1px solid rgba(255, 140, 0, 0.2);\n outline: 1px solid rgba(255, 140, 0, 0.5);\n outline-offset: -1px;\n}\n\ncode {\n font-family: 'Courier New', monospace;\n color: #F5EFE6;\n}\n\n.section-container {\n margin: 40px 0;\n}\n\nh2 {\n font-size: 26px;\n color: #FFA500;\n text-shadow: 0 0 10px rgba(255, 140, 0, 0.5);\n border-bottom: 1px solid rgba(255, 140, 0, 0.2);\n padding-bottom: 10px;\n margin-bottom: 20px;\n}\n\n.info-card {\n background: rgba(45, 35, 25, 0.95);\n border: 1px solid rgba(255, 140, 0, 0.2);\n border-radius: 8px;\n overflow: hidden;\n margin-bottom: 25px;\n}\n\n.info-header {\n background: rgba(255, 140, 0, 0.1);\n padding: 20px;\n border-bottom: 1px solid rgba(255, 140, 0, 0.2);\n}\n\n.info-header h3 {\n color: #FFA500;\n margin: 0 0 10px 0;\n font-size: 22px;\n text-shadow: 0 0 5px rgba(255, 140, 0, 0.3);\n}\n\n.model-tags {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n\n.model-tag {\n background: rgba(218, 165, 32, 0.15);\n color: #FFD700;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 12px;\n border: 1px solid rgba(218, 165, 32, 0.3);\n font-family: 'Quicksand', sans-serif;\n}\n\n.card-content {\n padding: 20px;\n line-height: 1.7;\n}\n\n.card-content p, .card-content li {\n margin-bottom: 1em;\n}\n\n.card-content p:last-child, .card-content li:last-child {\n margin-bottom: 0;\n}\n\n.card-content ul {\n list-style: none;\n padding-left: 20px;\n}\n\n.card-content li::before {\n content: '✦';\n color: #FFD700;\n font-weight: bold;\n display: inline-block;\n width: 1em;\n margin-left: -1.2em;\n font-size: 1.2em;\n line-height: 1;\n}\n\n.card-content strong {\n color: #FFD700;\n font-weight: 600;\n}\n\n.config-container {\n background: rgba(45, 35, 25, 0.95);\n border: 1px solid rgba(255, 140, 0, 0.2);\n border-radius: 8px;\n overflow: hidden;\n}\n\n.config-header {\n background: rgba(255, 140, 0, 0.1);\n padding: 15px 20px;\n border-bottom: 1px solid rgba(255, 140, 0, 0.2);\n}\n\n.config-header h3 {\n margin: 0;\n color: #FFA500;\n font-size: 22px;\n}\n\n.config-content {\n padding: 20px;\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 20px;\n}\n\n.config-item {\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\n.config-label {\n color: #FFD700;\n font-size: 14px;\n font-weight: 500;\n font-family: 'Quicksand', sans-serif;\n}\n\n.config-value {\n color: #F5EFE6;\n font-family: 'Courier New', monospace;\n font-size: 18px;\n font-weight: bold;\n}\n\n.link-arrow {\n display: inline-block;\n transition: transform 0.3s ease;\n}\n\na:hover .link-arrow {\n transform: translateX(3px);\n}\n\n.support-section {\n text-align: center;\n margin-top: 40px;\n background: rgba(45, 35, 25, 0.95);\n border: 1px solid rgba(255, 140, 0, 0.2);\n border-radius: 8px;\n padding: 20px;\n}\n\n.support-section p {\n margin-bottom: 15px;\n font-size: 1.1em;\n margin-top: 0;\n}\n\nsummary {\n cursor: pointer;\n list-style: none;\n outline: none;\n display: flex;\n align-items: flex-start;\n}\nsummary::-webkit-details-marker {\n display: none;\n}\nsummary::before {\n content: '▶';\n font-size: 1.2em;\n color: #FFA500;\n margin-right: 15px;\n padding-top: 5px;\n transition: transform 0.2s ease;\n flex-shrink: 0;\n}\ndetails[open] > summary::before {\n transform: rotate(90deg);\n}\nsummary > h2 {\n flex-grow: 1;\n}\n\n.format-list {\n margin: 1.5em 0;\n}\n\n.format-list dt {\n color: #FFA500;\n font-family: 'Cinzel', serif;\n font-weight: 600;\n font-size: 1.3em;\n text-shadow: 0 0 8px rgba(255, 140, 0, 0.5);\n margin-bottom: 0.6em;\n}\n\n.format-list dd {\n margin-left: 0;\n margin-bottom: 1.5em;\n background-color: rgba(28, 22, 18, 0.95);\n padding: 12px 15px;\n border-radius: 6px;\n border: 1px solid rgba(255, 140, 0, 0.2);\n border-left: 4px solid #FFA500;\n}\n\n.format-list dd:last-of-type {\n margin-bottom: 0;\n}\n</style>\n<div class=\"container\">\n<link href=\"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&family=Quicksand:wght@400;500&display=swap\" rel=\"stylesheet\">\n<div class=\"header\">\n <h1>Qwen3.5-27B-Animus-V13.0-GGUF</h1>\n</div>\n<div class=\"info\">\n <img src=\"image.png\" alt=\"Wings_of_Fire\" width=\"700\">\n\n <div class=\"support-section\">\n <p><strong>Send me your support to help me feed the data beast! also taking comissions for universe specific models</strong></p>\n <a href=\"https://ko-fi.com/som1tokmynam\" target=\"_blank\" class=\"button\">\n Support on Ko-fi\n </a>\n </div>\n\n<div class=\"section-container\">\n <details open>\n <summary><h2>Important: Chat Template</h2></summary>\n <div class=\"info-card\">\n <div class=\"card-content\">\n <p>This model uses the <strong>Qwen3_5/ChatML</strong> instruction template. Ensure your client is configured correctly to avoid degraded performance.</p>\n <p><strong>Human-Readable Format:</strong></p>\n <pre><code><|im_start|>system\n{{SYSTEM_PROMPT}}<|im_end|>\n<|im_start|>user\n{{USER_MESSAGE}}<|im_end|>\n<|im_start|>assistant\n<think>\n{{REASONING}}\n</think>\n\n{{ASSISTANT_RESPONSE}}<|im_end|>\n</code></pre>\n <p><strong>✅ Chat Completion (recommended):</strong> Use your inference server's built-in chat template (llama.cpp, TabbyAPI, vllm, etc.). The correct formatting is handled automatically — no manual configuration needed.</p>\n <p><strong>⚠️ Text Completion:</strong> You must manage tokens manually to match the Qwen3_5/ChatML format, ensuring correct use of `<|im_start|>`, `<|im_end|>`, and newline characters as shown in the Jinja template.</p>\n <p><strong>Jinja Template:</strong></p>\n <details>\n <summary>Click to view Jinja Template</summary>\n <pre><code>{%- 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{%- if tools and tools is iterable and tools is not mapping %}\n {{- '<|im_start|>system\\n' }}\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 {{- '<|im_start|>system\\n' + content + '<|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 {%- else %}\n {%- if '</think>' in content %}\n {%- set reasoning_content = content.split('</think>')[0].rstrip('\\n').split('<think>')[-1].lstrip('\\n') %}\n {%- set content = content.split('</think>')[-1].lstrip('\\n') %}\n {%- endif %}\n {%- endif %}\n {%- set reasoning_content = reasoning_content|trim %}\n {%- if 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 %}\n {%- for args_name, args_value in tool_call.arguments|items %}\n {{- '<parameter=' + args_name + '>\\n' }}\n {%- set args_value = args_value | tojson | safe if args_value is mapping or (args_value is sequence and args_value is not string) else args_value | string %}\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 %}</code></pre>\n </details>\n </div>\n </div>\n </details>\n</div>\n\n<div class=\"section-container\">\n <details>\n <summary><h2>Quantized Models</h2></summary>\n <div class=\"info-card\">\n <div class=\"card-content\">\n <p>The quantized model files are available for download. Click the buttons below to view the files.</p>\n <a href=\"https://huggingface.co/Darkhn-Quants-3/Q3.5-27B-Animus-V13.0-EXL3\" target=\"_blank\" class=\"button\">\n Download EXL3 Files <span class=\"link-arrow\">→</span>\n </a>\n <a href=\"https://huggingface.co/TheHouseOfTheDude/Qwen3.5-27B-Animus-V13.0_PTQ\" target=\"_blank\" class=\"button\">\n Download PTQ Files <span class=\"link-arrow\">→</span>\n </a>\n </div>\n </div>\n </details>\n</div>\n\n <div class=\"section-container\">\n <details>\n <summary><h2>Character Card & Lore Book</h2></summary>\n <div class=\"info-card\">\n <div class=\"card-content\">\n <p>For the best roleplaying experience, it is highly recommended to use the provided character card and lore book. These files help guide the model's persona and provide rich, in-universe context.</p>\n <a href=\"https://huggingface.co/Darkhn/Sampler_settings_and_system_prompt/tree/main/character_card\" target=\"_blank\" class=\"button\">\n Download Files <span class=\"link-arrow\">→</span>\n </a>\n </div>\n </div>\n </details>\n </div>\n\n <div class=\"section-container\">\n <details>\n <summary><h2>Sampler Presets</h2></summary>\n <div class=\"info-card\">\n <div class=\"card-content\">\n <p>For a seamless setup in SillyTavern, you can download pre-configured sampler presets. These are tuned to provide an optimal balance between creativity and narrative coherence for this model.</p>\n <p>Simply download the <code>.json</code> file below and import it into SillyTavern's sampler presets menu.</p>\n <a href=\"https://huggingface.co/Darkhn/Sampler_settings_and_system_prompt/raw/main/Qwen3_5_SillyTavern_settings.json\" target=\"_blank\" class=\"button\">\n Download SillyTavern Presets <span class=\"link-arrow\">→</span>\n </a>\n <p><li>For those that dont use silly tavern, Samplers settings are:</li></p>\n <ul>\n <p><strong>Temperature:</strong> 0.7</p>\n <p><strong>Top P:</strong> 0.8</p>\n <p><strong>Top K:</strong> 20</p>\n <p><strong>Min P:</strong> 0.0</p>\n <p><strong>Presence Penalty:</strong> 1.5</p>\n <p><strong>Repetition Penalty:</strong> 1.0</p>\n </ul>\n </div>\n </div>\n </details>\n </div>\n \n <div class=\"section-container\">\n <details open>\n <summary>\n <h2>Roleplay Format Guide</h2>\n </summary>\n <div class=\"info-card\">\n <div class=\"card-content\">\n <p>For the best results, use this structured format. This helps the AI clearly distinguish between actions, inner thoughts, and dialogue.</p>\n <dl class=\"format-list\">\n <dt>Actions / Descriptions</dt>\n <dd><code>*He walked across the room and stared out the window.*</code></dd>\n <dt>Inner Thoughts</dt>\n <dd><code>*-I wonder what she's thinking.-*</code></dd>\n <dt>Dialogue</dt>\n <dd><code>Alex (Curious): \"What do you see out there?\"</code></dd>\n </dl>\n <p>Standard novel-style formatting is also understood, but this structured format is preferred for clarity.</p>\n </div>\n </div>\n </details>\n </div>\n\n <div class=\"section-container\">\n <details>\n <summary><h2>Roleplay Example</h2></summary>\n <div class=\"info-card\">\n <div class=\"card-content\">\n <p>Click the button below to view a full, unedited chatlog demonstrating the model's narrative style and character portrayal.</p>\n <a href=\"https://huggingface.co/Darkhn/Sampler_settings_and_system_prompt/blob/main/chat_logs/chatlog_mistral_large.png\" target=\"_blank\" class=\"button\">\n View Chatlog Example <span class=\"link-arrow\">→</span>\n </a>\n </div>\n </div>\n </details>\n </div>\n\n <div class=\"section-container\">\n <details open>\n <summary><h2>Model Description</h2></summary>\n <div class=\"info-card\">\n <div class=\"card-content\">\n <p>This is <strong>Version 13.0</strong>, in the Animus series. V13.0 is a direct fine-tune of <strong>Qwen/Qwen3.5-27B</strong>.</p>\n\t\t <p>V13.0's strength comes from a novel dataset designed to teach the model the <em>why</em> behind the lore, not just the <em>what</em>. The training data is a mix of:</p>\n <ul>\n <li><strong>A 3,000-example Q&A dataset:</strong> This data is framed as an in-character study session, like a student at Jade Mountain Academy learning about the history, relationships, and politics of Pyrrhia's tribes. This provides a deep, contextual understanding of the universe.</li>\n <li><strong>A 3,000-example uncensored roleplay dataset:</strong> The same high-quality, mature roleplay scenarios used in previous versions, ensuring the model maintains its engaging and dynamic narrative capabilities.</li>\n </ul>\n <p>The result is a model with <strong>exceptionally strong prose and a deep grasp of in-universe lore</strong>, making for a highly immersive and accurate roleplaying experience.</p>\n <p>Note for roleplay, it follows system prompt and first message, meaning if the first assistant message is short, the following messages will be short.</p>\n </div>\n </div>\n </details>\n </div>\n \n <div class=\"section-container\">\n <details open>\n <summary><h2>Training Details</h2></summary>\n <div class=\"info-card\">\n <div class=\"info-header\">\n <h3>V13.0 Training Process</h3>\n </div>\n <div class=\"card-content\">\n <p>V13.0 marks a shift from model merging to a focused, direct fine-tuning approach. This allows for greater control over the final model's characteristics.</p>\n <ul>\n <li><strong>Base Model:</strong> Qwen/Qwen3.5-27B</li>\n <li><strong>Hardware:</strong> locally on 4x3090</li>\n <li><strong>Training Time:</strong> 72 hours</li>\n <li><strong>Epochs:</strong> 2</li>\n <li><strong>Rank:</strong> 128</li>\n </ul>\n </div>\n </div>\n <div class=\"info-card\">\n <div class=\"info-header\">\n <h3>Training Dataset</h3>\n </div>\n <div class=\"card-content\">\n <p>The V13.0 dataset consists of <strong>6,000 high-quality examples</strong>, a combination of two distinct types:</p>\n <ul>\n <li><strong>In-Character Q&A (3,000 examples):</strong> This new dataset simulates a student at Jade Mountain Academy studying the world's lore. It's composed of roleplay-style questions and answers covering tribe history, family dynamics, and political relationships. This method builds a foundational, interconnected understanding of the lore.</li>\n <li><strong>Uncensored Roleplay (3,000 examples):</strong> This is the same mature, canon-centric dataset refined for previous versions. It explores pivotal \"what-if\" scenarios from the books using only canon characters, ensuring the model can handle complex and dramatic narratives.</li>\n </ul>\n <p>Both datasets underwent a rigorous cleaning process to remove formatting artifacts, such as <code>**scene transitions**</code>, resulting in a cleaner and more natural narrative style.</p>\n </div>\n </div>\n </details>\n </div>\n \n <div class=\"section-container\">\n <details>\n <summary><h2>Intended Use & Limitations</h2></summary>\n <div class=\"info-card\">\n <div class=\"card-content\">\n <ul>\n <li><strong>Intended Use:</strong> The primary purpose of this model is for creative and roleplaying within the <em>Wings of Fire</em> universe. However, user feedback indicates it is also highly effective for general-purpose roleplaying.</li>\n <li><strong>Limitations & Quirks:</strong>\n <ul>\n <li>Performance on tasks outside of its training domain (general knowledge, coding, etc.) is not guaranteed and will likely be poor.</li>\n <li><strong>Versatility:</strong> While it appears to be only a <em>Wings of Fire</em> tuned model, users have reported it is very capable of performing normal roleplay with other settings and characters.</li>\n <li>The model may \"hallucinate\" or generate plausible but non-canonical information, especially when pushed outside the established \"what-if\" scenarios.</li>\n <li><strong>Content:</strong> The training data includes mature and darker themes from the <em>Wings of Fire</em> series, such as conflict, character death, and moral ambiguity. The model is capable of generating content reflecting these themes. As always, it is up to the user what they do with it.</li>\n <li><strong>Formatting:</strong> Training data was cleaned to remove narrative artifacts like <code>**scene transitions**</code>. The model should now produce cleaner prose.</li>\n <li><strong>Safety:</strong> This model has not undergone additional safety alignment beyond what was included in its base model. Standard responsible AI practices should be followed.</li>\n </ul>\n </li>\n </ul>\n </div>\n </div>\n </details>\n </div>\n\n <div class=\"section-container\">\n <details>\n <summary><h2>Acknowledgements</h2></summary>\n <div class=\"info-card\">\n <div class=\"card-content\">\n <ul>\n <li>Credit to Alibaba Cloud/Qwen team for the powerful Qwen3.5-27B model.</li>\n <li>Credit to Google for the Gemini Pro model, used in dataset generation.</li>\n\t\t\t\t <li>Credit to Anthropic for sonnet 4.5, used in dataset generation.</li>\n\t\t\t\t <li>Credit to Hangzhou DeepSeek Artificial Intelligence for the deepseek model, used in dataset generation.</li>\n\t\t\t\t <li>Credit to Moonshot AI for the Kimi K2 model, used in dataset generation.</li>\n </ul>\n </div>\n </div>\n </details>\n </div>\n\n</div>\n</div>",
"related_quantizations": []
},
"tags": [
"gguf",
"finetune",
"roleplay",
"chat",
"wings-of-fire",
"nsfw",
"not-for-all-audiences",
"base_model:Darkhn/Qwen3.5-27B-Animus-V13.0",
"base_model:quantized:Darkhn/Qwen3.5-27B-Animus-V13.0",
"license:apache-2.0",
"endpoints_compatible",
"region:us",
"conversational"
],
"likes": 2,
"downloads": 1327,
"gated": false,
"private": false,
"last_modified": "2026-03-26T20:31:44.000Z",
"created_at": "2026-03-10T13:07:22.000Z",
"pipeline_tag": "",
"library_name": ""
}
Source payload excerpt (from Hugging Face API)
{
"_id": "69b0178a470421b4a9598695",
"id": "Darkhn-Quants-3/Qwen3.5-27B-Animus-V13.0-GGUF",
"modelId": "Darkhn-Quants-3/Qwen3.5-27B-Animus-V13.0-GGUF",
"sha": "bd57e6dd7afb03474c23accb840e79beae91482c",
"createdAt": "2026-03-10T13:07:22.000Z",
"lastModified": "2026-03-26T20:31:44.000Z",
"author": "Darkhn-Quants-3",
"downloads": 1327,
"likes": 2,
"gated": false,
"private": false,
"pipeline_tag": "",
"library_name": "",
"siblings_count": 12
}