基于Pyecharts的数据可视化开发(二)调用通义千问api分析爬虫数据

        上一篇博客做了关于“广州市2023年天气情况”的数据爬取,并保存为.csv文件。下一步是想用生成的.csv文件,直接调用大模型api进行分析,得出结论。通过调研,阿里云的通义千问大模型qwen-long可以实现对文件数据的分析。

        通义千问大模型提供了 API,可以将数据预处理后传入模型进行分析和总结,实现步骤如下:

  1. 预处理 .csv 文件:使用 pandas 读取 .csv 文件,并将其内容格式化为适合传递给通义千问的自然语言描述,例如表格的结构、数值的统计信息、特征分布等。
  2. 调用 API:使用阿里云的 SDK 或直接通过 HTTP 请求调用通义千问的 API,将处理后的数据传入并询问模型得出结论。
  3. 处理 API 返回结果:通义千问会返回一个文本格式的结果,可以进一步提取关键信息,或根据需要再做数据可视化。

调用通义千问api

api-key的获取和配置

开通DashScope

前往控制台:模型服务灵积-总览 (aliyun.com)

   

获取api-key

  1. 进入网页:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
  2. 选择管理中心 → api-key管理 → 创建新的api-key(因为我已经创建了,所以图标是暗的)

  3. 可以点击“查看” → “复制”

配置api-key

  1. 通过环境变量设置
  2. 直接在代码中输入

验证api-key在代码中是否可用

这一步还蛮关键的,测试一下所配置的api-key是否可用。

import os
from openai import OpenAI

try:
    client = OpenAI(
        # 若没有配置环境变量,请用百炼API Key将下行替换为:api_key="sk-xxx",
        api_key="your_api_key",
        base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
    )

    completion = client.chat.completions.create(
        model="your_model_name",  # 模型列表:https://help.aliyun.com/zh/model-studio/getting-started/models
        messages=[
            {'role': 'system', 'content': 'You are a helpful assistant.'},
            {'role': 'user', 'content': '你是谁?'}
            ]
    )
    print(completion.choices[0].message.content)
except Exception as e:
    print(f"错误信息:{e}")
    print("请参考文档:https://help.aliyun.com/zh/model-studio/developer-reference/error-code")

输出有3种情况:

  1. 我是通义千问,由阿里云开发的AI助手。我可以回答各种问题、提供信息和与用户进行对话。有什么我可以帮助你的吗?
  2. 我是Qwen,由阿里云研发的超大规模语言模型。我能够生成各种类型的文本,如文章、故事、诗歌、故事等,并能根据不同的场景和需求进行调整和优化。此外,我还具备代码写作能力,可以辅助编程工作,解决技术问题。如果你有任何需要,欢迎随时向我提问!
  3. 我是Qwen,由阿里云研发的超大规模语言模型。我被设计用于生成各种类型的文本,如文章、故事、诗歌等,并能根据不同的场景和需求进行对话、提供信息查询、创作内容等服务。很高兴为您服务!

        其他输出或者报错的话就是代码出问题了,总结了集中报错的方式:

  1. 我这里是采用直接输入api_key的方法,这种方法可能会导致分享的时候不小心泄露,可以导入环境变量中再引用,这会比较保险。
  2. 报“from openai import OpenAI”的错,说没有办法在openai库中引入OpenAI,这是openai版本过旧导致,需要更新一下:pip install --upgrade openai。
  3. 可能是model的名字没有写对,比如说我用的是qwen-long模型,最开始以为是model="qwen-long",查了一下模型列表才发现qwen-long对应的应该是"qwen-plus"。

模型选择

模型列表_大模型服务平台百炼(Model Studio)-阿里云帮助中心 (aliyun.com)

如果不知道任务与什么模型相匹配,可以去模型广场查阅:阿里云百炼 (aliyun.com)

        根据任务需求,选择供应商、模型类型和上下文长度,我这里是需要分析.csv文件或者.xlsx文件,所以选择了“通义”、“文本生成”、“64k以上”的“Qwen-Long”模型。已经知道要用哪个模型的话,可以在搜索栏里直接搜索。

        点击“查看详情”可以查看模型介绍和API示例。

模型介绍

        Qwen-Long是在通义千问针对超长上下文处理场景的大语言模型,支持中文、英文等不同语言输入,支持最长1000万tokens(约1500万字或1.5万页文档)的超长上下文对话。配合同步上线的文档服务,可支持word、pdf、markdown、epub、mobi等多种文档格式的解析和对话。 说明:通过HTTP直接提交请求,支持1M tokens长度,超过此长度建议通过文件方式提交。

模型计费详情

写入代码

在试错过程中,为了方便操作,把爬取来的.csv文件转换为.xlsx

import pandas as pd

# 读取CSV文件
csv_file_path = 'your_csv_file_path'  #
df = pd.read_csv(csv_file_path)

# 将DataFrame保存为Excel文件
excel_file_path = 'your_xlsx_file_name'  # 指定输出的Excel文件名
df.to_excel(excel_file_path, index=False)  # index=False表示不保存行索引

print(f"文件已成功转换并保存为: {excel_file_path}")

调用通义千问的API进行分析

import pandas as pd
import requests
import json

# 读取 Excel 文件
file_path = 'your_xlsx_file_path'
df = pd.read_excel(file_path)

# 将 DataFrame 转换为 JSON 格式
data_dict = df.to_dict(orient='records')

# Qwen-long API 的配置
api_key = 'your_api_key'  # 替换为你的 API 密钥
api_url = 'your_api_url'  # 替换为你的 API 端点

# 构建请求体
payload = {
    "model": "qwen-long",  # 这里替换为你想要使用的模型ID
    "messages": [
        {"role": "user", "content": str(record)} for record in data_dict  # 假设每条记录都是用户输入
    ]
}

# 设置请求头
headers = {
    'Content-Type': 'application/json',
    'Authorization': f'Bearer {api_key}'
}

try:
    # 发送 POST 请求
    response = requests.post(api_url, json=payload, headers=headers)
    response.raise_for_status()  # 如果响应状态不是 200 类型,抛出异常
except requests.exceptions.RequestException as e:
    print(f"请求过程中发生错误: {e}")
    if response.status_code == 400 and hasattr(response, 'text'):
        print("详细错误信息:")
        print(response.text)  # 打印详细的错误信息
    exit(1)

# 检查响应并提取 content 字段
result = response.json()
if result and 'choices' in result and len(result['choices']) > 0:
    message_content = result['choices'][0]['message']['content']
else:
    message_content = "没有找到有效的响应内容。"

output_file = 'your_save_path'
with open(output_file, 'w', encoding='utf-8') as file:
    file.write(message_content)

print(f'结果已保存到 {output_file}')

报错及其解决方式:

  1. 请求过程中发生错误: 400 Client Error: Bad Request for url:https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions  详细错误信息:{"error":{"code":"invalid_parameter_error","param":null,"message":"Single round file-content exceeds token limit, please use fileid to supply lengthy input.","type":"invalid_request_error"},"id":"chatcmpl-2276f596-e854-9cc9-8201-e0c31e0f1b27"}
  2. api_url输入错误

解决方式:

  1. 内容的长度超过了允许的token限制,对于这个报错,我是在如数的.xlsx文件做了删减。
  2. api_url我没有找到具体的查询方式,所以我是通过:阿里云控制台首页 (aliyun.com),有一个阿里云AI助理,在里面对他进行提问即可,比如说我用的是qwen-long模型,那么我提问的是:“Qwen-Long模型的API端点地址是什么”,得出答案后写入代码中

结果呈现

.xlsx文件:

调用API-key生成的语句,保存到.txt文件:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SD-WAN:低延迟的国际网络连接方案

在全球化的商业环境中,企业业务正不断扩展至全球市场,急需实现高效、稳定的跨国网络连接。然而,传统的国际组网方式往往会遇到高延迟、低带宽和管理复杂等难题,导致企业运营效率下降并影响用户体验。本文将介绍SD-WAN如何解决这些…

WebRTC VAD 详解与代码示例

WebRTC VAD 详解与代码示例 WebRTC VAD的工作原理WebRTC VAD的代码示例总结WebRTC VAD(Voice Activity Detection,语音活动检测)是一种用于检测音频流中是否存在语音活动的技术。在实时通信系统中,VAD技术能够显著减少带宽消耗并优化系统资源利用,特别是在WebRTC这类实时音…

在macOS的多任务处理环境中,如何平衡应用的性能与用户体验?这是否是一个复杂的优化问题?如何优化用户体验|多任务处理|用户体验|应用设计

目录 一 多任务处理与应用性能 1. macOS中的多任务处理机制 2. 性能优化的基本策略 二 用户体验的关键要素 1. 响应速度 2. 界面友好性 3. 功能的直观性 三 平衡性能与用户体验的策略 1. 资源管理 2. 优化数据加载 3. 使用合适的线程模型 4. 实时监测和调整 四 使…

防静电监控系统为汽车电子工厂打造安全生产环境

汽车电子产品对静电极其敏感,微小的静电放电 (ESD) 都会导致元器件损坏,造成巨大的经济损失和产品质量问题。因此,在汽车电子工厂构建完善的ESD防静电防护体系至关重要。传统的防静电措施主要依赖人工巡检,效率低且难以保证实时监…

2024 AFS-46 电子数据存在性鉴定(移动终端)(2024能力验证)

一、委托事项 1.给出检材手机的MEID。 2.给出检材手机在2024年7月3日上午连接过的设备名称。 3.给出检材手机中kimi应用最近一次被中断回答的问题内容。 4.给出检材手机中安装过的即时通讯应用的包名(不包含虚拟机中的应用)。 5.检材手机中安装有几…

数据结构之双链表——考研笔记

文章目录 一.单链表VS双链表二.创建双链表(带头结点)三.双链表的插入四.双链表删除五.销毁双链表六.双链表遍历七. 循环链表八.静态链表1.用代码定义一个静态链表 一.单链表VS双链表 单链表中只包含指向它后继结点的指针,所以给定一个结点p找…

AI 原生时代,更要上云:百度智能云云原生创新实践

本文整理自百度云智峰会 2024 —— 云原生论坛的同名演讲。 我今天分享的主题,是谈谈在云计算和 AI 技术快速发展和深入落地的背景下,百度智能云在云原生的基础设施产品和技术层面做的一些创新实践。 毋庸置疑,过去十几年云计算和 AI 技术是…

商场紧急情况处理:SpringBoot技术实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

.NET Core WebApi第7讲:项目的发布与部署

一、理解 前端跟后端拿数据,然后在前端页面中展示,就是我们要完成的事情。 把前端跟后端开发好之后,我们需要落地部署,这个时候就需要一个服务器。 服务器就是一台电脑,只要windows里面有一个叫IIS的管理器。 二、项目…

Python的PIL库初步使用:转换色彩空间

[] 简介 PIL,即Python图像处理库(Python Imaging Library),conda默认环境便已提供,如果没有,可通过pip安装 pip install pillow有了PIL,就可以对文件进行读取和存储,示例如下 from PIL import Image pa…

画质修复怎么调?一键将模糊图片变高清的窍门分享

就是说有同样拿起手机拍照就手抖的朋友吗? 小编每次都是因为手抖,拍出来的每一张照片都是虚焦糊糊的,几乎每一张!! 防抖功能都抵挡不住的虚焦,只能寄希望于各种图片画质修复清晰app来拯救这些糊糊的图片了…

智融SW2505 PD控制器 DRC 双向IC

1. 概述 SW2505 是一款高度集成的 PD 控制器。它符合的 USB Type-C 和 PD 3.1 标准,并支持 BC1.2 和最流行的高压快速充电协议,带有 DPDM 接口。它的目标是笔记本电脑、加密狗、显示器、移动电源和电源适配器。SW2505 集成了一个 32 位、高达 40MHz 的 …

Python数据分析-移动设备使用情况和用户行为分析

一、研究背景 在信息化飞速发展的今天,移动设备已成为人们生活和工作中的必备工具。智能手机普及率持续增长,用户使用行为不断增多,从娱乐、社交到办公、学习,手机的使用已渗透到各个年龄段和社会群体。移动设备使用情况的多样化…

vue-echarts使用

vue-echarts使用 排名柱状图示例代码 汇总示例代码 平均时效示例代码 全图 排名柱状图 示例 代码 // 排名趋势<!-- 排名数据趋势图 --><div class"rank"><div class"rank_title"><div class"rank_title_left"><spa…

华为云企业门户EWP SSL证书安装指南

一、申请 SSL 证书 在华测 Ctimall 网站&#xff08;SSL证书_域名ssl证书 - CTI华测检测官方商城&#xff09;申请 SSL 证书后&#xff0c;您将会收到一个压缩文件。该压缩文件包含四种证书格式&#xff0c;分别为&#xff1a;Tomcat、Nginx、IIS、Apache。其中&#xff0c;在 …

Docker 部署MongoDb

1. 编写docker-compose.conf 文件 version: 3 services:mongo:image: mongo:latest # 指定 MongoDB 版本&#xff0c;确保 > 3.6container_name: mongo-replicarestart: alwayscommand: ["mongod", "--replSet", "rs0", "--oplogSize&…

告别局域网限制:宝塔FTP结合内网穿透工具实现远程高效文件传输

文章目录 前言1. Linux安装Cpolar2. 创建FTP公网地址3. 宝塔FTP服务设置4. FTP服务远程连接小结 5. 固定FTP公网地址6. 固定FTP地址连接 前言 本文主要介绍宝塔FTP文件传输服务如何搭配内网穿透工具&#xff0c;实现随时随地远程连接局域网环境搭建的宝塔FTP文件服务并进行文件…

Qt/C++地图雷达扫描/动态扇形区域/标记线实时移动/轮船货轮动态轨迹/雷达模拟/跟随地图缩放

一、前言说明 地图雷达扫描的需求场景也不少&#xff0c;很多人的做法是直接搞个覆盖层widget&#xff0c;在widget上绘制雷达&#xff0c;优缺点很明显&#xff0c;优点是性能高&#xff0c;毕竟直接在widget上绘制性能明显比js中绘制要高&#xff0c;缺点是要么动态计算经纬…

Springboot集成阿里云通义千问(灵积模型)

我这里集成后&#xff0c;做成了一个工具jar包&#xff0c;如果有不同方式的&#xff0c;欢迎大家讨论&#xff0c;共同进步。 集成限制&#xff1a; 1、灵积模型有QPM(QPS)限制&#xff0c;每个模型不一样&#xff0c;需要根据每个模型适配 集成开发思路&#xff1a; 因有…

【CSS】入门详解

你是否曾经浏览网页时&#xff0c;被一些网站精美的布局、炫酷的动画和赏心悦目的色彩所吸引&#xff1f;这背后神奇的力量就是 CSS&#xff08;层叠样式表&#xff09;。CSS 就像网页的化妆师&#xff0c;它负责网页的样式和布局&#xff0c;让原本枯燥的 HTML 结构变得生动有…