基于dashscope在线调用千问大模型

news2025/9/16 4:58:48

前言

dashscope是阿里云大模型服务平台——灵积提供的在线API组件。基于它,无需本地加载大模型,通过在线方式访问云端大模型来完成对话。 

申请API key

老规矩:要想访问各家云端大模型,需要先申请API key。

对于阿里云,需要先访问:https://dashscope.console.aliyun.com/。然后注册一个账号,接着就可以申请sk-开头的api-key了,如下图所示。

有了key后,就可以点击上面选项:模型体验中心,输入简单的prompt来验证本地电脑访问阿里云网络通信有没有问题:

 代码

下面是一个简单python代码,自己封装message,并添加api-key,并通过在线方式访问Qwen大模型进行对话。

import dashscope
from typing import List
import logging

class Params:
    def __init__(self, model, temperature, api_key, messages):
        self.model = model
        self.temperature = temperature
        self.api_key = api_key
        self.messages = messages #List[Dict[str, str]]
        

class QwenClient:
    def __init__(self, log_verbose: bool = False):
        self.log_verbose = log_verbose
        self.logger = logging.getLogger(__name__)
        if log_verbose:
            self.logger.setLevel(logging.INFO)

    def call_qwen(self, params: Params) -> List[dict]:
        # 加载配置文件,根据需要选择第一个模型        
        if self.log_verbose:
            self.logger.info(f'{self.__class__.__name__}:params: {params}')

        # 初始化生成器对象
        gen = dashscope.Generation()

        # 调用千问API并获取回复
        responses = gen.call(
            model=params.model,
            temperature=params.temperature,
            api_key=params.api_key,
            messages= params.messages,
            result_format='message',
            stream=True,
        )        
        print("responses: ", responses)

        # 处理API返回的结果
        response_list = []
        for resp in responses:
            if resp["status_code"] == 200 and "output" in resp and "choices" in resp["output"]:
                choice = resp["output"]["choices"][0]["message"]["content"]
                response_list.append({"error_code": 0, "text": choice})
            else:
                error_data = {
                    "error_code": resp["status_code"],
                    "text": resp["message"],
                    "error": {
                        "message": resp["message"],
                        "type": "invalid_request_error",
                        "param": None,
                        "code": None,
                    }
                }
                self.logger.error(f"请求千问 API 时发生错误:{error_data}")
                response_list.append(error_data)

        return response_list

# 使用示例
if __name__ == "__main__":
    logging.basicConfig(level=logging.INFO)
    #model_names = ["qwen-turbo"]
    client = QwenClient(log_verbose=True)

    user_input = "你好,请问今天北京天气怎么样?"
    messages = [{"role": "user", "content": user_input}]
    params = Params("qwen-turbo", 0.7, "sk-axxxxxx3b4a2fa1cb1dd7e71a4bee", messages)
    
    responses = client.call_qwen(params)

    print("千问的回答:", responses[-1]["text"])

 需要先安装好组件:dashscope,typing以及logging。本平台是ubuntu20.04,直接输入:python3 xxx.py即可到预期结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1496868.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uniapp图片涂鸦插件(支持多种涂鸦方式,图片放大缩小)

工程地址https://gitee.com/geshijia/ct-graffiti ct-graffiti涂鸦组件使用说明 参考说明 参考链接:https://github.com/ylyuanlu/yl-graffiti 感谢作者的付出,给我提供了一些思路,并做了如下优化: 增加图片放大缩小移动功能添…

UML简述(项目立项、设计、需求整理必备)

UML目录 前言1、UML概述1.1、基本概念1.2、UML图类型说明1.3、UML的41视图 2、UML图详细图示2.1、类图2.2、对象图2.3、组件图2.4、部署图2.5、包图2.6、用例图2.7、状态图2.8、活动图2.9、时序图2.10、通信图(协作图)2.11、定时图(计时图&am…

08 |「Fragment 」

前言 实践是最好的学习方式,技术也如此。 文章目录 前言一、简介1、是什么2、为什么要有 Fragment3. Fragment 详细解释 二、Fragment 与 Activity 的直观理解三、Fragment 的创建1、Fragment 的创建方式2、Fragment 的增删替查1) 替换(常见&…

哪个牌子宠物空气净化器好?质量好的宠物空气净化器推荐

即使我们很爱自家的宠物,但我们也无法否认处理房间里飘荡的宠物毛发和皮屑,以及那些令人不快的气味(比如地毯上的意外和垃圾桶里的气味)的挑战。对于过敏患者来说,这几乎是无法忍受的。寻找有效的方法来减少这些问题对…

电子邮件怎么发送?如何发送匿名电子邮件?

电子邮件发送的详细步骤?电子邮件的发送方式有哪些? 掌握如何发送电子邮件,尤其是如何发送匿名电子邮件,对于保护个人隐私、进行安全交流具有重要意义。下面,AokSend就来详细探讨一下电子邮件的发送方法以及如何发送匿…

转录组总结

1. 软件安装 2.转录组分析步骤: ① 建立环境 #建立python2.7的环境,大部分的转录组信息都需要在Python2的环境下进行 conda create -n py2env python2.7 source activate py2env ② 获取fastqc报告 #单个报告 fastqc -t 15 /home/yinwen/biosoft/DN…

17-Java解释器模式 ( Interpreter Pattern )

Java解释器模式 摘要实现范例 解释器模式(Interpreter Pattern)实现了一个表达式接口,该接口解释一个特定的上下文 这种模式被用在 SQL 解析、符号处理引擎等 解释器模式提供了评估语言的语法或表达式的方式,它属于行为型模式 …

数据库(mysql)-新手笔记-基本知识点(1)

基本概念 数据库 Database :存储数据的容器 表 Table : 在数据库中存储的基本结构,它由行和列组成 行 Row : 表中的一条记录 列 Column : 表中的字段,定义了数据的类型和约束 数据类型 数据值 如 INT(整型),FLAOT(浮点型) ,DECIMAL (精确小数点) 字符串 如 VARCHAR(可变长度字…

Linux第68步_旧字符设备驱动的一般模板

file_operations结构体中的函数就是我们要实现的具体操作函数。 注意: register_chrdev()和 unregister_chrdev()这两个函数是老版本驱动使用的。现在新字符设备驱动已经不再使用这两个函数,而是使用Linux内核推荐的新字符设备驱动API函数。 1、创建C…

更快更强,Claude 3全面超越GPT4,能归纳15万单词

ChatGPT4和Gemini Ultra被Claude 3 AI模型超越了? 3月4日周一,人工智能公司Anthropic推出了Claude 3系列AI模型和新型聊天机器人,其中包括Opus、Sonnet和Haiku三种模型,该公司声称,这是迄今为止它们开发的最快速、最强…

NLP:自定义模型训练

书接上文,为了完成指定的任务,我们需要额外训练一个特定场景的模型 这里主要参考了这篇博客:大佬的博客 我这里就主要讲一下我根据这位大佬的博客一步一步写下时,遇到的问题: 文中的cfg在哪里下载? 要不…

Jellyfin影音站点搭建并结合内网穿透实现远程观看本地影视资源

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及,各种各样的使用需求也被开发出来&…

国创证券|沪指震荡微跌,资源股集体拉升,黄金概念持续活跃

7日早盘,两市股指盘中震动下探,创业板指、科创50指数跌超1%,北证50指数跌逾2%;北向资金小幅流出。 截至午间收盘,沪指跌0.16%报3035.04点,深证成指跌0.68%,创业板指跌1.48%,科创50指…

基于redis实现用户登陆

因为session有数据共享问题,不同tomcat服务器中的session不能共享,之后负载均衡就无法实现。所以我们用redis代替session。redis可以被多个tomcat服务器共享,redis基于内存。 之前的session可以看做登陆凭证,本次登陆凭证由sessi…

【Redis】Redis的应用场景

📝个人主页:五敷有你 🔥系列专栏:Redis ⛺️稳中求进,晒太阳 Redis的应用场景: 限流 要求10s内只能访问一次 RequestMapping("xian")public String xianLiu(String sign){String sign1 …

allure怎么生成测试报告简单方法

方法一:import pytest pytest.main([‘-s’,‘./执行文件名.py’,‘–alluredir’,‘./result’]) 方法二:os.system(‘allure generate result -o report --clean’) 1、点击index.html,右上角选择浏览器打开 2、查看界面化测试报告

前端vue项目,引入PingFang SC字体

一,首先需要先获取PingFang SC字体,如果你有 请直接跳到第二步 链接:https://pan.baidu.com/s/1nkmV59kT_hvjK4yPJn1cJA 提取码:n0s1 二,将下载好的PingFang SC字体,放在项目的和样式一起的文件下,如下图 然后再创建一个fonts.scss文件(引入的时候注意路径是否正确)…

企业如何实现跨部门和员工之间的高效沟通协同?

在当今高度竞争和信息化的商业环境中,企业内部各部门和员工之间的沟通协同效率直接影响到企业的整体运营效果。那么,企业如何实现各部门和员工之间的高效沟通协同呢? 一、建立有效沟通机制与明确部门职责 要实现各部门和员工间的高效协同&…

第三方软件测试报告有效期是多久?专业软件测试报告获取

第三方软件测试报告是在软件开发过程中,由独立的第三方机构对软件进行全面测试和评估后发布的报告。这些第三方机构通常是与软件开发商和用户无关的专业技术机构,具备丰富的测试经验和专业知识。    第三方测试报告具有以下几个好处:   …

PolarDB for PostgreSQL-概述

阿里云数据库的概述 本篇罗列了一些知识点和结构。 日志 2. 同步复制:下降20% 异步复制:数据丢失风险, 部署 1.示例: vim polarx.toml 1.测试主库和备库数据一致性 备库是否一致性读 一个节点荡掉,提供服务。 GMS CN…