Skip to content

QwQ-32B

基于Qwen2.5-32B模型训练的QwQ推理模型,通过强化学习大幅度提升了模型推理能力。

模型数学代码等核心指标(AIME 24/25、livecodebench)以及部分通用指标(IFEval、LiveBench等)达到DeepSeek-R1 满血版水平, 各指标均显著超过同样基于 Qwen2.5-32B 的 DeepSeek-R1-Distill-Qwen-32B

阿里百炼

ollama

API调用

python
from openai import OpenAI
import os

# 初始化OpenAI客户端
client = OpenAI(
    # 如果没有配置环境变量,请用百炼API Key替换:api_key="sk-xxx"
    api_key = os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)

reasoning_content = ""  # 定义完整思考过程
answer_content = ""     # 定义完整回复
is_answering = False   # 判断是否结束思考过程并开始回复

# 创建聊天完成请求
completion = client.chat.completions.create(
    model="qwq-32b",  # 此处以 qwq-32b 为例,可按需更换模型名称
    messages=[
        {"role": "user", "content": "9.9和9.11谁大"}
    ],
    stream=True,
    # 解除以下注释会在最后一个chunk返回Token使用量
    # stream_options={
    #     "include_usage": True
    # }
)

print("\n" + "=" * 20 + "思考过程" + "=" * 20 + "\n")

for chunk in completion:
    # 如果chunk.choices为空,则打印usage
    if not chunk.choices:
        print("\nUsage:")
        print(chunk.usage)
    else:
        delta = chunk.choices[0].delta
        # 打印思考过程
        if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None:
            print(delta.reasoning_content, end='', flush=True)
            reasoning_content += delta.reasoning_content
        else:
            # 开始回复
            if delta.content != "" and is_answering is False:
                print("\n" + "=" * 20 + "完整回复" + "=" * 20 + "\n")
                is_answering = True
            # 打印回复过程
            print(delta.content, end='', flush=True)
            answer_content += delta.content

# print("=" * 20 + "完整思考过程" + "=" * 20 + "\n")
# print(reasoning_content)
# print("=" * 20 + "完整回复" + "=" * 20 + "\n")
# print(answer_content)

输出结果

xml


====================思考过程====================

嗯,今天用户问的是“9.9和9.11谁大”。这个问题看起来简单,但作为刚开始学数学的人可能会有点困惑,特别是涉及到小数的比较。首先,我得确认用户的需求到底是什么。他们可能是在学习小数比较,或者是在实际生活中遇到了需要比较这两个数的情况,比如价格、版本号或者测量值之类的。

,我应该回忆一下小数比较的基本方法。通常比较小数的时候,先比较整数部分,整数部分大的那个数就大。如果整数部分相同,就比较小数点后的第一位,依此类推。比如,比较9.9和9.11,它们的整数部分都是9,所以需要看小数部分。

,小数点后第一位,9.9的小数部分是9,而9.11的小数点后第一位是1。这时候可能会有人觉得9比1大,所以9.9更大。不过,这里有个问题,就是9.11的小数部分其实是两位,而9.9只有一位。这时候应该怎么处理呢?

需要把两个数的小数位数统一起来,比如把9.9写成9.90,这样和9.11比较的话,小数点后的第二位就是0和1。这时候,第二位的话,9.90的第二位是0,而9.11的是1,所以9.11的第二位更大,因此9.11更大?

,这样是不是有问题呢?因为通常比较小数的时候,当位数不同时,比如一位小数和两位小数,其实可以补零到相同位数,然后再比较每一位。所以9.9等于9.90,而9.11就是两位小数。这样比较的话,第一位小数是9 vs 1,这时候第一位小数9比1大,所以9.9更大?

就出现了矛盾,两种不同的思路会导致不同的结论。这时候需要仔细想想,哪里出错了?

,对了,这里可能有个误区。正确的比较步骤应该是这样的:首先比较整数部分,都是9,相等。然后比较小数点后的第一位数字,9.9的第一位是9,而9.11的第一位是1,所以9比1大,因此9.9更大?但是这样的话,为什么有人会觉得9.11更大呢?

可能用户把9.11当成了9.1和1的组合?比如在中文里,有时候可能会有歧义,比如“9.11”可能被误解为9.1加上1,但其实应该严格按照小数的写法来,9.11就是九点一一,也就是9又11/100,而9.9就是九点九,也就是9又9/10。这时候,9.9等于9.90,而9.11是9.11,所以比较的时候,第一位小数是9 vs 1,所以第一位小数更大的那个数更大,即9.9更大。

,这时候可能有人会混淆,比如在版本号中,有时候版本号的比较规则不同,比如9.11可能比9.9大,因为版本号通常会把后面的数字视为更高位的细分,比如9.11可能等同于9.11.0,而9.9可能视为9.9.0,这时候比较的话,第二位是11比9大,所以9.11更大。但这里题目里没有说明是版本号,所以应该按照数学上的小数比较规则来。

正确的比较应该是:9.9等于9.90,而9.11是9.11,比较到第一位小数时,9>1,所以9.9更大?

为什么之前有人可能会觉得9.11更大呢?可能是因为看到后面的数字更长,比如两位小数,所以觉得后面的数更大?或者在某些上下文中,比如货币,9.11是9元1角1分,而9.9是9元9角,显然9元9角更多,所以9.9更大?

我需要再仔细确认一下小数的比较规则。数学上的正确方法是,比较小数时,从高位到低位逐位比较,直到出现不同的数字为止。例如:

9.9和9.11:

,整数部分都是9,相等。

比较小数点后的第一位:9.9的第一位是9,而9.11的第一位是1。显然9>1,所以9.9更大。后面的第二位小数(9.9的第二位是0,因为可以看成9.90,而9.11的第二位是1)这时候已经不需要比较了,因为第一位已经分出胜负了。

正确的结论应该是9.9比9.11大?

这里可能有一个常见的误区,就是当小数位数不同时,人们可能会错误地认为位数多的数更大,但实际上应该逐位比较,直到找到不同的位为止。比如,比较1.2和1.23,虽然1.23有两位小数,但第一位都是2,第二位是0和3,所以1.23更大。但在这个例子中,第一位小数就不同了,所以直接比较第一位。

,正确的结论应该是9.9更大?

,可能用户的问题存在其他理解方式,比如在某些情况下,比如月份和日期,9.11可能指的是9月11日,而9.9是9月9日,这时候比较日期的话,9.11在后面,所以更大。但题目里没有给出上下文,所以应该按数学上的数值比较来处理。

,可能用户输入的时候有笔误,比如9.11是否应该是9.1?如果是的话,那9.9更大。但题目里是9.11,所以应该按照正确的数值处理。

一下,正确的步骤是:

. 整数部分比较:9=9,继续。
. 小数点后第一位:9 vs 1 → 9>1,所以9.9更大。

答案应该是9.9更大。

,我需要再确认一下,是否有例外情况或者我的理解有误?

,如果用户写的是9.11,是否可能是指其他进制?比如十六进制?但通常如果没有说明的话,默认是十进制。或者是否有其他含义?

,有没有可能用户把9.11误解为9.1的平方?比如9.1的平方是82.81,但这样显然和9.9无关,所以应该排除。

,最终结论是9.9比9.11大。
====================完整回复====================

比较小数时,首先比较整数部分,若相同则逐位比较小数部分:

. **整数部分**:9.9 和 9.11 的整数部分均为 **9**,相等,继续比较小数部分。
. **小数点后第一位**:
 9.9 的小数第一位是 **9**(可视为 9.90)。
 9.11 的小数第一位是 **1**。
 **9 > 1**,因此 **9.9** 更大。

结论**:**9.9 比 9.11 大**。

---

 关键点:
 **逐位比较**:从高位到低位依次对比,遇到不同位时停止,高位大的数更大。
 **补零原则**:若小数位数不同,可将较短的小数补零至相同位数(如 9.9 → 9.90),再逐位比较。

,**9.9 是较大的数值**。