news 2026/4/23 9:21:00

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/22 17:48:53

Linly-Talker支持批量生成数字人视频任务队列

Linly-Talker:如何用任务队列实现数字人视频的批量自动化生产 在教育机构忙着录制上百节课程、电商公司需要24小时轮播产品讲解、政府单位要快速发布政策解读短视频的今天,一个现实问题摆在面前:我们真的还需要真人出镜吗? 答案…

作者头像 李华
网站建设 2026/4/17 14:29:31

Redis篇8——Redis深度剖析:揭秘 Redis 高性能

提到 Redis,所有人的第一反应都是“快”。作为基于内存的中间件,Redis 的 QPS 能轻松达到 10 万级别。但当你深入研究时,会发现两个看似矛盾的现象:Redis 的核心命令处理是单线程的。Redis 却能同时处理成千上万个客户端连接。单线…

作者头像 李华
网站建设 2026/4/20 9:31:24

Linly-Talker支持多人对话场景模拟

Linly-Talker:如何让多个数字人“自然对话”? 在虚拟主播24小时直播带货、AI客服全天候应答的今天,我们对“智能”的期待早已超越简单的语音问答。真正打动用户的,是那些能听懂语境、有性格、会互动的数字角色——比如一场由三位A…

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

告别昂贵制作!Linly-Talker降低数字人内容创作门槛

告别昂贵制作!Linly-Talker降低数字人内容创作门槛 在短视频、直播和在线教育席卷日常的今天,越来越多企业与个人开始尝试用“虚拟主播”来传递信息——但真正落地时却常被高昂的成本劝退。一个逼真的数字人视频,往往需要专业的三维建模师、动…

作者头像 李华
网站建设 2026/4/17 22:41:33

Linly-Talker声音多样性测试:支持多少种音色切换

Linly-Talker声音多样性测试:支持多少种音色切换 在虚拟人技术加速落地的今天,一个关键问题正在被越来越多开发者和内容创作者关注:数字人能不能“像人一样说话”? 不只是说得清楚,更要能根据场景变换语气、情绪甚至身…

作者头像 李华
网站建设 2026/4/2 21:37:35

Linly-Talker支持中文语音合成:更贴近本土用户需求

Linly-Talker:如何让数字人真正“说好中文”? 在电商直播间里,一个面容亲切的虚拟主播正用标准普通话介绍新款手机,语调自然、口型精准,甚至在说到“这价格简直太香了!”时,还配合了一个俏皮的挑…

作者头像 李华