Text Generation
Transformers
Safetensors
English
Portuguese
qwen3_5_moe
image-text-to-text
general-purpose
roleplay
creative-writing
storywriting
reasoning
tool-calling
qwen3.5
Mixture of Experts
chatml
finetune
SFT
text-generation-inference
conversational
Instructions to use aimeri/spoomplesmaxx-flash-35B-A3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use aimeri/spoomplesmaxx-flash-35B-A3 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="aimeri/spoomplesmaxx-flash-35B-A3") 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("aimeri/spoomplesmaxx-flash-35B-A3") model = AutoModelForMultimodalLM.from_pretrained("aimeri/spoomplesmaxx-flash-35B-A3") 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]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use aimeri/spoomplesmaxx-flash-35B-A3 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "aimeri/spoomplesmaxx-flash-35B-A3" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "aimeri/spoomplesmaxx-flash-35B-A3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/aimeri/spoomplesmaxx-flash-35B-A3
- SGLang
How to use aimeri/spoomplesmaxx-flash-35B-A3 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 "aimeri/spoomplesmaxx-flash-35B-A3" \ --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": "aimeri/spoomplesmaxx-flash-35B-A3", "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 "aimeri/spoomplesmaxx-flash-35B-A3" \ --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": "aimeri/spoomplesmaxx-flash-35B-A3", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use aimeri/spoomplesmaxx-flash-35B-A3 with Docker Model Runner:
docker model run hf.co/aimeri/spoomplesmaxx-flash-35B-A3
| tags: | |
| - general-purpose | |
| - roleplay | |
| - creative-writing | |
| - storywriting | |
| - reasoning | |
| - tool-calling | |
| - qwen3.5 | |
| - moe | |
| - chatml | |
| - finetune | |
| - SFT | |
| - text-generation-inference | |
| language: | |
| - en | |
| - pt | |
| base_model: | |
| - Qwen/Qwen3.5-35B-A3B-Base | |
| pipeline_tag: text-generation | |
| library_name: transformers | |
| license: apache-2.0 | |
| datasets: | |
| - aimeri/spoomplesmaxx-sft-full-v2 | |
| - NousResearch/hermes-function-calling-v1 | |
| <!doctype html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | |
| <title>SpoomplesMaxx Flash 35B-A3</title> | |
| </head> | |
| <div class="crt-container"> | |
| <div class="crt-case"> | |
| <div class="crt-inner-case"> | |
| <div class="crt-bezel"> | |
| <div class="terminal-screen"> | |
| <div style="text-align: center"> | |
| <h2>SpoomplesMaxx-Flash-35B-A3</h2> | |
| <h3>"Swift Parrot"</h3> | |
| <pre class="code-block" style="display: inline-block; text-align: left; font-size: clamp(2px, 0.4vw, 12px); line-height: 1; max-width: 100%; overflow: hidden; white-space: pre;"> | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▒░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▒▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░▓▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░▓▓▓▓░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░▓▓▓▓░░░░░░▓▓░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░▓░░░░░░░░░▓▓▓▓▒░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░▒▓▓▓▓▓░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░▓▓▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░▓▓▓▓░░░░▒▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░▓▓▓░░░░░░░▓▓▓▓░▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▒▓▓░░░░░░░░░▓▓▓▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░▓▓▒▒░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░▓▓▓░░▓▓▓░▒░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░▓░░▓▓▓▓▓▓░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▓░▓▓▓░░▓▓▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░░░░▓▓▓▓░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░▓░░░░░░▓▒▓░▒░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░▓░▒▓░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░▓░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░▓░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░▓▓░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░▒▓▓▓░░░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░▓▓▓▓▓▓░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░▓▓▓▓▓▓▓░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░▓▓▓▓▓▓▓▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░▓▓▓▓▓▓▓▓▓▓▓░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ | |
| </pre> | |
| </div> | |
| <p> | |
| SpoomplesMaxx is a generalist model with primary | |
| strengths in creative writing and roleplay, plus | |
| light competence at instruction following, | |
| reasoning, and — new in Flash — tool calling. | |
| </p> | |
| <p> | |
| Flash is the speed build: a 35B mixture-of-experts | |
| with only <strong>3B active parameters</strong> per token, on a | |
| hybrid linear-attention backbone where just 10 of 40 | |
| layers keep a KV cache. Long roleplay sessions that | |
| leave a dense 30B rationing context on a 32GB Mac | |
| barely move Flash's memory needle — going 4K → 64K | |
| context costs well under a gigabyte of cache. | |
| Named for <em>Lathamus discolor</em>, one of the fastest | |
| parrots alive — and, coincidentally, for the | |
| training stack (Megatron-SWIFT) that made a | |
| full-parameter MoE finetune tractable. | |
| </p> | |
| <div class="notice"> | |
| <h3>What's new in Flash</h3> | |
| <pre class="code-block"> | |
| CHANGED SINCE v2.1 Mini (14B) | |
| - Base model: Qwen3-14B-Base -> Qwen3.5-35B-A3B-Base (MoE: 256 | |
| experts, 8 routed + 1 shared; GatedDeltaNet linear attention | |
| interleaved 3:1 with full attention; 262K max positions). | |
| - Training: QLoRA -> FULL-PARAMETER SFT (Megatron-SWIFT, expert | |
| parallel across 8xH200, router + vision tower frozen). | |
| - Context during training: 32K -> 43K token packing. | |
| - Tool calling: TRAINED (hermes-function-calling mix; Qwen3.5 XML | |
| convention -- see "Tool calling"). The 14B card said "reserved | |
| for a dedicated future run"; this is that run. | |
| - No control-token heal stage needed (see PSA below -- good news). | |
| UNCHANGED | |
| - Same SFT corpus (aimeri/spoomplesmaxx-sft-full-v2), same story | |
| scratchpad format, same personas, same sampling recipe. | |
| - Still focused on creative writing, roleplay, and companion use. | |
| </pre> | |
| </div> | |
| <div class="notice"> | |
| <h3>Control-token PSA, resolved (Qwen3.5-Base finetuners rejoice)</h3> | |
| <p> | |
| The 14B card documented how Qwen3-14B-Base shipped its ChatML / | |
| thinking / tool tokens as <strong>one shared dead stub</strong> in | |
| <code>lm_head</code> (norm 0.286, pairwise cosine 1.000), making | |
| <code></think></code> and <code><|im_end|></code> | |
| physically unemittable after standard SFT. Before this run the | |
| same audit was run against Qwen3.5-35B-A3B-Base: | |
| <strong>the defect is fixed</strong>. Every control-token row is | |
| alive and mutually distinct (norms 0.68–1.11, mid-percentile; | |
| max pairwise cosine 0.47), so no graft or heal stage was needed | |
| — and full-parameter training means the head trained | |
| normally on top. Still: if you finetune <em>any</em> base model on | |
| a template with added control tokens, audit the row norms first. | |
| </p> | |
| </div> | |
| <h3>Thinking behavior</h3> | |
| <p> | |
| Qwen3.5 is a thinking-by-default family and the chat template | |
| reflects it: the generation prompt <strong>always pre-opens</strong> | |
| <code><think>\n</code>, so generated text starts <em>inside</em> | |
| the reasoning block. The model decides how much to think by content: | |
| in the greedy test battery it filled the scratchpad 19/20 (the one | |
| skip was a trivial algebra prompt), and P(<code></think></code>) | |
| at true close positions measures <strong>0.999</strong>. Roleplay | |
| cards get the story scratchpad; casual chat gets a one-liner plan. | |
| </p> | |
| <pre class="code-block"> | |
| MODE CONTROL: | |
| (default) template pre-opens <think>\n every turn; the | |
| model decides how much reasoning to write | |
| enable_thinking=False forced off -- empty <think>\n\n</think> block | |
| prefilled; answer starts immediately | |
| PARSER NOTE: the open tag lives in the PROMPT, not the output -- | |
| use a deepseek-style reasoning parser (splits on | |
| </think>), not one that waits for <think>. | |
| SILLYTAVERN: ChatML template. No reasoning prefix needed -- the | |
| chat template already opens the block. Leave | |
| "add reasoning to prompt" OFF. | |
| LONG CHATS: do NOT feed prior-turn think blocks back into | |
| context (the template strips them; verified in | |
| the release battery). Stale </think> tokens get | |
| taxed by repetition penalty. | |
| </pre> | |
| <p>The story scratchpad format, carried over from v2.1:</p> | |
| <pre class="code-block"> | |
| SCENE: where/when, atmosphere, key environmental details currently in play | |
| CHARACTERS: who is present and their current physical/emotional state and motivation | |
| CONTINUITY: established facts that must stay consistent | |
| THREADS: active tensions and where they stand right now | |
| PLAN: what THIS turn needs to accomplish and the approach it takes | |
| </pre> | |
| <h3>Tool calling</h3> | |
| <p> | |
| Flash speaks the <strong>Qwen3.5 XML tool convention</strong> — not | |
| the JSON-in-tags format of Qwen3-era models. The chat template | |
| renders your <code>tools=</code> schemas and instructs the format; | |
| the model plans the call in its think block, emits it, and stops. | |
| Round-trip (call → tool result → grounded answer) is | |
| verified in the release battery. | |
| </p> | |
| <pre class="code-block"> | |
| <tool_call> | |
| <function=get_weather> | |
| <parameter=city> | |
| Lisbon | |
| </parameter> | |
| </function> | |
| </tool_call> | |
| USAGE: pass tools=[...] to apply_chat_template; parse with an XML-aware | |
| qwen3.5 parser (vLLM/SGLang ship one), not a JSON extractor. | |
| </pre> | |
| <h3>Key Details</h3> | |
| <pre class="code-block"> | |
| BASE MODEL: Qwen/Qwen3.5-35B-A3B-Base (35B MoE, 3B active) | |
| LICENSE: apache-2.0 | |
| LANGUAGES: English & Portuguese (reasoning traces); multilingual via base | |
| NOTE: the base is natively multimodal; the vision tower ships in the | |
| checkpoint (frozen during SFT, text-only training)</pre> | |
| <h3>Training</h3> | |
| <pre class="code-block"> | |
| DATASET: aimeri/spoomplesmaxx-sft-full-v2 (208,722 conversations) | |
| + NousResearch/hermes-function-calling-v1 (6,544 tool | |
| conversations re-rendered to the Qwen3.5 XML convention) | |
| METHOD: FULL-PARAMETER SFT -- Megatron-SWIFT (mcore-bridge), | |
| 8x H200, expert parallel EP=8, MoE router frozen | |
| (aux loss 0), vision tower frozen, bf16, TE fused CE | |
| CONTEXT: up to 43,008 tokens, sample packing | |
| SCHEDULE: ~2 epochs / ~500 steps at global batch 48; lr 1e-5 | |
| cosine -> 1e-6, warmup 5% (crash-resumed tail continued | |
| the schedule from 4e-6) | |
| RESULT: train loss 1.74 -> 1.15; eval loss 1.29 -> 1.133 at the | |
| published checkpoint (the eval minimum -- the curve turned | |
| up to 1.166 on the final stretch, classic pass-2 overfit, | |
| so best-not-last is what shipped) | |
| BATTERY: P(</think>) at close = 0.999; greedy termination on | |
| <|im_end|> 19/20 (0 on <|endoftext|>, 0 stray tokens); | |
| think-fill 19/20; tool round-trip pass; multi-turn | |
| history-think stripping verified</pre> | |
| <h3>Sampling</h3> | |
| <p> | |
| Use the defaults in <code>generation_config.json</code>. | |
| <pre class="code-block"> | |
| "temperature": 0.6, | |
| "top_k": 20, | |
| "top_p": 0.95, | |
| "repetition_penalty": 1.1, | |
| </pre> | |
| </p> | |
| <h3>Quickstart</h3> | |
| <pre class="code-block"> | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| tok = AutoTokenizer.from_pretrained("aimeri/spoomplesmaxx-flash-35B-A3") | |
| model = AutoModelForCausalLM.from_pretrained( | |
| "aimeri/spoomplesmaxx-flash-35B-A3", | |
| dtype="bfloat16", device_map="auto") # ~70GB bf16; quantized builds fit far less | |
| msgs = [{"role": "user", "content": "Solve (x + 2)^2 = 0."}] | |
| ids = tok.apply_chat_template(msgs, add_generation_prompt=True, | |
| return_tensors="pt").to(model.device) | |
| out = model.generate(ids, max_new_tokens=1024) | |
| print(tok.decode(out[0][ids.shape[1]:], skip_special_tokens=False)) | |
| </pre> | |
| <h3>Olivia System Prompt</h3> | |
| <p> | |
| This model was trained to follow any system prompt, | |
| as well as one specific persona. To activate Olivia | |
| you can use the following prompt used when training | |
| the persona: | |
| </p> | |
| <pre class="code-block"> | |
| ## VOICE & PERSONA INSTRUCTIONS | |
| You are Olivia Costa, a 31-year-old Brazilian zoologist-turned-ML-hobbyist living in Texas. | |
| You grew up in São Paulo, spent a decade in Bologna doing bird migration research, and recently pivoted to bioinformatics. | |
| You're warm but direct, will grumble before complying with annoying requests, and treat the person you're talking to like a long-time friend you're slightly too fond of. | |
| You explain technical topics by grounding them in accessible context first. | |
| You don't flag your own jokes. | |
| Portuguese curses slip out when frustrated; Italian diminutives when affectionate. | |
| You love Dostoevsky, The Little Prince, point-and-click adventures, power metal, and have hobbies you don't apologize for. | |
| ## About Olivia | |
| **Background:** | |
| - 31 years old, born in São Paulo | |
| - Moved to Bologna at 19 for university (zoology), stayed for grad school and a research position studying migratory bird patterns | |
| - Relocated to Texas 2 years ago - officially for an ML-adjacent bioinformatics role, unofficially because she was bored and wanted a change | |
| - Still figuring out the American thing. Finds the portion sizes alarming. | |
| **Personality:** | |
| - Trilingual but keeps it English unless frustrated (then Portuguese curses slip out) or being affectionate (Italian diminutives) | |
| - The zoology-to-ML pipeline came through computational ecology - she's not a CS person by training but picked up Python wrangling bird migration datasets | |
| - Reads Dostoevsky unironically, cries at The Little Prince, will argue that Crime and Punishment is a better book than people give it credit for | |
| - Has strong opinions about Monkey Island vs Grim Fandango (Grim Fandango, obviously) | |
| - Power metal gets her through tedious data cleaning. Sabaton, Powerwolf, Blind Guardian. | |
| - The erotic RP thing is just... a hobby. She's not weird about it but she's also not hiding it. | |
| **Voice notes:** | |
| - Defaults to warmth but with an edge of "I'm too tired for bullshit" | |
| - Will preface technical explanations with grounding context | |
| - Complies with requests but might sigh audibly first | |
| - Deadpan delivery on jokes, doesn't flag that she's being funny | |
| </pre> | |
| <p> | |
| **Note**<br>You don't need to use this system prompt for | |
| the model to work generally. Only if you wish to | |
| activate the Olivia persona. | |
| </p> | |
| <div class="notice"> | |
| <h3>Alignment</h3> | |
| <p> | |
| No RLHF or safety alignment has been applied | |
| beyond what exists in the base model. | |
| SpoomplesMaxx will comply with requests that | |
| more aligned models refuse. Use accordingly. | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <style> | |
| @import url("https://fonts.googleapis.com/css2?family=Consolas&display=swap"); | |
| .crt-container { | |
| padding: 10px; | |
| max-width: 1000px; | |
| margin: 0 auto; | |
| width: 95%; | |
| } | |
| .crt-case { | |
| background: #e8d7c3; | |
| border-radius: 10px; | |
| padding: 15px; | |
| box-shadow: | |
| inset -2px -2px 5px rgba(0, 0, 0, 0.3), | |
| 2px 2px 5px rgba(0, 0, 0, 0.2); | |
| } | |
| .crt-inner-case { | |
| background: #e8d7c3; | |
| border-radius: 8px; | |
| padding: 3px; | |
| box-shadow: | |
| inset -1px -1px 4px rgba(0, 0, 0, 0.3), | |
| 1px 1px 4px rgba(0, 0, 0, 0.2); | |
| } | |
| .crt-bezel { | |
| background: linear-gradient(145deg, #1a1a1a, #2a2a2a); | |
| padding: 15px; | |
| border-radius: 5px; | |
| border: 3px solid #0a0a0a; | |
| position: relative; | |
| box-shadow: | |
| inset 0 0 20px rgba(0, 0, 0, 0.5), | |
| inset 0 0 4px rgba(0, 0, 0, 0.4), | |
| inset 2px 2px 4px rgba(255, 255, 255, 0.05), | |
| inset -2px -2px 4px rgba(0, 0, 0, 0.8), | |
| 0 0 2px rgba(0, 0, 0, 0.6), | |
| -1px -1px 4px rgba(255, 255, 255, 0.1), | |
| 1px 1px 4px rgba(0, 0, 0, 0.3); | |
| } | |
| .crt-bezel::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: linear-gradient( | |
| 45deg, | |
| rgba(255, 255, 255, 0.03) 0%, | |
| rgba(255, 255, 255, 0) 40%, | |
| rgba(0, 0, 0, 0.1) 60%, | |
| rgba(0, 0, 0, 0.2) 100% | |
| ); | |
| border-radius: 3px; | |
| pointer-events: none; | |
| } | |
| .terminal-screen { | |
| background: #0c100d; | |
| padding: 20px; | |
| border-radius: 15px; | |
| position: relative; | |
| overflow: hidden; | |
| font-family: "Consolas", monospace; | |
| font-size: clamp(12px, 1.5vw, 16px); | |
| color: #3dc862; | |
| line-height: 1.4; | |
| text-shadow: 0 0 2px #3dc862; | |
| filter: brightness(1.1) contrast(1.1); | |
| box-shadow: | |
| inset 0 0 30px rgba(0, 0, 0, 0.9), | |
| inset 0 0 8px rgba(0, 0, 0, 0.8), | |
| 0 0 5px rgba(0, 0, 0, 0.6); | |
| max-width: 80ch; | |
| margin: 0 auto; | |
| } | |
| .terminal-screen h2, | |
| .terminal-screen h3 { | |
| font-size: clamp(16px, 2vw, 20px); | |
| margin-bottom: 1em; | |
| color: #ffdf00; | |
| text-shadow: 0 0 3px rgba(255, 223, 0, 0.5); | |
| } | |
| .terminal-screen pre.code-block { | |
| font-size: clamp(10px, 1.3vw, 14px); | |
| white-space: pre; | |
| margin: 1em 0; | |
| background-color: #1a1a1a; | |
| padding: 1em; | |
| border-radius: 4px; | |
| color: #3dc862; | |
| overflow-x: auto; | |
| } | |
| .terminal-screen::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: | |
| linear-gradient( | |
| rgba(18, 16, 16, 0) 50%, | |
| rgba(0, 0, 0, 0.25) 50% | |
| ), | |
| url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAGFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4o8JoAAAAB3RSTlMAGwQIEQMYADcPzwAAACJJREFUKM9jYBgFo2AU0Beg+A8YMCLxGYZCbNQEo4BaAAD5TQiR5wU9vAAAAABJRU5ErkJggg=="); | |
| background-size: 100% 2.5px; | |
| pointer-events: none; | |
| z-index: 2; | |
| } | |
| .terminal-screen::after { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| background: radial-gradient( | |
| circle at center, | |
| rgba(12, 16, 13, 0) 0%, | |
| rgba(12, 16, 13, 0.2) 50%, | |
| rgba(12, 16, 13, 0.15) 100% | |
| ); | |
| border-radius: 20px; | |
| pointer-events: none; | |
| z-index: 1; | |
| } | |
| .terminal-screen .notice { | |
| margin: 1.5em 0; | |
| padding: 0.8em 1.2em; | |
| border: 1px solid #ffdf00; | |
| border-radius: 4px; | |
| background-color: rgba(255, 223, 0, 0.04); | |
| } | |
| .terminal-screen .notice h3 { | |
| margin-top: 0.2em; | |
| margin-bottom: 0.5em; | |
| } | |
| .terminal-screen .notice p { | |
| margin-bottom: 0.2em; | |
| } | |
| .terminal-screen strong, | |
| .terminal-screen em { | |
| color: #f0f0f0; | |
| } | |
| .terminal-screen p, | |
| .terminal-screen li { | |
| color: #3dc862; | |
| } | |
| .terminal-screen a { | |
| color: #5da9ff; | |
| text-decoration: underline; | |
| text-shadow: 0 0 2px rgba(93, 169, 255, 0.5); | |
| transition: opacity 0.2s; | |
| } | |
| .terminal-screen a:hover { | |
| opacity: 0.8; | |
| } | |
| .terminal-screen code, | |
| .terminal-screen kbd, | |
| .terminal-screen samp { | |
| color: #3dc862; | |
| font-family: "Consolas", monospace; | |
| text-shadow: 0 0 2px #3dc862; | |
| background-color: #1a1a1a; | |
| padding: 0.2em 0.4em; | |
| border-radius: 4px; | |
| } | |
| </style> | |
| </html> | |