调用阿里通义千问大语言模型API-小白新手教程-python

本文是阿里大语言模型通义千问API使用新手教程。介绍了通义千问模型,提及2024.4.26起API - KEY收费。详细说明了API - KEY申请、DashScope SDK安装、API - KEY设置方式,还讲解了Token切分、对话(含多种对话方式及流式输出)的使用方法,并给出参考文档链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

阿里大语言模型通义千问API使用新手教程

       最近需要用到大模型,了解到目前国产大模型中,阿里的通义千问有比较详细的SDK文档可进行二次开发,目前通义千问的API文档其实是可以进行精简然后学习的,也就是说,是可以通过简单的API调用在自己网页或者软件中接入一个大语言模型,但是似乎并没有人愿意花费时间经历写一个新手友好的教程,为此处于对知识的梳理,和对技术的热爱,我尽我的最大的努力来做这件事,如果帮到了各位同学,或者老师们,可以点赞或者关注支持一下,后续更新基于本地知识库的详细教程。如果有什么写的不对的或者可以补充完善的,欢迎交流。


系列文章:
1.调用阿里通义千问大语言模型API-小白新手教程-python
2.LangChain结合通义千问的自建知识库
3.使用LangChain结合通义千问API基于自建知识库的多轮对话和流式输出
4.解决LangChain构建知识向量库的过程中官方API无法自定义文本切割方式的问题-例如按行切分
5.通义千问本地部署教程Qwen-7B-Chat Qwen1.5-1.8B Windows-详细认真版

  • 对于有基础的开发技术人员请直接根据目录跳到代码部分综合查看官方文档和代码即可
  • 对于想充实自己毕业设计或者软件但对自然语言处理技术并不是非常了解的同学,把每一个代码运行一遍即可,切记不要纠结专业术语
  • 如果是做相关应用的研究生,请按顺序阅读,思考数据格式,有助于思维的培养

在这里插入图片描述

1.通义千问模型介绍

​ 通义千问是阿里云开发的大语言模型(Large language Model )LLM,旨在提供广泛的知识和普适性,可以理解和回答各领域中的问题,其包含网页版和手机版本的通义前文APP,网页使用的模型为不公开的最新版本
其网页使用版本地址:https://tongyi.aliyun.com/qianwen/
官网文档地址:https://help.aliyun.com/zh/dashscope/developer-reference/
在这里插入图片描述

​ 在其官方文档中主要开源了五种可以使用的模型其开源模型的简介和参数如下:

2024.4.26 更新 模型的API-KEY收费了

在这里插入图片描述
我之前用的Max 然后用着用着账户就欠费了 ,然后整个账户的API-Key就都不能用了,后来在控制台部分消息,和手机短信发现是有短信提示,但是我一直没注意,没想到这个事情,大家之前用免费KEY的要注意一下

(旧)在这里插入图片描述

非限时免费开放模型,有使用Token数量的限制

2.通义千问API-KEY申请

官方流程网址指导:https://help.aliyun.com/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key

其主要流程如下,具体请参考官网步骤

  1. 开通DashScope灵积模型服务

在这里插入图片描述

  1. 创建API-KEY

根据官网流程获得一个API-Key
在这里插入图片描述

3.安装DashScope SDK

DashScope 目前支持Python 和 Java 的 SDK

安装SDK的官网教程网址:https://help.aliyun.com/zh/dashscope/developer-reference/install-dashscope-sdk

这里介绍python的安装

  • 安装环境 Python 3.8 及以上版本

执行以下命令安装SDK,亲测支持清华园镜像安装

pip install dashscope

更新DashDcope SDK包 请执行以下命令

pip install dashscope --upgrade

4.API-KEY设置

API-KEY设置地址官方文档网址:https://help.aliyun.com/zh/dashscope/developer-reference/api-key-settings

4.1 方式1 可以直接在命令台设置环境变量

Linux/maxOS

export DASHSCOPE_API_KEY="YOUR_DASHSCOPE_API_KEY"

4.2 方式2 在系统环境变量里直接设置

4.3 方式3 通过代码设置

python设置API-KEY代码如下

import dashscope
dashscope.api_key="YOUR_DASHSCOPE_API_KEY"

4.4 方式经验总结

其中官方推荐使用4.1的方式不推荐将API-KEY直接写在代码中,会有一定的API-KEY暴露风险,实际应用中,配置的环境变量有时会出现读取不到的情况,此时将API-KEY写在代码中可以使程序正常运行。

5. 使用通义千问API进行Token切分

使用通义千问对Token进行切分官方文档网址:https://help.aliyun.com/zh/dashscope/developer-reference/token-api

精简版如下:

import dashscope

# 如果环境变量配置无效请启用以下代码
# dashscope.api_key = 'YOUR_DASHSCOPE_API_KEY'

# respose获得的为
response = dashscope.Tokenization.call(model='qwen-turbo',messages=[{
   'role': 'user', 'content': '你好?'}])
print(response)

# {"status_code": 200, "request_id": "6d53e094-e8bc-9d88-a84a-6085c9425ad8", "code": "", "message": "", "output": {"token_ids": [108386, 11319], "tokens": ["你好", "?"]}, "usage": {"input_tokens": 2}}

消息格式为一个列表,role为当前角色设置为user则模拟为用户的真实输入,content后面为要切分tokens的句子

messages=[{'role': 'user', 'content': '你好?'}]
  • 可能会出现的错误1:系统配置了环境变量但是依然读取不到,错误中包含not find API 相关错误请启用以下代码
dashscope.api_key = 'YOUR_DASHSCOPE_API_KEY'
  • 可能会出现的错误2: 错误中出现Http相关字样,其主要可能原因是网络问题,请检查网络状态是否断网或者是是国内地址

官方代码对出现Http错误的情况进行了判断,官方代码如下

from http import HTTPStatus
import dashscope


def tokenizer():
    response = dashscope.Tokenization.call(model='qwen-turbo',
                                 messages=[{
   'role': 'user', 'content': '你好?'}],
                                 )
    if response.status_code == HTTPStatus.OK:
        print('Result is: %s' % response)
    else:
        print('Failed request_id: %s, status_code: %s, code: %s, message:%s' %
              (response.request_id, response.status_code, response.code,
               response.message))


if __name__ == '__main__':
    tokenizer()
   

6. 使用通义千问的API进行对话

使用通义千问进行对话API官方文档网址:https://help.aliyun.com/zh/dashscope/developer-reference/quick-start

下面是对其中主要内容的

6.1 通过messages 进行对话 开发推荐

精简版版代码如下,参数介绍在代码后:

import dashscope

# 如果环境变量配置无效请启用以下代码
# dashscope.api_key = 'YOUR_DASHSCOPE_API_KEY'

messages = [{
   'role': 'user', 'content': '如何做炒西红柿鸡蛋
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩浩的科研笔记

这我为您答疑发送资源的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值