Qwen-Math provides powerful mathematical reasoning and calculation capabilities, with detailed problem-solving steps for easy understanding and verification.
This document applies only to the China (Beijing) region. To use a model, use an API key from the China (Beijing) region.
Models and pricing
Commercial
Model | Input price | Output price | Context window | Max input | Max output | Free quota |
(Million tokens) | (Tokens) | |||||
qwen-math-plus | $0.574 | $1.721 | 4,096 | 3,072 | 3,072 | No free quota |
qwen-math-turbo | $0.287 | $0.861 | ||||
Snapshots such asqwen-math-xxx-latestandqwen-math-xxx-YYYY-MM-DDhave the same prices and specifications as the precedingqwen-math-xxxversions,
Model capabilities:qwen-math-xxx=qwen-math-xxx-latest=qwen-math-xxx-2024-09-19
Open source
Model | Input price | Output price | Context window | Max input | Max output | Free quota |
(Million tokens) | (Tokens) | |||||
qwen2.5-math-72b-instruct | $0.574 | $1.721 | 4,096 | 3,072 | 3,072 | No free quota |
qwen2.5-math-7b-instruct | $0.144 | $0.287 | ||||
qwen2.5-math-1.5b-instruct | Free for a limited time | Free for a limited time | ||||
For more information about the rate limits, see Rate limits.
Getting started
You must obtain an API key and set the API key as an environment variable. If you use the OpenAI SDK or DashScope SDK to make calls, you must also install the SDK.
OpenAI compatible
Python
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"), # Do not hard-code credentials in your code. Always use environment variables or a key management service.
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-math-plus",
messages=[{'role': 'user', 'content': 'Derive a universal solution for the quadratic equation $ Ax^2+Bx+C=0 $'}])
print(completion.choices[0].message.content)curl
curl --location "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-math-plus",
"messages": [
{
"role": "user",
"content": "Derive a universal solution for the quadratic equation $ Ax^2+Bx+C=0 $"
}
]
}'DashScope
Python
from http import HTTPStatus
import dashscope
def call_with_messages():
messages = [
{'role': 'user', 'content': 'Derive a universal solution for the quadratic equation $ Ax^2+Bx+C=0 $'}]
response = dashscope.Generation.call(
model='qwen-math-plus',
messages=messages,
# Set result_format to message.
result_format='message',
)
if response.status_code == HTTPStatus.OK:
print(response)
else:
print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
response.request_id, response.status_code,
response.code, response.message
))
if __name__ == '__main__':
call_with_messages()
Java
import java.util.Arrays;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
public class Main {
public static void callWithMessage()
throws NoApiKeyException, ApiException, InputRequiredException {
Generation gen = new Generation();
Message userMsg = Message.builder().role(Role.USER.getValue()).content("Derive a universal solution for the quadratic equation $ Ax^2+Bx+C=0 $").build();
GenerationParam param =GenerationParam.builder()
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen-math-plus")
.messages(Arrays.asList(userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
GenerationResult result = gen.call(param);
System.out.println(result);
}
public static void main(String[] args){
try {
callWithMessage();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.println(e.getMessage());
}
}
}
curl
curl --location "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-math-plus",
"input":{
"messages":[
{
"role": "user",
"content": "Derive a universal solution for the quadratic equation $ Ax^2+Bx+C=0 $"
}
]
},
"parameters": {
"result_format": "message"
}
}'You can also go to the Model Studio console to try out the model.
Recommendations
Use English and LaTeX: Qwen-Math is designed for mathematical problems in English. For best results, use LaTeX for mathematical symbols and formulas in your input.
Standardize output: Use partial mode for precise control. It ensures that the output closely follows the provided prefix, which improves the accuracy and control of the results.
The model is set to
temperature=0by default. No adjustment is required.Retrieve results easily: Qwen-Math places the final result in a
\boxed{}block by default.
FAQ
How can I use Qwen-Math to solve mathematical problems in images? |
Qwen-Math does not support image input.
For more information about the input and response parameters of Qwen-Math, see Qwen API reference. |
Where can I find detailed information about error codes? |
If a call fails, see Error messages for troubleshooting. |