news 2026/4/15 13:47:55

AI大模型应用开发学习-24【20251220】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI大模型应用开发学习-24【20251220】

学习内容:

👉课程主题:《项目实战:交互式BI报表》

《项目实战:交互式BI报表》
✅ ChatBI

  • ChatBI的原理
  • 数据采集
  • 可视化组件
  • 查询历史价格
  • 对比分析
  • 热点新闻
    ✅ 智能分析
  • 趋势预测:ARIMA模型(未来N天价格预测)
  • 异常检测:布林带分析(超买/超卖点识别)
  • 周期性分析:Prophet模型(趋势分解)
  • 知识库管理:撰写few shot示例

学习产出:

ChatBI项目技术分析

项目概述

该项目是一个基于自然语言处理和数据分析技术的交互式BI报表系统,专门针对股票数据分析设计。它允许用户通过自然语言查询股票历史数据,并自动生成相应的SQL查询、执行查询、以及可视化结果。

核心功能模块

1. 数据获取模块 (stock_data.py)

该模块负责从TuShare金融数据接口获取股票历史数据:

  • 使用TuShare API获取指定股票的历史价格数据
  • 支持多种股票代码(贵州茅台、五粮液、国泰君安、中芯国际)
  • 数据字段包括:股票名称、股票代码、交易日期、开盘价、最高价、最低价、收盘价、成交量、成交额
  • 将获取的数据保存为Excel文件(stock_history_data.xlsx)和SQL建表语句(stock_history_data.sql)

2. 核心助手模块

项目包含多个版本的股票查询助手,逐步增加功能:

基础版本 (stock_query_assistant.py)
  • 实现基本的SQL查询功能
  • 提供Web界面和命令行界面两种交互方式
  • 支持数据可视化,自动生成图表
增强版本 (stock_query_assistant-2.py)
  • 在基础版本上增加了可视化控制参数
  • 改进了图表生成算法,支持智能选择图表类型
  • 引入MCP服务器配置,支持外部工具集成
预测分析版本 (stock_query_assistant-3.py)
  • 新增ARIMA时间序列预测功能
  • 可以预测指定股票未来n天的收盘价
  • 提供图表展示历史数据和预测结果
异常检测版本 (stock_query_assistant-4.py)
  • 新增布林带异常点检测功能
  • 可识别股票的超买和超卖情况
  • 提供可视化图表展示布林带和异常点
周期分析版本 (stock_query_assistant-5.py)
  • 新增Facebook Prophet周期性分析功能
  • 可分析股票的趋势、周周期性和年周期性
  • 提供完整的周期成分分解图表

3. 工具类实现

ExcSQLTool (exc_sql工具)
  • 注册为exc_sql工具,用于执行SQL查询
  • 连接到MySQL数据库获取股票数据
  • 自动生成数据摘要和可视化图表
  • 支持控制是否需要可视化输出
ArimaStockTool (arima_stock工具)
  • 注册为arima_stock工具,用于时间序列预测
  • 使用ARIMA(5,1,5)模型进行建模
  • 预测未来指定天数的股票收盘价
  • 提供预测结果表格和图表
BollDetectionTool (boll_detection工具)
  • 注册为boll_detection工具,用于布林带分析
  • 计算20日移动平均线和标准差
  • 识别超买(价格高于上轨)和超卖(价格低于下轨)情况
  • 提供详细的异常点列表和可视化图表
ProphetAnalysisTool (prophet_analysis工具)
  • 注册为prophet_analysis工具,用于周期性分析
  • 使用Facebook Prophet进行时间序列分解
  • 分析趋势、周周期性和年周期性成分
  • 提供成分分解图表

4. 可视化模块

项目实现了多种数据可视化功能:

  • 智能图表选择:根据数据特点自动选择合适的图表类型
  • 柱状图和折线图:适用于一般数据展示
  • 时间序列图:适用于股价走势图展示
  • 布林带图:用于异常点检测结果展示
  • 成分分解图:用于周期性分析结果展示

5. 用户界面

项目提供两种用户交互方式:

Web界面
  • 基于qwen_agent.gui.WebUI构建
  • 提供友好的图形用户界面
  • 包含示例查询引导用户使用
  • 支持实时交互和结果展示
命令行界面
  • 提供文本交互方式
  • 适合开发者调试和自动化脚本使用

技术架构

主要依赖库

  • qwen-agent: 阿里通义千问智能体框架
  • dashscope: 阿里云模型服务调用
  • pandas: 数据处理和分析
  • sqlalchemy: 数据库连接和操作
  • matplotlib: 数据可视化
  • tushare: 金融数据接口
  • statsmodels: 统计模型(ARIMA)
  • prophet: 时间序列分析(Facebook Prophet)

数据库设计

CREATETABLEstock_price(idINTAUTO_INCREMENTPRIMARYKEYCOMMENT'自增主键',stock_nameVARCHAR(20)NOTNULLCOMMENT'股票名称',ts_codeVARCHAR(20)NOTNULLCOMMENT'股票代码',trade_dateVARCHAR(10)NOTNULLCOMMENT'交易日期',openDECIMAL(15,2)COMMENT'开盘价',highDECIMAL(15,2)COMMENT'最高价',lowDECIMAL(15,2)COMMENT'最低价',closeDECIMAL(15,2)COMMENT'收盘价',volDECIMAL(20,2)COMMENT'成交量',amountDECIMAL(20,2)COMMENT'成交额',UNIQUEKEYuniq_stock_date(ts_code,trade_date));

系统流程

  1. 用户通过自然语言提出查询请求
  2. 助手解析用户意图,生成相应的SQL语句或调用相应工具
  3. 执行SQL查询或调用分析工具进行数据处理
  4. 将结果以表格和图表形式展示给用户

特色功能

自然语言交互

  • 用户可以使用自然语言查询复杂的股票数据
  • 系统能够理解用户的查询意图并转化为具体操作

多维度分析

  • 历史数据查询
  • 时间序列预测
  • 异常点检测
  • 周期性分析

智能可视化

  • 根据数据特征自动选择合适的图表类型
  • 提供丰富的图表展示方式
  • 支持多种分析结果的可视化呈现

可扩展架构

  • 基于工具注册机制,易于添加新功能
  • 支持MCP协议,可集成外部工具
  • 模块化设计,便于维护和升级

应用价值

这个ChatBI项目展示了如何将大型语言模型与数据分析技术结合,构建一个智能化的商业智能系统。它可以帮助金融分析师、投资者和研究人员:

  1. 快速获取和分析股票数据
  2. 进行价格趋势预测
  3. 识别异常交易信号
  4. 发现数据中的周期性规律
  5. 通过自然语言交互降低数据分析门槛

整个系统体现了现代AI技术在金融数据分析领域的应用潜力,为构建更加智能和易用的BI系统提供了有价值的参考。

Q & A

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 8:29:15

Linly-Talker在汽车语音助手中的前瞻应用

Linly-Talker在汽车语音助手中的前瞻应用智能座舱的交互困局:从“听得到”到“看得见” 在智能汽车快速迭代的今天,用户对车载语音助手的期待早已超越了“打开空调”“导航回家”这类基础指令响应。越来越多消费者开始追问:为什么我的语音助手…

作者头像 李华
网站建设 2026/4/5 16:32:10

Uniapp——安卓Android友盟一键登录插件教程

文章目录概要1.Android原生添加友盟SDK2.实现插件module;3.JS端使用教程技术细节小结概要 提示:请先学习博主之前插件教程,再来学习此篇文章 地址如下:Uniapp——开发Android插件教程 1.Android原生添加友盟SDK 2.实现插件modul…

作者头像 李华
网站建设 2026/4/15 10:43:00

day39(12.20)——leetcode面试经典150

25. K 个一组翻转链表 25. K个一组翻转链表 这题有点难啊啊啊啊&#xff0c;怎么会有人能这样想到&#xff0c;这也太聪明了吧啊啊啊 题目&#xff1a; 题解&#xff1a; class Solution {public ListNode reverseKGroup(ListNode head, int k) {if (head null || k < …

作者头像 李华
网站建设 2026/4/15 12:24:08

Linly-Talker适配主流GPU型号:NVIDIA全系列支持

Linly-Talker适配主流GPU型号&#xff1a;NVIDIA全系列支持 在虚拟主播、智能客服和数字员工日益普及的今天&#xff0c;一个真正“能听、会说、有表情”的实时数字人系统&#xff0c;早已不再是科幻电影中的幻想。然而&#xff0c;构建这样一套系统并不简单——它不仅要求多个…

作者头像 李华
网站建设 2026/4/15 12:22:05

4、PowerShell深入解析:从基础到高级应用

PowerShell深入解析:从基础到高级应用 1. 别名使用与注意事项 在PowerShell中定义别名时,并非所有人都与你有相同的逻辑。若想让他人理解你的脚本,使用别名时需谨慎,避免过多使用,可考虑创建可复用的函数。创建脚本别名时,应使用易理解的名称,比如仅用两个字母的别名,…

作者头像 李华
网站建设 2026/4/8 18:33:31

4、Windows 10 使用与个性化设置全攻略

Windows 10 使用与个性化设置全攻略 1. 天气应用设置与桌面应用搜索 在 Windows 10 中,天气应用能为我们提供各地的天气情况。若要获取居住地的天气预报,可在应用中选择默认位置并输入居住地名称。若你对微软在使用天气及其他微软应用时收集个人数据的方式感兴趣,可在设置…

作者头像 李华