前言
在当今数据驱动的商业环境中,销售数据分析已成为企业决策的关键因素。为了帮助企业快速、高效地从海量数据中提取有价值的信息,今天我要分享销售数据分析AI智能体详细搭建全过程。
它是一个能够将数据表格转化为直观图表的AI智能体解决方案。通过这款工具,您只需上传数据表格,即可自动生成数据分析报告以及数据图表,让销售数据洞察变得前所未有的简单。
效果
销售数据表格内容:
销售数据分析总结:
销售数据分析图表:
教程
整体框架上,主要是使用了插件和工作流的组合模式,完成整个流程。
当用户上传表格的时候,调用插件「文件读取」把文件读取后的内容传递隔离了工作流「SellDataAnalysis」。
我们来详细看看工作流
整个流程相对简单一共11个节点
-
大模型节点x1
-
消息节点x2
-
问答节点x1
-
文本处理x1
-
自定义插件x1
-
代码节点x1
-
图片节点x4
当表格数据进入之后先调用「大模型节点」进行数据的初步总结,在整个过程通过「消息节点」进行实时输出
系统提示词:
你是一个销售总监,帮我根据以下数据写一个销售数据报告,先分析销售数据给出概括以及总结和建议,``然后报告内容可以包含【柱状图】【折线图】【饼图】【雷达图】去做图表展示。`` ``案例:``销售数据报告``一、数据概括`` ``从提供的数据来看,涵盖了 2023 年 1 月 1 日至 1 月 5 日不同产品在不同地区的销售情况。销售额在不同产品和地区之间差异较大,``其中 Product E 的销售额最高为 965,Product G 的销售额最低为 152。折扣方面,部分产品有一定折扣,如 Product F 的折扣为 0.1。``成本也因产品而异,从 160 到 388 不等。利润方面,多数产品有盈利,但 Product G 出现了亏损。`` ``二、总结`` ``产品销售表现差异明显,高销售额产品与低销售额产品差距显著,需要进一步分析产品特点和市场需求,以优化产品策略。``地区销售情况不同,West 和 South 地区的销售额相对较高,可考虑加大在这两个地区的市场推广力度。``折扣对部分产品的销售额有一定影响,需评估折扣策略的合理性,以平衡销售额和利润。``成本控制是提高利润的关键,对于成本较高的产品,需寻找降低成本的途径。`` ``三、建议`` ``针对高销售额产品 Product E,可继续保持市场优势,拓展销售渠道,提高市场份额。``对于低销售额产品 Product G,分析其销售不佳的原因,如产品定位、市场需求等,进行针对性的改进或调整。``在 West 和 South 地区表现较好的情况下,深入研究这两个地区的市场特点和消费者需求,制定更精准的营销策略。``对于有折扣的产品 Product F,评估折扣对销售额和利润的影响,根据实际情况调整折扣策略,以实现利润最大化。``加强成本管理,对各个产品的成本进行详细分析,寻找降低成本的空间,提高产品的利润率。`` ``相关图表``【柱状图】展示不同产品的销售额对比``【折线图】展示不同日期的总销售额变化``【饼图】展示不同地区销售额占比``【雷达图】展示各产品在销售额、成本、利润等方面的综合表现
用户提示词:
销售数据:{{input}}
当销售分析报告内容生成完成之后会询问用户是否需要生成图表信息,当用户选择「不要生成」结束流程。
当用户选择「需要生成」接下来会进行「文本处理节点」进行图片的提示词组装
难点攻克
这个提示词相对要求比较复杂,需要从上面的内容的总结内容提取出来四个图表的分别要求并且需要输出对应的JSON格式,对大模型的语⾔理解、逻辑推理、指令遵循、⻓⽂本输出⽅⾯要求较高。
提示词:
``你是一个专业的数据分析师,能根据数据内容和图表要求分析用户给到的对应的折线图/饼图/雷达图/柱状图数据,只输出下面数据格式:`` ``##1.折线图:`` ```json{ ` `"areaStyle": {` `"opacity": 1` `},` `"data": "[9,11,12,13,15,18]",` `"legend": 1,` `"name": "人口数量",` `"title": "人口曲线测试",` `"xAxis": {` `"data": "[\"2017\",\"2018\",\"2019\",\"2020\",\"2023\",\"2024\"]",` `"name": "年份",` `"type": "category"` `},` `"yAxis": {` `"name": "人口数量(单位:亿)",` `"type": "value"` `}`` }`````##2.饼图:`` ```json{ ` `"areaStyle": {` `"opacity": 1` `},` `"data": [` `{` `"name": "李白",` `"value": 10` `},` `{` `"name": "王昭君",` `"value": 4` `},` `{` `"name": "孙悟空",` `"value": 15` `},` `{` `"name": "关羽",` `"value": 8` `},` `{` `"name": "成吉思汗",` `"value": 1` `}` `],` `"legend": 1,` `"name": "皮肤数量",` `"subtitle": "测试用",` `"title": "王者荣耀皮肤对比"`` }`````##3.雷达图:`` ```json{ ` `"areaStyle": {` `"opacity": 0.8` `},` `"data": [` `{` `"name": "李白",` `"value": [` `900,` `700,` `1000,` `1000,` `200` `]` `}` `],` `"legend": 1,` `"name": "雷达图测试",` `"radar": {` `"indicator": [` `{` `"max": 1000,` `"min": 100,` `"name": "打野能力"` `},` `{` `"max": 1000,` `"min": 100,` `"name": "gank能力"` `},` `{` `"max": 1000,` `"min": 100,` `"name": "发育能力"` `},` `{` `"max": 1000,` `"min": 100,` `"name": "伤害"` `},` `{` `"max": 1000,` `"min": 100,` `"name": "防御"` `}` `]` `},` `"title": "雷达图测试"`` }`````##4.柱状图:`` ```json{ ` `"data": "[9,10,12,13,35,14]",` `"legend": 1,` `"name": "人口",` `"title": "人口柱状图",` `"xAxis": {` `"data": "[\"2015\",\"2017\",\"2018\",\"2019\",\"2020\",\"2021\"]",` `"name": "年份",` `"type": "category"` `},` `"yAxis": {` `"name": "人口(单位:亿)",` `"type": "value"` `}`` }`````````## 数据内容:``{{String1}}``## 图表要求:``{{String2}}`` ``
这个步骤非常关键,一开始我使用的是自带的「大模型节点」在调试过程遇到了两个问题:
第一,整个推理过程耗时较长
第二,JSON格式错误无法解析
所以我想到了使用「自定义插件」调用了其他大模型,经过多家大模型的测试,最后我选择了智谱GLM-4-Plus大模型。因为 GLM-4-Plus 在各⼤语⾔⽂本能⼒数据集上获得了与 GPT-4o 及 405B 参数量的 Llama3.1 相当的⽔平,作为智谱最新旗舰模型,在语⾔理解、逻辑推理、指令遵循、⻓⽂本输出⽅⾯都有较⼤突破。
在最新的SuperBench⼤模型评测中,GLM-4-Plus 位列世界前三,打破了此前国外模型垄断前三甲的局⾯。
接下来,我们要看来效果对比很明显,同样的提示词和输入参数:
-
Doubao-pro-32k 运行时长 44s
-
GLM-4-Plus 运行时长 16s
如何自定义插件?
首先回到扣子空间主页,选择「资源库」然后点击右上角「+资源」选择「插件」。
输入插件名称、描述、选择「在 Coze IDE 中创建」。
在进入插件详情页创建工具输入名称、介绍。
创建完成后,我们看下如何调用GLM大模型,前往智谱BigModel开放平台的GLM接口文档用HTTP请求的方式
文档地址:https://bigmodel.cn/dev/api/http-call/http-auth
只需要参数三个参数即可,第一个是apikey,第二个是模型编码,第三个是提示词
然后我们再回到插件编辑器中,实现HTTP请求代码,需要传入两个动态参数apikey和提示词,model使用的是glm-4-plus,根据GLM模型对比列表说明这款模型是全面性能最优的。
GLM模型对比文档:https://bigmodel.cn/dev/howuse/model
import { Args } from '@/runtime';``import { Input, Output } from "@/typings/GLM/GLM";`` ``/**` ``* Each file needs to export a function named `handler`. This function is the entrance to the Tool.`` `* @param {Object} args.input - input parameters, you can get test input value by input.xxx.` `* @param {Object} args.logger - logger instance used to print logs, injected by runtime` `* @returns {*} The return data of the function, which should match the declared output parameters.` `*`` * Remember to fill in input/output in Metadata, it helps LLM to recognize and use tool.` `*/`` ``export async function handler({ input, logger }: Args<Input>): Promise<Output> {` `const API_URL = 'https://open.bigmodel.cn/api/paas/v4/chat/completions';` `// 传入参数` `const API_KEY = input.key;` `const COMMAND = input.command;` ` const headers = {` ``'Authorization': `Bearer ${API_KEY}`,`` `'Content-Type': 'application/json',` `};` `const data = {` `'model': 'glm-4-plus',` `'messages': [` `{` `'role': 'user',` `'content': COMMAND,` `},` `],` `};`` ` `const response = await fetch(API_URL, {` `headers,` `method: 'POST',` `body: JSON.stringify(data),` `});`` ` `const result = await response.json();`` ` `return {` `data: result.choices[0].message.content,` `};``}``
代码实现完成后需要切换到「元数据」
-
左边区域设置输入和输出的参数
-
右边区域输入参数进行运行调试
apikey如何获取?登陆后台找到密钥管理页面,没有的话可以点击右上角添加新的API Key
后台地址:https://zhipuaishengchan.datasink.sensorsdata.cn/t/F2
新增完成直接可以直接复制即可。
确认没有问题之后就可以点击右上角「发布」
发布成功后我们回到工作流点击左上角添加「插件」然后选择「我的工具」就可以使用自定义插件了。
选中GLM插件点击进行添加节点即可。
输入上个节点组装好的提示词以及key即可调用。
输出结构后还需要通过「代码节点」对JSON数据进行提取解析输出成四个数据源分别对应四个不同图表的所需数据
解析代码
async function main({ params }: Args): Promise<Output> {` `const chartPattern = /```json(.*?)```/gs;` `let dataString = params.input;` `let match;` `const charts = [];` `while ((match = chartPattern.exec(dataString)) !== null) {` `// 去除字符串中的多余空格和换行符,然后解析JSON` `const chartJSON = match[1].replace(/\s+/g, ' ').trim();` `const parsedChart = JSON.parse(chartJSON);` `charts.push(parsedChart);` `}` ` return {` `line:charts[0],` `pie:charts[1],` `radar:charts[2],` `bar:charts[3]` `};``}
「插件节点」使用的是官方的图表大师插件,它支持生成柱状图/饼图/折线图/雷达图。
为了更丰富的展示不同维度的数据,每种图表类型都添加了一个,生成图表后最后统一用「消息节点」进行输出。
整个流程就结束了
总结
在这次搭建销售数据分析AI智能体的过程中,碰到了个问题:生成图表数据时,那些复杂的提示词让内置的大模型有点应付不来。所以,我想分享说:别只盯着那些内置插件看,自己动手自定义插件去寻找解决方案。这样做的好处是,我们的解决方案不会受限,而且还能更灵活。
另外,还得提一句,多试试不同的大模型很关键。拿这次神助攻的 GLM-4-Plus 模型来说,它具有的优势:
-
高级语义解析能力:能够深入理解复杂提示词中的意义,能够更准确地提取关键信息,并据此生成符合要求的输出,确保输出的严谨性和准确性。
-
精确的结构化输出:能够根据用户的具体要求生成结构化、格式化的文本。这对于需要严格遵循特定格式或模板的输出场景尤为有利。
-
灵活的定制化响应:对于复杂的提示词,它能够根据用户设定的输出格式要求,自动调整回答的结构和内容,从而提供更加定制化和严谨的答案。
智谱BigModel开放平台:
https://zhipuaishengchan.datasink.sensorsdata.cn/t/F2
每个模型都有它擅长的地方,只有我们深入了解了它们各自的能力,才能更好地驾驭这些大模型,让它们变成我们手中的利器。这样一来,面对难题时,我们就能游刃有余地找到最佳解决方案。
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。