The Latest AIs, every day
AIs with the most favorites on Toolify
AIs with the highest website traffic (monthly visits)
AI Tools by Apps
Discover the Discord of AI
AI Tools by browser extensions
GPTs from GPT Store
Discover The Best Model For AI
Top AI lists by month and monthly visits.
Top AI lists by category and monthly visits.
Top AI lists by region and monthly visits.
Top AI lists by source and monthly visits.
Top AI lists by revenue and real traffic.
This repository contains model weights and configuration files for the post-trained model in the Hugging Face Transformers format.
These artifacts are compatible with Hugging Face Transformers, vLLM, SGLang, TokenSpeed, etc.
For users seeking managed, scalable inference without infrastructure maintenance, the official Qwen API service is provided by Qwen Cloud . In particular, Qwen3.8-27B will be available as a hosted version with more production features, e.g., 1M context length by default, official built-in tools. For more information, please refer to the Qwen3.8-27B Overview . The service is coming soon. Stay tuned for updates.
Following the widespread community adoption of the Qwen3.5 and Qwen3.6 series, we are pleased to introduce Qwen3.8, the most capable generation in the Qwen open-model family to date.
Built on the architectural foundation of Qwen3.5, Qwen3.8 delivers substantial gains across coding, professional work, research, and long-horizon agentic tasks. Qwen3.8-27B brings these advances to a compact, deployment-friendly dense model: a native vision-language model that understands images and videos, with flexible thinking control, designed to carry complex, multi-step tasks through to completion with greater reliability.
Qwen3.8-27B features the following enhancements:
reasoning_effort
, and reasoning context from historical messages is retained via
preserve_thinking
.
| Qwen3.8-27B | Qwen3.6-27B | Qwen3.7-Plus | Muse Glimmer-30B | Opus4.6 Max | |
|---|---|---|---|---|---|
| Coding | |||||
|
Agentic terminal coding
Terminal Bench 2.1 (Terminus)
|
73.0 | 63.4 | 64.0 | 51.7 | 78.2 |
|
Agentic coding
SWE-bench Pro
|
61.7 | 53.5 | 57.6 | 51.2 | 53.4 |
|
Repo-level code generation
NL2Repo-Bench
|
42.3 | 36.2 | 41.1 | -- | 47.6 |
|
Agentic coding
DeepSWE 1.1
|
42.2 | 13.3 | 14.2 | -- | -- |
|
Software engineering
QwenSWEBench
|
79.0 | 49.3 | 59.2 | -- | 63.8 |
| Agent | |||||
|
Long-horizon office work
CoWorkBench
|
70.7 | 61.0 | 65.1 | -- | 68.2 |
|
Professional job tasks
JobBench
|
33.4 | 21.8 | 27.6 | -- | -- |
|
Frontier agentic tasks
Agents' Last Exam
|
Pass@1
20.4
Score
42.9
|
Pass@1
10.6
Score
27.3
|
Pass@1
13.2
Score
33.6
|
-- | -- |
| General | |||||
|
Instruction following
IFBench
|
79.5 | 69.1 | 79.1 | 77.0 | 62.5 |
|
Scientific reasoning
GPQA Diamond
|
89.2 | 87.8 | 90.3 | 83.5 | 91.3 |
|
Multidisciplinary reasoning
HLE
|
30.8 | 24.0 | 34.7 | 22.0 | 40.0 |
|
Competitive coding
LiveCodeBench v6
|
90.3 | 83.9 | 89.6 | -- | 88.8 |
| Qwen3.8-27B | Qwen3.6-27B | Qwen3.7-Plus | Muse Glimmer-30B | Opus4.6 Max | |
|---|---|---|---|---|---|
| Agentic Multimodal Intelligence | |||||
|
Computer use
OSWorld-Verified
|
84.3 | 63.9 | 73.3 | 65.9 | 72.7 |
|
Browser use
WebArena-Verified
|
64.8 | 48.8 | 55.3 | -- | -- |
|
Mobile use
AndroidWorld
|
81.9 | 70.3 | 81.0 | -- | 62.0 |
|
Application recreation
RecreationBench
|
47.1 | 29.8 | 30.2 | -- | -- |
|
Multimodal tool use
ClawEval-MM
|
Pass@3
57.4
Average
56.9
|
Pass@3
42.6
Average
50.4
|
Pass@3
57.4
Average
60.1
|
-- |
Pass@3
52.5
Average
54.7
|
|
Multimodal software engineering
SWE-MM
|
38.6 | 25.7 | 30.0 | -- | 27.1 |
|
Visual web development
Vision2Web
|
62.9 | 45.0 | 42.1 | -- | -- |
| General Multimodal Intelligence | |||||
|
Visual math problem solving
MathVision
|
Without CI
90.0
With CI
94.6
|
Without CI
85.1
|
Without CI
90.3
|
-- |
Without CI
65.5
|
|
General visual reasoning
BabyVision
|
Without CI
65.7
With CI
85.6
|
Without CI
28.9
|
Without CI
64.7
With CI
70.4
|
-- |
Without CI
12.6
|
|
Scientific chart analysis
CharXiv (RQ)
|
Without CI
83.7
With CI
90.2
|
Without CI
78.4
|
Without CI
85.8
With CI
85.9
|
78.8 |
Without CI
66.0
|
|
Document intelligence
OmniDocBench 1.5
|
91.1 | 89.4 | 91.4 | 75.8 | 86.6 |
|
Real-world perception
RealWorldQA
|
85.9 | 84.1 | 86.9 | -- | 73.9 |
|
Embodied intelligence
ERQA
|
65.5 | 62.5 | 69.8 | -- | 40.8 |
\boxed{}
.” For the remaining models, we report the higher score from two prompt variants—one with and one without the
\boxed{}
formatting requirement.
gpt-5.4-2026-03-05
.
For streamlined integration, we recommend using Qwen3.8 via APIs.
Inference efficiency and throughput vary significantly across frameworks. We recommend using the latest framework versions to ensure optimal performance and compatibility. For production workloads or high-throughput scenarios, dedicated serving engines such as SGLang, vLLM, or TokenSpeed are recommended.
Qwen3.8 can be deployed with popular inference frameworks, e.g.:
Qwen3.8 models operate in thinking mode by default, generating thinking content signified by
<think>\n...</think>\n\nbefore producing the final response. To disable thinking content and obtain a direct response, refer to the examples here .
We recommend using the following sets of sampling parameters for generation:
- Thinking Mode:
temperature=1.0,top_p=0.95,top_k=20,min_p=0.0,presence_penalty=0.0,repetition_penalty=1.0- Instruct (or non-thinking) mode:
temperature=0.7,top_p=0.80,top_k=20,min_p=0.0,presence_penalty=1.5,repetition_penalty=1.0Please note that the support for sampling parameters varies according to inference frameworks.
Qwen3.8 comes with official support for
reasoning_effort
, which can be used to adjust reasoning depth and control cost:
xhigh
(default): for complex tasks demanding thorough analysis
medium
: balancing accuracy and speed
low
: efficient reasoning optimizing for speed and cost
In addition,
preserve_thinking
is enabled by default for all workloads for the best out-of-the-box experience. To disable preserved thinking, refer to the examples
here
.
In multi-turn agentic tasks, lower reasoning effort does not always reduce overall task completion time. Although it may produce faster per-turn responses, it can also lead to insufficient analysis, more failures, and repeated retries, which may increase total latency and token consumption.
The Chat Completions API can be used with most inference frameworks, as well as Qwen Cloud . Before starting, make sure the OpenAI Python SDK is installed and the API key and the API base URL are configured, e.g.:
pip install -U openai
# Set the following accordingly
export OPENAI_BASE_URL='your-base-url'
export OPENAI_API_KEY='your-api-key'
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [{"role": "user", "content": "Write a Python function to merge two sorted linked lists."}]
completion = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
extra_body={
"chat_template_kwargs": {
"enable_thinking": True, # on by default
"preserve_thinking": True, # on by default
},
},
reasoning_effort="xhigh", # xhigh by default; supported levels are xhigh, medium, and low
stream=True,
stream_options={"include_usage": True},
)
reasoning_content = ""
answer_content = ""
is_answering = False
print("\n" + "=" * 20 + "Reasoning" + "=" * 20 + "\n")
for chunk in completion:
if not chunk.choices:
print("\nUsage:")
print(chunk.usage)
continue
delta = chunk.choices[0].delta
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
reasoning_content += delta.reasoning_content
elif hasattr(delta, "reasoning") and delta.reasoning is not None:
if not is_answering:
print(delta.reasoning, end="", flush=True)
reasoning_content += delta.reasoning
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Answer" + "=" * 20 + "\n")
is_answering = True
print(delta.content, end="", flush=True)
answer_content += delta.content
messages.append({
"role": "assistant",
"content": answer_content,
"reasoning_content": reasoning_content,
"reasoning": reasoning_content,
})
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/CI_Demo/mathv-1327.jpg"
}
},
{
"type": "text",
"text": "The centres of the four illustrated circles are in the corners of the square. The two big circles touch each other and also the two little circles. With which factor do you have to multiply the radii of the little circles to obtain the radius of the big circles?\nChoices:\n(A) $\\frac{2}{9}$\n(B) $\\sqrt{5}$\n(C) $0.8 \\cdot \\pi$\n(D) 2.5\n(E) $1+\\sqrt{2}$"
}
]
}
]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
)
print("Chat response:", chat_response)
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{
"role": "user",
"content": [
{
"type": "video_url",
"video_url": {
"url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/video/N1cdUjctpG8.mp4"
}
},
{
"type": "text",
"text": "How many porcelain jars were discovered in the niches located in the primary chamber of the tomb?"
}
]
}
]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
)
# When vLLM is launched with `--media-io-kwargs '{"video": {"num_frames": -1}}'`,
# video frame sampling can be configured via `extra_body` (e.g., by setting `fps`).
# This feature is currently supported only in vLLM.
#
# By default, `fps=2` and `do_sample_frames=True`.
# With `do_sample_frames=True`, you can customize the `fps` value to set your desired video sampling rate.
# chat_response = client.chat.completions.create(
# model="Qwen/Qwen3.8-27B",
# messages=messages,
# extra_body={
# "mm_processor_kwargs": {"fps": 2, "do_sample_frames": True},
# },
# )
print("Chat response:", chat_response)
Qwen3.8-27B will think by default before responding. You can obtain a direct response from the model without thinking by configuring the API parameters. For example,
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/RealWorld/RealWorld-04.png"
}
},
{
"type": "text",
"text": "Where is this?"
}
]
}
]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
temperature=0.7,
top_p=0.8,
presence_penalty=1.5,
extra_body={
"top_k": 20,
"chat_template_kwargs": {"enable_thinking": False},
},
)
print("Chat response:", chat_response)
If you are using APIs from Qwen Cloud, in addition to changing
model, please use"enable_thinking": Falseinstead of"chat_template_kwargs": {"enable_thinking": False}.
By default, Qwen3.8 retains thinking blocks from all historical messages, maintaining a complete reasoning trace across the conversation. This behavior, known as preserved thinking, ensures full context continuity and is especially beneficial for agent scenarios where decision consistency and reduced redundant reasoning are critical. It also improves KV cache utilization, optimizing inference efficiency in both thinking and non-thinking modes.
If you prefer to retain only the thinking blocks from the latest user message, you can disable this behavior by setting
preserve_thinking
to
False
:
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [...]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
extra_body={
"chat_template_kwargs": {"preserve_thinking": False},
},
)
print("Chat response:", chat_response)
If you are using APIs from Qwen Cloud, in addition to changing
model, please use"preserve_thinking": Falsedirectly instead of wrapping it inchat_template_kwargs.
To achieve optimal performance, we recommend the following settings:
Sampling Parameters : We suggest using the following sets of sampling parameters:
temperature=1.0
,
top_p=0.95
,
top_k=20
,
min_p=0.0
,
presence_penalty=0.0
,
repetition_penalty=1.0
temperature=0.7
,
top_p=0.80
,
top_k=20
,
min_p=0.0
,
presence_penalty=1.5
,
repetition_penalty=1.0
For supported frameworks, you can adjust the
presence_penalty
parameter between 0 and 2 to reduce endless repetition. However, using a higher value may occasionally result in language mixing and a slight decrease in model performance.
Adequate Output Length : To optimize performance on agentic tasks, we recommend allocating sufficient output length to allow the model to generate detailed and comprehensive responses. For frameworks that support separate token limits for internal reasoning and final outputs, we suggest the following configuration within the 1M context length:
These settings provide the necessary capacity for complex reasoning while ensuring ample space for high-quality final deliverables.
Processing Ultra-Long Texts : Qwen3.8-27B natively supports context lengths of up to 262,144 tokens. For long-horizon tasks where the total length (including both input and output) exceeds this limit, we recommend using RoPE scaling techniques to handle long texts effectively, e.g., YaRN.
YaRN is currently supported by several inference frameworks, e.g., vLLM, SGLang, and TokenSpeed. In general, there are two approaches to enabling YaRN for supported frameworks:
Modifying the model configuration file:
In the
config.json
file, change the
rope_parameters
fields in
text_config
to:
{
"mrope_interleaved": true,
"mrope_section": [
11,
11,
10
],
"rope_type": "yarn",
"rope_theta": 10000000,
"partial_rotary_factor": 0.25,
"factor": 4.0,
"original_max_position_embeddings": 262144,
}
Passing command line arguments:
For vLLM, you can use
VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve ... --hf-overrides '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --max-model-len 1000000
For SGLang, you can use
SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 python -m sglang.launch_server ... --json-model-override-args '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --context-length 1000000
For TokenSpeed, you can use
TOKENSPEED_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 tokenspeed serve ... --hf-overrides '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --max-model-len 1000000
All the notable open-source frameworks implement static YaRN, which means the scaling factor remains constant regardless of input length, potentially impacting performance on shorter texts. We advise modifying the
rope_parametersconfiguration only when processing long contexts is required. It is also recommended to modify thefactoras needed. For example, if the typical context length for your application is 524,288 tokens, it would be better to setfactoras 2.0.
Long Video Understanding
: To optimize inference efficiency for plain text and images, the
size
parameter in the released
video_preprocessor_config.json
is conservatively configured. It is recommended to set the
longest_edge
parameter in the video_preprocessor_config file to 469,762,048 (corresponding to 224k video tokens) to enable higher frame-rate sampling for hour-scale videos and thereby achieve superior performance. For example,
{"longest_edge": 469762048, "shortest_edge": 4096}
Alternatively, override the default values via engine startup parameters. For implementation details, refer to: vLLM / SGLang .
If you find our work helpful, feel free to give us a cite.
@misc{qwen38,
title = {{Qwen3.8-Max}: A New Bar for Coding and Cowork},
url = {https://qwen.ai/blog?id=qwen3.8},
author = {{Qwen Team}},
month = {August},
year = {2026}
}
llama3.8 huggingface.co is an AI model on huggingface.co that provides llama3.8's model effect (), which can be used instantly with this ark4004 llama3.8 model. huggingface.co supports a free trial of the llama3.8 model, and also provides paid use of the llama3.8. Support call llama3.8 model through api, including Node.js, Python, http.
llama3.8 huggingface.co is an online trial and call api platform, which integrates llama3.8's modeling effects, including api services, and provides a free online trial of llama3.8, you can try llama3.8 online for free by clicking the link below.
llama3.8 is an open source model from GitHub that offers a free installation service, and any user can find llama3.8 on GitHub to install. At the same time, huggingface.co provides the effect of llama3.8 install, users can directly use llama3.8 installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

