Fast, Sharp & Reliable Agentic Intelligence
2,071
stars
95
commits
C++
primary language
Apr 3, 2026
updated
English | 简体中文
OpenClaw Guide | Claude Code Guide | Roo Code Guide | Local Agent Guide
Step 3.5 Flash (visit website) is our most capable open-source foundation model, engineered to deliver frontier reasoning and agentic capabilities with exceptional efficiency. Built on a sparse Mixture of Experts (MoE) architecture, it selectively activates only 11B of its 196B parameters per token. This "intelligence density" allows it to rival the reasoning depth of top-tier proprietary models, while maintaining the agility required for real-time interaction.
Deep Reasoning at Speed: While chatbots are built for reading, agents must reason fast. Powered by 3-way Multi-Token Prediction (MTP-3), Step 3.5 Flash achieves a generation throughput of 100–300 tok/s in typical usage (peaking at 350 tok/s for single-stream coding tasks). This allows for complex, multi-step reasoning chains with immediate responsiveness.
A Robust Engine for Coding & Agents: Step 3.5 Flash is purpose-built for agentic tasks, integrating a scalable RL framework that drives consistent self-improvement. It achieves 74.4% on SWE-bench Verified and 51.0% on Terminal-Bench 2.0, proving its ability to handle sophisticated, long-horizon tasks with unwavering stability.
Efficient Long Context: The model supports a cost-efficient 256K context window by employing a 3:1 Sliding Window Attention (SWA) ratio—integrating three SWA layers for every full-attention layer. This hybrid approach ensures consistent performance across massive datasets or long codebases while significantly reducing the computational overhead typical of standard long-context models.
Accessible Local Deployment: Optimized for accessibility, Step 3.5 Flash brings elite-level intelligence to local environments. It runs securely on high-end consumer hardware (e.g., Mac Studio M4 Max, NVIDIA DGX Spark), ensuring data privacy without sacrificing performance.
Step 3.5 Flash delivers performance parity with leading closed-source systems while remaining open and efficient.

Performance of Step 3.5 Flash measured across Reasoning, Coding, and Agentic Capabilities. Open-source models (left) are sorted by their total parameter count, while top-tier proprietary models are shown on the right. xbench-DeepSearch scores are sourced from official publications for consistency. The shadowed bars represent the enhanced performance of Step 3.5 Flash using Parallel Thinking.
| Benchmark | Step 3.5 Flash | DeepSeek V3.2 | Kimi K2 Thinking / K2.5 | GLM-4.7 | MiniMax M2.1 | MiMo-V2 Flash |
|---|---|---|---|---|---|---|
| # Activated Params | 11B | 37B | 32B | 32B | 10B | 15B |
| # Total Params (MoE) | 196B | 671B | 1T | 355B | 230B | 309B |
| Est. decoding cost @ 128K context, Hopper GPU** | 1.0x 100 tok/s, MTP-3, EP8 | 6.0x 33 tok/s, MTP-1, EP32 | 18.9x 33 tok/s, no MTP, EP32 | 18.9x 100 tok/s, MTP-3, EP8 | 3.9x 100 tok/s, MTP-3, EP8 | 1.2x 100 tok/s, MTP-3, EP8 |
| Agent | ||||||
| τ²-Bench | 88.2 | 80.3 (85.2*) | 74.3*/85.4* | 87.4 | 86.6* | 80.3 (84.1*) |
| BrowseComp | 51.6 | 51.4 | 41.5* / 60.6 | 52.0 | 47.4 | 45.4 |
| BrowseComp (w/ Context Manager) | 69.0 | 67.6 | 60.2/74.9 | 67.5 | 62.0 | 58.3 |
| BrowseComp-ZH | 66.9 | 65.0 | 62.3 / 62.3* | 66.6 | 47.8* | 51.2* |
| BrowseComp-ZH (w/ Context Manager) | 73.7 | — | —/— | — | — | — |
| GAIA (no file) | 84.5 | 75.1* | 75.6*/75.9* | 61.9* | 64.3* | 78.2* |
| xbench-DeepSearch (2025.05) | 83.7 | 78.0* | 76.0*/76.7* | 72.0* | 68.7* | 69.3* |
| xbench-DeepSearch (2025.10) | 56.3 | 55.7* | —/40+ | 52.3* | 43.0* | 44.0* |
| ResearchRubrics | 65.3 | 55.8* | 56.2*/59.5* | 62.0* | 60.2* | 54.3* |
| Reasoning | ||||||
| AIME 2025 | 97.3 | 93.1 | 94.5/96.1 | 95.7 | 83.0 | 94.1 (95.1*) |
| HMMT 2025 (Feb.) | 98.4 | 92.5 | 89.4/95.4 | 97.1 | 71.0* | 84.4 (95.4*) |
| HMMT 2025 (Nov.) | 94.0 | 90.2 | 89.2*/— | 93.5 | 74.3* | 91.0* |
| IMOAnswerBench | 85.4 | 78.3 | 78.6/81.8 | 82.0 | 60.4* | 80.9* |
| Coding | ||||||
| LiveCodeBench-V6 | 86.4 | 83.3 | 83.1/85.0 | 84.9 | — | 80.6 (81.6*) |
| SWE-bench Verified | 74.4 | 73.1 | 71.3/76.8 | 73.8 | 74.0 | 73.4 |
| Terminal-Bench 2.0 | 51.0 | 46.4 | 35.7*/50.8 | 41.0 | 47.9 | 38.5 |
Step 3.5 Flash is built on a Sparse Mixture-of-Experts (MoE) transformer architecture, optimized for high throughput and low VRAM usage during inference.
| Component | Specification |
|---|---|
| Backbone | 45-layer Transformer (4,096 hidden dim) |
| Context Window | 256K |
| Vocabulary | 128,896 tokens |
| Total Parameters | 196.81B (196B Backbone + 0.81B Head) |
| Active Parameters | ~11B (per token generation) |
Unlike traditional dense models, Step 3.5 Flash uses a fine-grained routing strategy to maximize efficiency:
To improve inference speed, we utilize a specialized MTP Head consisting of a sliding-window attention mechanism and a dense Feed-Forward Network (FFN). This module predicts 4 tokens simultaneously in a single forward pass, significantly accelerating inference without degrading quality.
You can get started with Step 3.5 Flash in minutes using Cloud API via our supported providers.
OpenRouter provides uniform access to Step 3.5 Flash with both free and paid tiers.
Models:
stepfun/step-3.5-flash:freestepfun/step-3.5-flashConfiguration:
https://openrouter.ai/api/v1StepFun offers official API endpoints for both International and Chinese users.
| Region | Website | Base URL |
|---|---|---|
| International | platform.stepfun.ai | https://api.stepfun.ai/v1 |
| China | platform.stepfun.com | https://api.stepfun.com/v1 |
Note: China platform requires +86 phone number verification.
For a full agentic experience, we recommend using OpenClaw. 👉 View the OpenClaw Cookbook to get started in minutes.
Install the standard OpenAI SDK (compatible with both platforms):
pip install --upgrade "openai>=1.0"
Python Example:
from openai import OpenAI
# Configuration for OpenRouter
# base_url = "https://openrouter.ai/api/v1"
# api_key = "sk-or-..."
# model = "stepfun/step-3.5-flash"
# Configuration for StepFun (International)
base_url = "https://api.stepfun.ai/v1"
# For China: base_url = "https://api.stepfun.com/v1"
api_key = "your-stepfun-api-key"
model = "step-3.5-flash"
client = OpenAI(api_key=api_key, base_url=base_url)
completion = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! Introduce yourself."}
]
)
print(completion.choices[0].message.content)
Step 3.5 Flash is optimized for local inference and supports industry-standard backends including vLLM, SGLang, Hugging Face Transformers and llama.cpp.
We recommend using the latest nightly build of vLLM.
# via Docker
docker pull vllm/vllm-openai:nightly
# or via pip (nightly wheels)
pip install -U vllm --pre \
--index-url https://pypi.org/simple \
--extra-index-url https://wheels.vllm.ai/nightly
Note: Bug fixes for tool parser and reasoning parser, as well as support for the v1/messages interface, are being merged into vLLM. In the meantime, you can use the vllm/vllm-openai:v0.15.1-x86_64 image with step3.5_vllm_v0.15.1.patch for deployment. The patch file step3.5_vllm_v0.15.1.patch is provided in this repository; download or copy it and ensure it is accessible from the directory where you run git apply (or use its absolute path).
# via Docker
# refer to "step3.5_vllm_v0.15.1.Dockerfile"
# or via pip
pip install -U vllm==0.15.1
cd /path/to/lib/python3.12/site-packages # Replace with the parent dir of vLLM installation path.
git apply /path/to/step3.5_vllm_v0.15.1.patch # Replace with the actual path to the patch file (e.g., from the repository root).
Note: Full MTP3 support is not yet available in vLLM. We are actively working on a Pull Request to integrate this feature, which is expected to significantly enhance decoding performance.
vllm serve <MODEL_PATH_OR_HF_ID> \
--served-model-name step3p5-flash \
--tensor-parallel-size 8 \
--enable-expert-parallel \
--disable-cascade-attn \
--reasoning-parser step3p5 \
--enable-auto-tool-choice \
--tool-call-parser step3p5 \
--hf-overrides '{"num_nextn_predict_layers": 1}' \
--speculative_config '{"method": "step3p5_mtp", "num_speculative_tokens": 1}' \
--trust-remote-code \
--quantization fp8
vllm serve <MODEL_PATH_OR_HF_ID> \
--served-model-name step3p5-flash \
--tensor-parallel-size 8 \
--enable-expert-parallel \
--disable-cascade-attn \
--reasoning-parser step3p5 \
--enable-auto-tool-choice \
--tool-call-parser step3p5 \
--hf-overrides '{"num_nextn_predict_layers": 1}' \
--speculative_config '{"method": "step3p5_mtp", "num_speculative_tokens": 1}' \
--trust-remote-code
# via Docker
docker pull lmsysorg/sglang:dev-pr-18084
# or from source (pip)
pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git"
SGLANG_ENABLE_SPEC_V2=1
sglang serve \
--model-path <MODEL_PATH_OR_HF_ID> \
--served-model-name step3p5-flash \
--tp-size 8 \
--tool-call-parser step3p5 \
--reasoning-parser step3p5 \
--speculative-algorithm EAGLE \
--speculative-num-steps 3 \
--speculative-eagle-topk 1 \
--speculative-num-draft-tokens 4 \
--enable-multi-layer-eagle \
--host 0.0.0.0 \
--port 8000
SGLANG_ENABLE_SPEC_V2=1
sglang serve \
--model-path <MODEL_PATH_OR_HF_ID> \
--served-model-name step3p5-flash \
--tp-size 8 \
--ep-size 8 \
--tool-call-parser step3p5 \
--reasoning-parser step3p5 \
--speculative-algorithm EAGLE \
--speculative-num-steps 3 \
--speculative-eagle-topk 1 \
--speculative-num-draft-tokens 4 \
--enable-multi-layer-eagle \
--host 0.0.0.0 \
--port 8000
Use this snippet for quick functional verification. For high-throughput serving, use vLLM or SGLang.
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_PATH = "<MODEL_PATH_OR_HF_ID>"
# 1. Setup
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
trust_remote_code=True,
torch_dtype="auto",
device_map="auto",
)
# 2. Prepare Input
messages = [{"role": "user", "content": "Explain the significance of the number 42."}]
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
# 3. Generate
generated_ids = model.generate(**inputs, max_new_tokens=128, do_sample=False)
output_text = tokenizer.decode(generated_ids[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(output_text)
the folder
Step-3.5-Flash/tree/main/llama.cppis obsolete
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -S . -B build-macos \
-DCMAKE_BUILD_TYPE=Release \
-DGGML_METAL=ON \
-DGGML_ACCELERATE=ON \
-DLLAMA_BUILD_EXAMPLES=ON \
-DLLAMA_BUILD_COMMON=ON \
-DGGML_LTO=ON
cmake --build build-macos -j8
cmake -S . -B build-cuda \
-DCMAKE_BUILD_TYPE=Release \
-DGGML_CUDA=ON \
-DGGML_CUDA_GRAPHS=ON \
-DLLAMA_CURL=OFF \
-DLLAMA_BUILD_EXAMPLES=ON \
-DLLAMA_BUILD_COMMON=ON
cmake --build build-cuda -j8
cmake -S . -B build-vulkan \
-DCMAKE_BUILD_TYPE=Release \
-DLLAMA_CURL=OFF \
-DGGML_OPENMP=ON \
-DGGML_VULKAN=ON
cmake --build build-vulkan -j8
./llama-cli -m step3.5_flash_Q4_K_S.gguf -c 16384 -b 2048 -ub 2048 -fa on --temp 1.0 -p "What's your name?"
./llama-batched-bench -m step3.5_flash_Q4_K_S.gguf -c 32768 -b 2048 -ub 2048 -npp 0,2048,8192,16384,32768 -ntg 128 -npl 1
Note: As mentioned in the Quick Start, you can access Step 3.5 Flash via OpenRouter or the StepFun Platform. Choose the base URL and API key corresponding to your preferred provider when configuring these agents.
OpenClaw is a powerful agentic platform that works seamlessly with Step 3.5 Flash. Step 3.5 Flash is a perfect fit for OpenClaw due to its high speed and strong agentic capabilities (maintaining deep reasoning and consistency during execution).
Quick Setup:
curl -fsSL https://openclaw.ai/install.sh | bashopenclaw onboard.Config -> Models), add a new provider:
openai-completionshttps://api.stepfun.ai/v1 (International) or https://api.stepfun.com/v1 (China)https://openrouter.ai/api/v1step-3.5-flash (or stepfun/step-3.5-flash for OpenRouter)For a full walkthrough, see our OpenClaw Cookbook.
You can configure Claude Code to use Step 3.5 Flash by modifying your settings.
Update ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "YOUR_STEPFUN_API_KEY",
"ANTHROPIC_BASE_URL": "https://api.stepfun.ai/" // Use "https://api.stepfun.com/" for China endpoint
},
"model": "step-3.5-flash"
}
Note: For more advanced routing or OpenAI-style usage, we recommend claude-code-router.
To use Step 3.5 Flash with the @openai/codex CLI, update your ~/.codex/config.toml:
model="step-3.5-flash"
model_provider = "stepfun-chat"
preferred_auth_method = "apikey"
[model_providers.stepfun-chat]
name = "OpenAI using response"
base_url = "https://api.stepfun.ai/v1"
env_key = "OPENAI_API_KEY"
wire_api = "chat"
Step 3.5 Flash powers the reasoning core of Step-DeepResearch.
To use it, simply set MODEL_NAME to Step-3.5-Flash in your .env file.
See the Step-DeepResearch Repository for full setup instructions.
Explore our Cookbooks directory for practical examples and integration guides, including:
Visit the Cookbooks README for more details and contribution guidelines.
We view our roadmap as a living document, evolving continuously based on real-world usage and developer feedback. As we work to shape the future of AGI by expanding broad model capabilities, we want to ensure we are solving the right problems. We invite you to be part of this continuous feedback loop—your insights directly influence our priorities.
This project is open-sourced under the Apache 2.0 License.
C++
56.2%
C
11.5%
Python
8.9%
Cuda
6.2%
HTML
4.3%
Metal
1.9%
TypeScript
1.8%
Svelte
1.8%
GLSL
1.3%
Shell
1.1%
Fast, Sharp & Reliable Agentic Intelligence
2,071
stars
95
commits
C++
primary language
Apr 3, 2026
updated
English | 简体中文
OpenClaw Guide | Claude Code Guide | Roo Code Guide | Local Agent Guide
Step 3.5 Flash (visit website) is our most capable open-source foundation model, engineered to deliver frontier reasoning and agentic capabilities with exceptional efficiency. Built on a sparse Mixture of Experts (MoE) architecture, it selectively activates only 11B of its 196B parameters per token. This "intelligence density" allows it to rival the reasoning depth of top-tier proprietary models, while maintaining the agility required for real-time interaction.
Deep Reasoning at Speed: While chatbots are built for reading, agents must reason fast. Powered by 3-way Multi-Token Prediction (MTP-3), Step 3.5 Flash achieves a generation throughput of 100–300 tok/s in typical usage (peaking at 350 tok/s for single-stream coding tasks). This allows for complex, multi-step reasoning chains with immediate responsiveness.
A Robust Engine for Coding & Agents: Step 3.5 Flash is purpose-built for agentic tasks, integrating a scalable RL framework that drives consistent self-improvement. It achieves 74.4% on SWE-bench Verified and 51.0% on Terminal-Bench 2.0, proving its ability to handle sophisticated, long-horizon tasks with unwavering stability.
Efficient Long Context: The model supports a cost-efficient 256K context window by employing a 3:1 Sliding Window Attention (SWA) ratio—integrating three SWA layers for every full-attention layer. This hybrid approach ensures consistent performance across massive datasets or long codebases while significantly reducing the computational overhead typical of standard long-context models.
Accessible Local Deployment: Optimized for accessibility, Step 3.5 Flash brings elite-level intelligence to local environments. It runs securely on high-end consumer hardware (e.g., Mac Studio M4 Max, NVIDIA DGX Spark), ensuring data privacy without sacrificing performance.
Step 3.5 Flash delivers performance parity with leading closed-source systems while remaining open and efficient.

Performance of Step 3.5 Flash measured across Reasoning, Coding, and Agentic Capabilities. Open-source models (left) are sorted by their total parameter count, while top-tier proprietary models are shown on the right. xbench-DeepSearch scores are sourced from official publications for consistency. The shadowed bars represent the enhanced performance of Step 3.5 Flash using Parallel Thinking.
| Benchmark | Step 3.5 Flash | DeepSeek V3.2 | Kimi K2 Thinking / K2.5 | GLM-4.7 | MiniMax M2.1 | MiMo-V2 Flash |
|---|---|---|---|---|---|---|
| # Activated Params | 11B | 37B | 32B | 32B | 10B | 15B |
| # Total Params (MoE) | 196B | 671B | 1T | 355B | 230B | 309B |
| Est. decoding cost @ 128K context, Hopper GPU** | 1.0x 100 tok/s, MTP-3, EP8 | 6.0x 33 tok/s, MTP-1, EP32 | 18.9x 33 tok/s, no MTP, EP32 | 18.9x 100 tok/s, MTP-3, EP8 | 3.9x 100 tok/s, MTP-3, EP8 | 1.2x 100 tok/s, MTP-3, EP8 |
| Agent | ||||||
| τ²-Bench | 88.2 | 80.3 (85.2*) | 74.3*/85.4* | 87.4 | 86.6* | 80.3 (84.1*) |
| BrowseComp | 51.6 | 51.4 | 41.5* / 60.6 | 52.0 | 47.4 | 45.4 |
| BrowseComp (w/ Context Manager) | 69.0 | 67.6 | 60.2/74.9 | 67.5 | 62.0 | 58.3 |
| BrowseComp-ZH | 66.9 | 65.0 | 62.3 / 62.3* | 66.6 | 47.8* | 51.2* |
| BrowseComp-ZH (w/ Context Manager) | 73.7 | — | —/— | — | — | — |
| GAIA (no file) | 84.5 | 75.1* | 75.6*/75.9* | 61.9* | 64.3* | 78.2* |
| xbench-DeepSearch (2025.05) | 83.7 | 78.0* | 76.0*/76.7* | 72.0* | 68.7* | 69.3* |
| xbench-DeepSearch (2025.10) | 56.3 | 55.7* | —/40+ | 52.3* | 43.0* | 44.0* |
| ResearchRubrics | 65.3 | 55.8* | 56.2*/59.5* | 62.0* | 60.2* | 54.3* |
| Reasoning | ||||||
| AIME 2025 | 97.3 | 93.1 | 94.5/96.1 | 95.7 | 83.0 | 94.1 (95.1*) |
| HMMT 2025 (Feb.) | 98.4 | 92.5 | 89.4/95.4 | 97.1 | 71.0* | 84.4 (95.4*) |
| HMMT 2025 (Nov.) | 94.0 | 90.2 | 89.2*/— | 93.5 | 74.3* | 91.0* |
| IMOAnswerBench | 85.4 | 78.3 | 78.6/81.8 | 82.0 | 60.4* | 80.9* |
| Coding | ||||||
| LiveCodeBench-V6 | 86.4 | 83.3 | 83.1/85.0 | 84.9 | — | 80.6 (81.6*) |
| SWE-bench Verified | 74.4 | 73.1 | 71.3/76.8 | 73.8 | 74.0 | 73.4 |
| Terminal-Bench 2.0 | 51.0 | 46.4 | 35.7*/50.8 | 41.0 | 47.9 | 38.5 |
Step 3.5 Flash is built on a Sparse Mixture-of-Experts (MoE) transformer architecture, optimized for high throughput and low VRAM usage during inference.
| Component | Specification |
|---|---|
| Backbone | 45-layer Transformer (4,096 hidden dim) |
| Context Window | 256K |
| Vocabulary | 128,896 tokens |
| Total Parameters | 196.81B (196B Backbone + 0.81B Head) |
| Active Parameters | ~11B (per token generation) |
Unlike traditional dense models, Step 3.5 Flash uses a fine-grained routing strategy to maximize efficiency:
To improve inference speed, we utilize a specialized MTP Head consisting of a sliding-window attention mechanism and a dense Feed-Forward Network (FFN). This module predicts 4 tokens simultaneously in a single forward pass, significantly accelerating inference without degrading quality.
You can get started with Step 3.5 Flash in minutes using Cloud API via our supported providers.
OpenRouter provides uniform access to Step 3.5 Flash with both free and paid tiers.
Models:
stepfun/step-3.5-flash:freestepfun/step-3.5-flashConfiguration:
https://openrouter.ai/api/v1StepFun offers official API endpoints for both International and Chinese users.
| Region | Website | Base URL |
|---|---|---|
| International | platform.stepfun.ai | https://api.stepfun.ai/v1 |
| China | platform.stepfun.com | https://api.stepfun.com/v1 |
Note: China platform requires +86 phone number verification.
For a full agentic experience, we recommend using OpenClaw. 👉 View the OpenClaw Cookbook to get started in minutes.
Install the standard OpenAI SDK (compatible with both platforms):
pip install --upgrade "openai>=1.0"
Python Example:
from openai import OpenAI
# Configuration for OpenRouter
# base_url = "https://openrouter.ai/api/v1"
# api_key = "sk-or-..."
# model = "stepfun/step-3.5-flash"
# Configuration for StepFun (International)
base_url = "https://api.stepfun.ai/v1"
# For China: base_url = "https://api.stepfun.com/v1"
api_key = "your-stepfun-api-key"
model = "step-3.5-flash"
client = OpenAI(api_key=api_key, base_url=base_url)
completion = client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! Introduce yourself."}
]
)
print(completion.choices[0].message.content)
Step 3.5 Flash is optimized for local inference and supports industry-standard backends including vLLM, SGLang, Hugging Face Transformers and llama.cpp.
We recommend using the latest nightly build of vLLM.
# via Docker
docker pull vllm/vllm-openai:nightly
# or via pip (nightly wheels)
pip install -U vllm --pre \
--index-url https://pypi.org/simple \
--extra-index-url https://wheels.vllm.ai/nightly
Note: Bug fixes for tool parser and reasoning parser, as well as support for the v1/messages interface, are being merged into vLLM. In the meantime, you can use the vllm/vllm-openai:v0.15.1-x86_64 image with step3.5_vllm_v0.15.1.patch for deployment. The patch file step3.5_vllm_v0.15.1.patch is provided in this repository; download or copy it and ensure it is accessible from the directory where you run git apply (or use its absolute path).
# via Docker
# refer to "step3.5_vllm_v0.15.1.Dockerfile"
# or via pip
pip install -U vllm==0.15.1
cd /path/to/lib/python3.12/site-packages # Replace with the parent dir of vLLM installation path.
git apply /path/to/step3.5_vllm_v0.15.1.patch # Replace with the actual path to the patch file (e.g., from the repository root).
Note: Full MTP3 support is not yet available in vLLM. We are actively working on a Pull Request to integrate this feature, which is expected to significantly enhance decoding performance.
vllm serve <MODEL_PATH_OR_HF_ID> \
--served-model-name step3p5-flash \
--tensor-parallel-size 8 \
--enable-expert-parallel \
--disable-cascade-attn \
--reasoning-parser step3p5 \
--enable-auto-tool-choice \
--tool-call-parser step3p5 \
--hf-overrides '{"num_nextn_predict_layers": 1}' \
--speculative_config '{"method": "step3p5_mtp", "num_speculative_tokens": 1}' \
--trust-remote-code \
--quantization fp8
vllm serve <MODEL_PATH_OR_HF_ID> \
--served-model-name step3p5-flash \
--tensor-parallel-size 8 \
--enable-expert-parallel \
--disable-cascade-attn \
--reasoning-parser step3p5 \
--enable-auto-tool-choice \
--tool-call-parser step3p5 \
--hf-overrides '{"num_nextn_predict_layers": 1}' \
--speculative_config '{"method": "step3p5_mtp", "num_speculative_tokens": 1}' \
--trust-remote-code
# via Docker
docker pull lmsysorg/sglang:dev-pr-18084
# or from source (pip)
pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git"
SGLANG_ENABLE_SPEC_V2=1
sglang serve \
--model-path <MODEL_PATH_OR_HF_ID> \
--served-model-name step3p5-flash \
--tp-size 8 \
--tool-call-parser step3p5 \
--reasoning-parser step3p5 \
--speculative-algorithm EAGLE \
--speculative-num-steps 3 \
--speculative-eagle-topk 1 \
--speculative-num-draft-tokens 4 \
--enable-multi-layer-eagle \
--host 0.0.0.0 \
--port 8000
SGLANG_ENABLE_SPEC_V2=1
sglang serve \
--model-path <MODEL_PATH_OR_HF_ID> \
--served-model-name step3p5-flash \
--tp-size 8 \
--ep-size 8 \
--tool-call-parser step3p5 \
--reasoning-parser step3p5 \
--speculative-algorithm EAGLE \
--speculative-num-steps 3 \
--speculative-eagle-topk 1 \
--speculative-num-draft-tokens 4 \
--enable-multi-layer-eagle \
--host 0.0.0.0 \
--port 8000
Use this snippet for quick functional verification. For high-throughput serving, use vLLM or SGLang.
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_PATH = "<MODEL_PATH_OR_HF_ID>"
# 1. Setup
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
trust_remote_code=True,
torch_dtype="auto",
device_map="auto",
)
# 2. Prepare Input
messages = [{"role": "user", "content": "Explain the significance of the number 42."}]
inputs = tokenizer.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
# 3. Generate
generated_ids = model.generate(**inputs, max_new_tokens=128, do_sample=False)
output_text = tokenizer.decode(generated_ids[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(output_text)
the folder
Step-3.5-Flash/tree/main/llama.cppis obsolete
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
cmake -S . -B build-macos \
-DCMAKE_BUILD_TYPE=Release \
-DGGML_METAL=ON \
-DGGML_ACCELERATE=ON \
-DLLAMA_BUILD_EXAMPLES=ON \
-DLLAMA_BUILD_COMMON=ON \
-DGGML_LTO=ON
cmake --build build-macos -j8
cmake -S . -B build-cuda \
-DCMAKE_BUILD_TYPE=Release \
-DGGML_CUDA=ON \
-DGGML_CUDA_GRAPHS=ON \
-DLLAMA_CURL=OFF \
-DLLAMA_BUILD_EXAMPLES=ON \
-DLLAMA_BUILD_COMMON=ON
cmake --build build-cuda -j8
cmake -S . -B build-vulkan \
-DCMAKE_BUILD_TYPE=Release \
-DLLAMA_CURL=OFF \
-DGGML_OPENMP=ON \
-DGGML_VULKAN=ON
cmake --build build-vulkan -j8
./llama-cli -m step3.5_flash_Q4_K_S.gguf -c 16384 -b 2048 -ub 2048 -fa on --temp 1.0 -p "What's your name?"
./llama-batched-bench -m step3.5_flash_Q4_K_S.gguf -c 32768 -b 2048 -ub 2048 -npp 0,2048,8192,16384,32768 -ntg 128 -npl 1
Note: As mentioned in the Quick Start, you can access Step 3.5 Flash via OpenRouter or the StepFun Platform. Choose the base URL and API key corresponding to your preferred provider when configuring these agents.
OpenClaw is a powerful agentic platform that works seamlessly with Step 3.5 Flash. Step 3.5 Flash is a perfect fit for OpenClaw due to its high speed and strong agentic capabilities (maintaining deep reasoning and consistency during execution).
Quick Setup:
curl -fsSL https://openclaw.ai/install.sh | bashopenclaw onboard.Config -> Models), add a new provider:
openai-completionshttps://api.stepfun.ai/v1 (International) or https://api.stepfun.com/v1 (China)https://openrouter.ai/api/v1step-3.5-flash (or stepfun/step-3.5-flash for OpenRouter)For a full walkthrough, see our OpenClaw Cookbook.
You can configure Claude Code to use Step 3.5 Flash by modifying your settings.
Update ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "YOUR_STEPFUN_API_KEY",
"ANTHROPIC_BASE_URL": "https://api.stepfun.ai/" // Use "https://api.stepfun.com/" for China endpoint
},
"model": "step-3.5-flash"
}
Note: For more advanced routing or OpenAI-style usage, we recommend claude-code-router.
To use Step 3.5 Flash with the @openai/codex CLI, update your ~/.codex/config.toml:
model="step-3.5-flash"
model_provider = "stepfun-chat"
preferred_auth_method = "apikey"
[model_providers.stepfun-chat]
name = "OpenAI using response"
base_url = "https://api.stepfun.ai/v1"
env_key = "OPENAI_API_KEY"
wire_api = "chat"
Step 3.5 Flash powers the reasoning core of Step-DeepResearch.
To use it, simply set MODEL_NAME to Step-3.5-Flash in your .env file.
See the Step-DeepResearch Repository for full setup instructions.
Explore our Cookbooks directory for practical examples and integration guides, including:
Visit the Cookbooks README for more details and contribution guidelines.
We view our roadmap as a living document, evolving continuously based on real-world usage and developer feedback. As we work to shape the future of AGI by expanding broad model capabilities, we want to ensure we are solving the right problems. We invite you to be part of this continuous feedback loop—your insights directly influence our priorities.
This project is open-sourced under the Apache 2.0 License.
C++
56.2%
C
11.5%
Python
8.9%
Cuda
6.2%
HTML
4.3%
Metal
1.9%
TypeScript
1.8%
Svelte
1.8%
GLSL
1.3%
Shell
1.1%