首页 > 编程语言 >python 调用通义千问SDK API

python 调用通义千问SDK API

时间:2024-08-21 12:26:20浏览次数:12  
标签:千问 python messages content dashscope API message response

前言

配置流程

1、通义千问API-KEY申请,
官方流程网址指导:https://help.aliyun.com/zh/dashscope/developer-reference/activate-dashscope-and-create-an-api-key

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

安装和更新dashscope依赖库

pip install dashscope
pip install dashscope --upgrade

3、API-KEY环境设置
参考官方文档网址:https://help.aliyun.com/zh/dashscope/developer-reference/api-key-settings

  • Linux/maxOS
export DASHSCOPE_API_KEY="YOUR_DASHSCOPE_API_KEY"
  • windows 环境变量,新建系统变量(变量:DASHSCOPE_API_KEY,值:你申请到的API_KEY字符串)
    windows

  • 或者可以直接在代码调用中全局设置(代码暴露风险)

import dashscope
dashscope.api_key="YOUR_DASHSCOPE_API_KEY"

4、代码实例

示例1:

# 官网示例
from http import HTTPStatus
from dashscope import Generation


def call_with_stream():
    user_input = input("请输入:")
    messages = list()
    msg_dict = [
        {'role': 'system', 'content': 'you are a helpful assistant'},
        {'role': 'user', 'content': user_input}]
    messages.append(msg_dict)
    responses = Generation.call(
        model="qwen-turbo",
        messages=messages,  
        result_format='message',  # 设置输出为'message'格式
        stream=True,  # 设置输出方式为流式输出
        incremental_output=True)  # 增量式流式输出
    full_content = ""
    for response in responses:
        if response.status_code == HTTPStatus.OK:
            print(response)
            full_content += response.output.choices[0].message.content
        else:
            # 网络请求异常
            print('Request id: %s, Status code: %s, error code: %s, error message: %s' % (
                response.request_id, response.status_code, response.code, response.message))
    print(f"Full content:{full_content}")


if __name__ == '__main__':
    call_with_stream()

示:2:

from dashscope import Generation
from dashscope.api_entities.dashscope_response import Role

messages = list()

while True:
    message = input('user:')
    messages.append({'role': Role.USER, 'content': message})
    whole_message = ''
    responses = Generation.call(Generation.Models.qwen_max, messages=messages, result_format='message', stream=True,
                                incremental_output=True)
    print('system:', end='')
    for response in responses:
        whole_message += response.output.choices[0]['message']['content']
        print(response.output.choices[0]['message']['content'], end='')
    print()
    messages.append({'role': 'assistant', 'content': whole_message})    

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

标签:千问,python,messages,content,dashscope,API,message,response
From: https://www.cnblogs.com/lanjianhua/p/18371351

相关文章

  • Python中的鸭子类型
    在Python中,"鸭子类型"(DuckTyping)是一种动态类型系统的概念,而非特定于Python的代码风格,但它被Python广泛使用并作为其核心设计原则之一。这个概念源于一个经典的比喻:如果一个对象可以执行我们期望的操作(比如走、叫),我们就可以将它当作那个类型的对象来使用,而不在乎它实际是什么......
  • 考题相似度 AI 分析 API 数据接口
    考题相似度AI分析API数据接口基于AI的相似度评估,专有AI模型,包含评估详情。1.产品功能基于自有专业模型进行AI智能分析;提供详细的相似度评分和结果描述;高效的模型分析性能;全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容AppleATS;全国多节点CDN部......
  • 文章自然润色 API 数据接口
    文章自然润色API数据接口ai/文本处理基于AI的文章润色专有模型/智能纠错。1.产品功能基于自有专业模型进行AI智能润色对原始内容进行智能纠错高效的文本润色性能全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容AppleATS;全国多节点CDN部署;接口......
  • 历年高校招生计划数据 API 数据接口
    历年高校招生计划数据API数据接口基础数据/高校招生,各高校历年招生计划数据,高校招生数据/历年计划。1.产品功能支持历年高校招生计划数据查询;包含各高校招生计划详细数据;多维度查询条件支持;毫秒级查询性能;全接口支持HTTPS(TLSv1.0/v1.1/v1.2/v1.3);全面兼容......
  • 线程常用api
    线程常用apipthread_create该api用于创建一个新线程intpthread_create(pthread_t*thread,constpthread_attr_t*attr,void*(*start_routine)(void*),void*arg)pthread_t*thread:指向线程标识符的指针,用于存储新创建的线程的线程标识符constpthread_attr_t*attr:用来......
  • Python 开发中,使用bcrypt 或 Passlib 对系统用户密码进行哈希和验证处理
    在设计一个系统的时候,肯定都有会有用户身份认证的问题,一般对用户校验的时候,都是对用户存在数据库总的密码哈希值进行判断,从而避免密码泄露和反向解密,那么在Python开发中,我们可以引入bcrypt或Passlib对系统用户密码进行哈希和验证处理,以及介绍使用其他类库实现常规加解密处理操......
  • python 的内存级别的IO操作
    可以像操作文件一样操作内存的bufferStringIOBytesIO标志位内存寻址内存中的对象有一个标志位的概念,往里面写入,标志位后移到下一个空白处。而读数据的时候是从标志位开始读,所以想要读取前面的数据需要手动将标志位进行移动。字符串缓冲需要显示关闭缓冲区类似java......
  • 零基础学习人工智能—Python—Pytorch学习(六)
    前言本文主要讲神经网络的上半部分。另外,我发现我前面文章写的有歧义的地方还是挺多,虽然,已经改了一部分,但,可能还有没发现的,大家看的时候尽量多理解着看吧。本着目的是学会使用神经网络的开发,至于数学的部分,就能过就过吧。神经网络先学个例子先结合以前的知识理解一个例子,理......
  • Python-终端输出带有颜色的文本
    在Python中,异常信息默认是打印到终端的,而终端显示的文字颜色通常由终端或者是使用的shell决定。如果你想要在try-except块中捕获到异常时,让异常信息以黄色文本的方式显示,你可以使用一些终端控制码(ANSIescapecodes)来改变文本颜色。以下是一个简单的示例,展示了如何在捕获到异常时......
  • 使用sphinx自动提取python中的注释成为接口文档
    写好了代码,交付给他人使用的时候,查看代码固然可以了解各类和函数的功能细节,但接口文档能更方便的查找和说明功能。所以,一价与代码同步的接口文档是很有必要的。sphinx可以根据python中的注释,自动的生成接口文档,这样有利于保证文档和代码功能的同步。让我们来了解如何自动生......