{"_id":"6a110d5abf07261a989071d8","id":"stepfun-ai/Step-3.7-Flash","private":false,"pipeline_tag":"image-text-to-text","library_name":"transformers","tags":["transformers","safetensors","step3p7","image-text-to-text","vision-language","multimodal","moe","conversational","custom_code","en","license:apache-2.0","eval-results","endpoints_compatible","region:us"],"downloads":25148,"likes":460,"modelId":"stepfun-ai/Step-3.7-Flash","author":"stepfun-ai","sha":"5f6244077ac62e04eec3f320501ff8c2b293373a","lastModified":"2026-06-03T04:11:57.000Z","gated":false,"disabled":false,"widgetData":[{"text":"Hi, what can you help me with?"},{"text":"What is 84 * 3 / 2?"},{"text":"Tell me an interesting fact about the universe!"},{"text":"Explain quantum computing in simple terms."}],"model-index":null,"config":{"architectures":["Step3p7ForConditionalGeneration"],"auto_map":{"AutoConfig":"configuration_step3p7.Step3p7Config","AutoProcessor":"processing_step3.Step3VLProcessor","AutoModelForCausalLM":"modeling_step3p7.Step3p7ForConditionalGeneration"},"model_type":"step3p7","tokenizer_config":{"bos_token":"<｜begin▁of▁sentence｜>","eos_token":"<|im_end|>","pad_token":"<｜end▁of▁sentence｜>","unk_token":null,"use_default_system_prompt":false},"chat_template_jinja":"{% macro render_message_content(message) %}{% if message.content is none %}{{- '' }}{% elif message.content is string %}{{- message.content }}{% elif message.content is mapping %}{{- message.content['value'] if 'value' in message.content else message.content['text'] }}{% elif message.content is iterable %}{% set ns = namespace(needs_text_separator=false) %}{% for item in message.content %}{% if item.type == 'text' %}{% if ns.needs_text_separator %}{{- ' ' }}{% endif %}{{- item['value'] if 'value' in item else item['text'] }}{% set ns.needs_text_separator = true %}{% elif item.type == 'image' %}<im_patch>{% set ns.needs_text_separator = false %}{% endif %}{% endfor %}{% endif %}{% endmacro %}\n{{bos_token}}{%- if tools %}\n    {{- '<|im_start|>system\\n' }}\n    {%- if reasoning_effort is defined %}\n        {{- \"Reasoning: \" + reasoning_effort + '\\n\\n' }}\n    {%- endif %}\n    {%- if messages[0].role == 'system' %}\n        {{- render_message_content(messages[0]) + '\\n\\n' }}\n    {%- endif %}\n    {{- \"# Tools\\n\\nYou have access to the following functions in JSONSchema format:\\n\\n<tools>\" }}\n    {%- for tool in tools %}\n        {{- \"\\n\" }}\n        {{- tool | tojson(ensure_ascii=False) }}\n    {%- endfor %}\n    {{- \"\\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=...>\\n...\\n</function> block must be nested within <tool_call>\\n...\\n</tool_call> XML tags\\n- Required parameters MUST be specified\\n</IMPORTANT><|im_end|>\\n\" }}\n{%- else %}\n    {%- if messages[0].role == 'system' %}\n        {{- '<|im_start|>system\\n' }}\n        {%- if reasoning_effort is defined %}\n            {{- \"Reasoning: \" + reasoning_effort + '\\n\\n' }}\n        {%- endif %}\n        {{- render_message_content(messages[0]) + '<|im_end|>\\n' }}\n    {%- elif reasoning_effort is defined %}\n        {{- '<|im_start|>system\\n' + \"Reasoning: \" + reasoning_effort + '\\n\\n' + '<|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\" and render_message_content(message) is string and not(render_message_content(message).startswith('<tool_response>') and render_message_content(message).endswith('</tool_response>')) %}\n        {%- set ns.multi_step_tool = false %}\n        {%- set ns.last_query_index = index %}\n    {%- endif %}\n{%- endfor %}\n{%- for message in messages %}\n    {%- set content = render_message_content(message) %}\n    {%- if (message.role == \"user\") or (message.role == \"system\" and not loop.first) %}\n        {%- set role_name = 'observation' if (message.role == \"system\" and not loop.first and message.name == 'observation') else message.role %}\n        {{- '<|im_start|>' + role_name + '\\n' + content + '<|im_end|>' + '\\n' }}\n    {%- elif message.role == \"assistant\" %}\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            {%- else %}\n                {%- set reasoning_content = '' %}\n            {%- endif %}\n        {%- endif %}\n        {%- if loop.index0 > ns.last_query_index %}\n            {{- '<|im_start|>' + message.role + '\\n<think>\\n' + reasoning_content + '\\n</think>\\n' + content }}\n        {%- else %}\n            {{- '<|im_start|>' + message.role + '\\n' + content }}\n        {%- endif %}\n        {%- if message.tool_calls %}\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                {{- '<tool_call>\\n<function=' + tool_call.name + '>\\n' }}\n                {%- if tool_call.arguments is defined %}\n                    {%- set arguments = tool_call.arguments | fromjson if tool_call.arguments is string else tool_call.arguments %}\n                    {%- for args_name, args_value in arguments|items %}\n                        {{- '<parameter=' + args_name + '>\\n' }}\n                        {%- set args_value = args_value | tojson(ensure_ascii=False) | 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.first or (messages[loop.index0 - 1].role != \"tool\") %}\n            {{- '<|im_start|>tool_response\\n' }}\n        {%- endif %}\n        {{- '<tool_response>' }}\n        {{- content }}\n        {{- '</tool_response>' }}\n        {%- if loop.last or (messages[loop.index0 + 1].role != \"tool\") %}\n            {{- '<|im_end|>\\n' }}\n        {%- endif %}\n    {%- endif %}\n{%- endfor %}\n{%- if add_generation_prompt %}\n    {{- '<|im_start|>assistant\\n<think>\\n' }}\n{%- endif %}\n"},"cardData":{"license":"apache-2.0","library_name":"transformers","pipeline_tag":"image-text-to-text","language":["en"],"tags":["vision-language","multimodal","moe"]},"transformersInfo":{"auto_model":"AutoModelForMultimodalLM","pipeline_tag":"image-text-to-text","processor":"AutoProcessor"},"siblings":[{"rfilename":".gitattributes"},{"rfilename":"README.md"},{"rfilename":"assets/benchmarks.png"},{"rfilename":"chat_template.jinja"},{"rfilename":"config.json"},{"rfilename":"configuration_step3p7.py"},{"rfilename":"model-00001.safetensors"},{"rfilename":"model-00002.safetensors"},{"rfilename":"model-00003.safetensors"},{"rfilename":"model-00004.safetensors"},{"rfilename":"model-00005.safetensors"},{"rfilename":"model-00006.safetensors"},{"rfilename":"model-00007.safetensors"},{"rfilename":"model-00008.safetensors"},{"rfilename":"model-00009.safetensors"},{"rfilename":"model-00010.safetensors"},{"rfilename":"model-00011.safetensors"},{"rfilename":"model-00012.safetensors"},{"rfilename":"model-00013.safetensors"},{"rfilename":"model-00014.safetensors"},{"rfilename":"model-00015.safetensors"},{"rfilename":"model-00016.safetensors"},{"rfilename":"model-00017.safetensors"},{"rfilename":"model-00018.safetensors"},{"rfilename":"model-00019.safetensors"},{"rfilename":"model-00020.safetensors"},{"rfilename":"model-00021.safetensors"},{"rfilename":"model-00022.safetensors"},{"rfilename":"model-00023.safetensors"},{"rfilename":"model-00024.safetensors"},{"rfilename":"model-vit-00001.safetensors"},{"rfilename":"model-vit-00002.safetensors"},{"rfilename":"model.safetensors.index.json"},{"rfilename":"modeling_step3p7.py"},{"rfilename":"processing_step3.py"},{"rfilename":"special_tokens_map.json"},{"rfilename":"tokenizer.json"},{"rfilename":"tokenizer_config.json"},{"rfilename":"vision_encoder.py"}],"spaces":["tardellirs/model-pulse","embedl/hfviewer","stepfun-ai/Step-3.7-Flash-dev","akhaliq/Step-3.7-Flash","ranilmukesh/PlacementPredictor","RehamAAhmed/Ai_Inspection_System","RehamAAhmed/Matching_and_Damage","RehamAAhmed/inspection-website","crackedcity/app","WinstonDeng/Step-3.7-Flash-Developer","Dreamyear12/nvidia-litellm-router","coumba12/Step-3.7-Flash-dev","iangianera/90IQ","Jarvis2345/jarvis-cloud","saitejatirunagari/JAA-ATS-Tool","T7yrttrd/Server-Vision-Model-Cupu-3.7-Vision-Clade","abhay1704/content-generator-rsi","FreshPixels/PinkSky","abyan2758/stepfun-ai-Step-3.7-Flash","rndashboard/rndashboard","developerjeremylive/Step-3.7-Flash-etheroi","sdce/ohmycaptcha","augment17/agentscope","Pq234/stepfun-ai-Step-3.7-Flash","Qian7988/qianxi-blog-backend","zst50/MoE-Parameter-Calculator","yeeeeezus/inference"],"createdAt":"2026-05-23T02:13:46.000Z","safetensors":{"parameters":{"BF16":201365304064,"F32":12096},"total":201365316160},"inference":"warm","usedStorage":402731781945}