Instructions to use tcclaviger/Step-3.7-Flash-240REAP with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use tcclaviger/Step-3.7-Flash-240REAP with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="tcclaviger/Step-3.7-Flash-240REAP", trust_remote_code=True) 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 AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("tcclaviger/Step-3.7-Flash-240REAP", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use tcclaviger/Step-3.7-Flash-240REAP with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "tcclaviger/Step-3.7-Flash-240REAP" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "tcclaviger/Step-3.7-Flash-240REAP", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/tcclaviger/Step-3.7-Flash-240REAP
- SGLang
How to use tcclaviger/Step-3.7-Flash-240REAP 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 "tcclaviger/Step-3.7-Flash-240REAP" \ --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": "tcclaviger/Step-3.7-Flash-240REAP", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'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 "tcclaviger/Step-3.7-Flash-240REAP" \ --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": "tcclaviger/Step-3.7-Flash-240REAP", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use tcclaviger/Step-3.7-Flash-240REAP with Docker Model Runner:
docker model run hf.co/tcclaviger/Step-3.7-Flash-240REAP
How to make thinking stop, so you can use none, low, mid, high thinking
Enabling no-think / enable_thinking=false on Step-3.7-Flash (vLLM)
Step-3.7's stock chat template always opens a block, so the model reasons on every turn. Two small edits make it
honor the standard enable_thinking switch (and reasoning_effort), defaulting to thinking ON.
- Chat template (chat_template.jinja in your model dir)
Add a flag at the top:
{%- set thinking_enabled = not (enable_thinking is defined and enable_thinking is false) %}
At the generation prompt, emit an empty closed block when disabled (mirrors Qwen3):
{%- if add_generation_prompt %}
{{- '<|im_start|>assistant\n' }}
{%- if thinking_enabled %}{{- '<think>\n' }}
{%- else %}{{- '<think>\n\n</think>\n\n' }}{%- endif %}
{%- endif %}
Gate the prior-turn re-emission and the Reasoning: effort hint on thinking_enabled too.
- Reasoning parser (vllm/reasoning/step3p5_reasoning_parser.py)
In __init__, read the per-request flag:
chat_kwargs = kwargs.get("chat_template_kwargs", {}) or {}
self.thinking_enabled = chat_kwargs.get("enable_thinking", True)
In extract_reasoning, short-circuit when disabled and no </think> appears:
if self.end_token not in model_output and not self.thinking_enabled:
return None, model_output or None
Streaming needs no change — the empty closed block puts in the prompt, so the serving layer marks reasoning
ended and routes deltas to content automatically.
Use it (either works):
"chat_template_kwargs": {"enable_thinking": false} // explicit off
"reasoning_effort": "none" // also sets enable_thinking=false
"reasoning_effort": "high" // thinking on + effort hint
Unset = thinking on (unchanged default).
Use it (either works):
"chat_template_kwargs": {"enable_thinking": false} // explicit off
"reasoning_effort": "none" // also sets enable_thinking=false
"reasoning_effort": "high" // thinking on + effort hint
Unset = thinking on (unchanged default).