一、登录阿里云

打开这个网址:

 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

python 调用通义千问api详细教程_python

二、创建apikey 

python 调用通义千问api详细教程_python_02

python 调用通义千问api详细教程_语言模型_03

python 调用通义千问api详细教程_开发语言_04

python 调用通义千问api详细教程_开发语言_05

三、python示例代码
# Refer to the document for workspace information: https://help.aliyun.com/document_detail/2746874.html    
        
from http import HTTPStatus
import dashscope

def call_with_stream():
    messages = [
        {'role': 'user', 'content': '介绍一下你自己'}]
    responses = dashscope.Generation.call("qwen-max", #调用的模型接口
                                messages=messages,
                                result_format='message',  # set the result to be "message"  format.
                                stream=True, # 是否开启流式输出,不开启设置False
                                incremental_output=True  # 是否开启流式输出,不开启设置False
                                )
    for response in responses:
        if response.status_code == HTTPStatus.OK:
            print(response.output.choices[0]['message']['content'],end='')
        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_stream()
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
 四、模型介绍

模型系列

模型名称

模型简介

模型输入/输出限制

通义千问-Turbo

qwen-turbo

通义千问超大规模语言模型,支持中文、英文等不同语言输入。

模型支持8k tokens上下文,为了保证正常的使用和输出,API限定用户输入为6k tokens。

qwen-turbo-0206

通义千问超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-turbo的2024年2月6号的历史快照稳定版本,仅推荐特定需求客户访问。

qwen-turbo-0624

通义千问超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-turbo的2024年6月24号的历史快照稳定版本,仅推荐特定需求客户访问。

通义千问-Plus

qwen-plus

通义千问超大规模语言模型增强版,支持中文、英文等不同语言输入。

模型支持32k tokens上下文,为了保证正常的使用和输出,API限定用户输入为30k tokens。

qwen-plus-0206

通义千问超大规模语言模型增强版,支持中文、英文等不同语言输入。该模型为qwen-plus的2024年2月6号的历史快照稳定版本,仅推荐特定需求客户访问。

qwen-plus-0624

通义千问超大规模语言模型增强版,支持中文、英文等不同语言输入。该模型为qwen-plus的2024年6月24号的历史快照稳定版本,仅推荐特定需求客户访问。

通义千问-Max

qwen-max

通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。随着模型的升级,qwen-max将滚动更新升级。如果希望使用固定版本,请使用历史快照版本。当前qwen-max模型与qwen-max-0428快照版本等价,均为最新版本的qwen-max模型,也是当前通义千问2.5产品版本背后的API模型

模型支持8k tokens上下文,为了保证正常的使用和输出,API限定用户输入为6k tokens。

qwen-max-0428

通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型与当前的qwen-max版本对齐,为qwen-max的2024年4月28号的历史快照,预期维护到下个快照版本发布时间(待定)后一个月。

qwen-max-0403

通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2024年4月3号的历史快照稳定版本,预期维护到下个快照版本发布时间(待定)后一个月。

qwen-max-0107

通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。该模型为qwen-max的2024年1月7号的历史快照稳定版本,仅推荐特定需求客户访问。

qwen-max-longcontext

通义千问千亿级别超大规模语言模型,支持中文、英文等不同语言输入。

模型支持30k tokens上下文,为了保证正常的使用和输出,API限定用户输入为28k tokens。

五、模型计费介绍

Token是模型用来表示自然语言文本的基本单位,可以直观的理解为“字”或“词”。对于中文文本来说,1个token通常对应一个汉字;对于英文文本来说,1个token通常对应3至4个字母。

通义千问模型服务根据模型输入和输出的token数量进行计量计费,其中多轮对话中的history作为输入也会进行计量计费。每一次模型调用产生的实际token数量可以从 response 中获取。

字符串与token之间的互相转换

不同的大模型切分token的方法可能不同。您可以使用SDK在本地查看经过通义千问模型切分后的token数据。

# 运行前请 pip install tiktoken
from dashscope import get_tokenizer  # dashscope版本 >= 1.14.0

# 获取tokenizer对象,目前只支持通义千问系列模型
tokenizer = get_tokenizer('qwen-turbo')

input_str = '通义千问具有强大的能力。'

# 将字符串切分成token并转换为token id
tokens = tokenizer.encode(input_str)
print(f"经过切分后的token id为:{tokens}。")
print(f"经过切分后共有{len(tokens)}个token")

# 将token id转化为字符串并打印出来
for i in range(len(tokens)):
    print(f"token id为{tokens[i]}对应的字符串为:{tokenizer.decode(tokens[i])}")
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

本地运行的tokenizer可以用来估计文本的token量,但是得到的结果不保证与模型服务端完全一致,仅供参考。如果您对通义千问的tokenizer细节感兴趣,请参考:  tokenizer参考

计费单价

模型服务

模型规格

输入(input)价格

输出(output)价格

计费模式

Qwen-Long

qwen-long

0.0005元/1,000 tokens

0.002元/1,000 tokens

后付费

通义千问-Turbo

qwen-turbo

0.002元/1,000 tokens

0.006元/1,000 tokens

后付费

qwen-turbo-0206

qwen-turbo-0624

通义千问-Plus

qwen-plus

0.004元/1,000 tokens

0.012元/1,000 tokens

后付费

qwen-plus-0206

qwen-plus-0624

qwen-plus-0723

通义千问-Max

qwen-max

0.04元/1,000 tokens

0.12元/1,000 tokens

后付费

qwen-max-0428

0.04元/1,000 tokens

qwen-max-0403

0.04元/1,000 tokens

qwen-max-0107

0.04元/1,000 tokens

qwen-max-1201

0.12元/1,000 tokens

qwen-max-longcontext

0.04元/1,000 tokens

说明

模型名称变更通知:

qwen-turbo

  • 原来为qwen-v1qwen-v1计费与qwen-turbo保持一致。qwen-v1模型已弃用,请使用qwen-turbo
  • qwen-plus原来为qwen-plus-v1qwen-plus-v1计费与qwen-plus保持一致。qwen-plus-v1模型已弃用,请使用qwen-plus
免费额度

模型服务

模型名

免费额度

Qwen-Long

qwen-long

100万tokens

领取方式:开通阿里云百炼服务后,自动发放;

有效期:30天

通义千问-Turbo

qwen-turbo

qwen-turbo-0206

qwen-turbo-0624

通义千问-Plus

qwen-plus

qwen-plus-0206

qwen-plus-0624

qwen-plus-0723

通义千问-Max

qwen-max

qwen-max-0428

qwen-max-0403

qwen-max-0107

qwen-max-1201

qwen-max-longcontext

基础限流

为了保证用户调用模型的公平性,通义千问系列模型设置了基础限流。限流是基于模型维度的,并且和调用用户的阿里云主账号相关联,按照该账号下所有API-KEY调用该模型的总和计算限流。如果超出调用限制,用户的API请求将会因为限流控制而失败,用户需要等待一段时间待满足限流条件后方能再次调用。

模型服务

模型名

基础限流

超出基础限流申请

Qwen-long

qwen-long

以下条件任何一个超出都会触发限流:

  • 调用频次 ≤ 100 QPM,每分钟不超过100次API调用;
  • Token消耗暂无限制。

暂无申请方式

通义千问-Turbo

qwen-turbo

以下条件任何一个超出都会触发限流:

  • 调用频次 ≤ 500 QPM,每分钟不超过500次API调用;
  • Token消耗 ≤ 500,000 TPM,每分钟消耗的token数目不超过500,000。

 qwen-turbo超出基础限流配额点此申请

qwen-turbo-0206

以下条件任何一个超出都会触发限流:

  • 调用频次 ≤ 60 QPM,每分钟不超过60次API调用;
  • Token消耗 ≤ 18,000 TPM,每分钟消耗的token数目不超过18,000。

暂无申请方式

qwen-turbo-0624

以下条件任何一个超出都会触发限流:

  • 调用频次 ≤ 60 QPM,每分钟不超过60次API调用;
  • Token消耗 ≤ 150,000 TPM,每分钟消耗的token数目不超过150,000。

通义千问-Plus

qwen-plus

以下条件任何一个超出都会触发限流:

  • 调用频次 ≤ 200 QPM,每分钟不超过200次API调用;
  • Token消耗 ≤ 200,000 TPM,每分钟消耗的token数目不超过200,000。

 qwen-plus超出基础限流配额点此申请

qwen-plus-0206

以下条件任何一个超出都会触发限流:

  • 调用频次 ≤ 60 QPM,每分钟不超过60次API调用;
  • Token消耗 ≤ 18,000 TPM,每分钟消耗的token数目不超过18,000。

暂无申请方式

qwen-plus-0624

以下条件任何一个超出都会触发限流:

  • 调用频次 ≤ 60 QPM,每分钟不超过60次API调用;
  • Token消耗 ≤ 150,000 TPM,每分钟消耗的token数目不超过150,000。

qwen-plus-0723

以下条件任何一个超出都会触发限流:

  • 调用频次 ≤ 60 QPM,每分钟不超过60次API调用;
  • Token消耗 ≤ 60,000 TPM,每分钟消耗的token数目不超过60,000。

通义千问-Max

qwen-max

以下条件任何一个超出都会触发限流(限时免费开放中,限流策略可能随时变化):

  • 调用频次 ≤ 60 QPM,每分钟不超过60次API调用;
  • Token消耗 ≤ 100,000 TPM,每分钟消耗的token数目不超过100,000。

qwen-max-0428

qwen-max-0403

qwen-max-1201

qwen-max-0107

以下条件任何一个超出都会触发限流(限时免费开放中,限流策略可能随时变化):

  • 调用频次 ≤ 10 QPM,每分钟不超过10次API调用;
  • Token消耗 ≤ 20,000 TPM,每分钟消耗的Token数目不超过20,000。

qwen-max-longcontext

以下条件任何一个超出都会触发限流:

  • 调用频次 ≤ 5 QPM,每分钟不超过5次API调用;
  • Token消耗 ≤ 1500,000 TPM,每分钟消耗的token数目不超过1500,000。

重要 :有些模型先使用再扣费,一定要注意!注意!注意!

重要 :有些模型先使用再扣费,一定要注意!注意!注意!

重要 :有些模型先使用再扣费,一定要注意!注意!注意!