> 技术文档 > 【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地


华为开发者空间介绍:

华为开发者空间,是为全球开发者打造的专属开发者空间,致力于为每位开发者提供一台云主机、一套开发工具和云上存储空间,汇聚昇腾、鸿蒙、鲲鹏、GaussDB、欧拉等华为各项根技术的开发工具资源,并提供配套案例指导开发者 从开发编码到应用调测,基于华为根技术生态高效便捷的知识学习、技术体验、应用创新。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

免费领取开发者空间云主机

→ PC端
→ 移动端


一、前言:

近年来,随着深度学习、大数据、人工智能、AI等技术领域的不断发展,机器学习是目前最火热的人工智能分支之一,是使用大量数据训练计算机程序,以实现智能决策、语音识别、图像处理等任务,各种AI技术与产品层出不穷,怎么样快速结合自身公司业务打造一个AI智能平台呢?

1. AI数据飞轮驱动数据分析:

结合基于华为开发者空间云主机和DeepSeek提供的各种开箱即用的AI 大模型,降低数据使用门槛,业务人员通过自然语言AI对话即可完成围绕业务指标的分析和洞察,对话内容可保存成文档用于工作汇报,或创建仪表盘进行持续的数据变化跟踪,大幅提升工作效率。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地


二、使用基于“华为开发者空间云主机” + DeepSeek大模型实现AI数据飞轮:

试想一下,在0到1的创业公司,在没有技术团队的情况下,如何进行数据报表相关的分析呢,公司也是在早期10人团队中,使用Excel报表时代,陆陆续续成立技术团队,再到后面使用BI大数据系统开发,其中,发现大多数业务需求都是业务在驱动,即业务需要什么纬度的数据展示,就开发哪种数据纬度。甚至,有许多功能都是为了开发而开发。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地
在最近研究的“数据飞轮”能够帮助企业激活数据的潜在价值,可以将“沉睡”的数据转化为实实在在的业务价值,通过全面关注数据生命周期的各个阶段:源数据收集、二次数据清选、结构化加工、数据模型分析、数据挖掘,实现数据的有效利用和业务价值的提升‌。

那么,数据飞轮如何有效的进行“唤醒”数据,让数据中台继续焕发活力?企业如何利用数据飞轮实现数据驱动呢?通过对手册学习后,发现可以使用AI 技术手段的应用极大地提升了运营效率,并为电商行业带来了个性化推荐、用户行为分析、库存管理和市场趋势预测等关键领域的数据分析能力,在这种背景下,构建一个高效、可靠的AI电商数据分析系统显得尤为关键。


2.1 公司业务背景介绍:

公司是一家宠物饲料生产及销售商的新零售公司,线下有一部分实体店,线上通过互联网、电商模式帮助实体零售店改善线上下单流程,提升销售数据(下图为最近公司的相关展厅活动)。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地


2.2 公司BI系统业务痛点分析:

公司从最早期的excel统计时代,到后面成立技术部,经过公司不同的发展阶段,也迭代开发出了几个版本的数字化平台体系建设,在目前现有的OLTP数据分析场景中,将数据统一汇聚到一个数据BI系统平台中。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

目前数据中台的架构方案:

  • (1). 通过ETL开发后,源数据管理中定义好数据映射的相关字段,从非结构化数据提取并整合成自定义预期的结构化数据。
  • (2). 通过DW数据仓库,将元数据经过数据治理方案,对接到下游的数字化体系应用,如驾驶舱、数据大屏、BI系统、数据可视化系统中。

【痛点一】:在此过程中,企业的数据分散于多个系统中,由于数据标准不统一,时间标签缺失等问题,导致数据质量问题。另外,随着企业的业务技术改造和业务流程的不断变化,原有数据可能失去时效性而不再适用,容易造成“假数据”、“脏数据”、“死数据”。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

【痛点二】:另外一个现象是过度依赖IT技术团队,经常认为只要开发了某个东西就一定能提高业绩,需知系统只是辅助业务的一种手段,经常存在IT与业务脱节的现象,即IT人员缺乏对业务理解转换,业务人员又不懂IT技术,这严重阻碍了数据价值的充分挖掘与转化,只是为了开发而开发。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

企业需要加大力度培养既懂业务又懂IT的复合型人才,形成一股数据文化,让AI数据驱动决策的理念深入人心,数据应用的真正挑战在于理念的转变与深化。


2.3 如何改造现有平台改为AI驱动数据分析平台:

首先准备一个商城的订单表做为数据源来进行分析,帮助我们使用AI的查询方式来,将自然语言的语句AI转化为SQL语句,再通过结果转换为可视化的图表功能。

开通开发者空间:

华为开发者空间,是为全球开发者打造的专属开发者空间,致力于为每个开发者提供一台云主机、一套开发工具和云上存储空间,汇聚昇腾、鸿蒙、鲲鹏、GaussDB、欧拉等各项根技术的开发工具资源,并提供配套案例指导开发者从开发编码到应用调测,基于华为根技术生态高效便捷的知识学习、技术体验、应用创新。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地
【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

华为开发者空间为广大开发者提供的一站式开发者服务平台,为开发者提供全方位的技术支持和服务,帮助开发者更高效地开发和部署应用。

在华为开发者空间,开发者可以享受到丰富的开发者工具、开发者社区、技术文档、培训课程、技术支持等服务,帮助开发者快速构建高质量的应用。同时,华为开发者空间还提供了多种云服务,如云服务器、云数据库、云存储等,为开发者提供一站式的云计算解决方案。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

在为开发者空间,开发者可以以下能力支持,云主机:为开发者免费提供一台云主机,基于华为根技术生态开发、创新,云主机提供了:

  • ①. 云上开发桌面:开箱即用的云上开发桌面,预配置开发工具和环境资源。
  • ②. 预集成多种开发工具:预装CodeArts IDE等工具,提供开发人员工作效率。
  • ③. 预集成沙箱调测资源:面向提供安全的场景化沙箱环境,便于开发人员灵活操作,保障数据安全。
  • ④. 成长数据云上保存:为开发者提供云上存储空间,便于关键资源保存和中转。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

环境安装篇:

首先项目中需要使用到python3的环境,可以看到系统默认是支持python3的环境的,但是没有pip管理包的软件,并且需要使pip包管理工具可以进行安装一些python的库与包,以下为安装命令:

apt install -y python3-pip

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

接下来使用pip3安装相关的包与库:

pip3 install openai langchain langchain-core langchain-community mysql-connector-python streamlit plotly numpy pandas watchdog matplotlib kaleido -i https://mirrors.aliyun.com/pypi/simple/

在安装的过程中,我们发现python的版本不能太低,否则会出现问题,需要使用python版本大于3.7的版本。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

pip3 install --upgrade pip3# 查看版本信息python3 -Vpip3 -V

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

在安装完成需要的软件完成后,可以使用pip3 list来查看所有的安装过的python包。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

在RDS for MySQL数据库准备一张订单orders相关的数据表,里面有订单的一些信息,比如商品名称、订单时间、订单的数量、订单的总价格(订单数据 * 商品数量)等字段的相关信息:

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

通过本实验指导用户从操作层面了解RDS for MySQL数据库配置购买、RDS for MySQL管理等基本操作,以及实例连接方式体验,快速掌握华为云云数据库RDS for MySQL的界面及操作方法。
【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

通过可视化界面进行创建一个shop数据库,再进行连接数据库进行插入数据表结构的数据整理。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地


2.4 应用开发:

将以下程序代码复制并保存到 text2sql2plotly.py 文件中:

from langchain_community.utilities import SQLDatabasefrom langchain_core.prompts import ChatPromptTemplatefrom langchain_community.chat_models import ChatOllamafrom langchain_core.output_parsers import StrOutputParserfrom langchain_core.runnables import RunnablePassthroughimport yamlimport mysql.connectorfrom decimal import Decimalimport plotly.graph_objects as goimport plotlyimport pkg_resourcesimport matplotlibyaml_file_path = \'config.yaml\'with open(yaml_file_path, \'r\') as file: config_data = yaml.safe_load(file)#获取所有的已安装的pip包def get_piplist(p): return [d.project_name for d in pkg_resources.working_set]#获取llm用于提供AI交互ollama = ChatOllama(model=config_data[\'hai\'][\'model\'],base_url=config_data[\'hai\'][\'base_url\'])db_user = config_data[\'database\'][\'db_user\']db_password = config_data[\'database\'][\'db_password\']db_host = config_data[\'database\'][\'db_host\']db_port= config_data[\'database\'][\'db_port\']db_name = config_data[\'database\'][\'db_name\']# 获得schemadef get_schema(db): schema = mysql_db.get_table_info() return schemadef getResult(content): global mysql_db # 数据库连接 mysql_db = SQLDatabase.from_uri(f\"mysql+mysqlconnector://{db_user}:{db_password}@{db_host}:{db_port}/{db_name}\") # 获得 数据库中表的信息 #mysql_db_schema = mysql_db.get_table_info() #print(mysql_db_schema) template = \"\"\"基于下面提供的数据库schema, 根据用户提供的要求编写sql查询语句,要求尽量使用最优sql,每次查询都是独立的问题,不要收到其他查询的干扰: {schema} Question: {question} 只返回sql语句,不要任何其他多余的字符,例如markdown的格式字符等: 如果有异常抛出不要显示出来 \"\"\" prompt = ChatPromptTemplate.from_template(template) text_2_sql_chain = ( RunnablePassthrough.assign(schema=get_schema) | prompt | ollama | StrOutputParser() ) # 执行langchain 获取操作的sql语句 sql = text_2_sql_chain.invoke({\"question\": content}) print(sql) #连接数据库进行数据的获取 # 配置连接信息 conn = mysql.connector.connect( host=db_host, port=db_port, user=db_user, password=db_password, database=db_name ) # 创建游标对象 cursor = conn.cursor() # 查询数据 cursor.execute(sql.strip(\"```\").strip(\"```sql\")) info = cursor.fetchall() # 打印结果 #for row in info: #print(row) # 关闭游标和数据库连接 cursor.close() conn.close() #根据数据生成对应的图表 print(info) template2 = \"\"\" 以下提供当前python环境已经安装的pip包集合: {installed_packages}; 请根据data提供的信息,生成是一个适合展示数据的plotly的图表的可执行代码,要求如下: 1.不要导入没有安装的pip包代码 2.如果存在多个数据类别,尽量使用柱状图,循环生成时图表中对不同数据请使用不同颜色区分, 3.图表要生成图片格式,保存在当前文件夹下即可,名称固定为:图表.png, 4.我需要您生成的代码是没有 Markdown 标记的,纯粹的编程语言代码。 5.生成的代码请注意将所有依赖包提前导入, 6.不要使用iplot等需要特定环境的代码 7.请注意数据之间是否可以转换,使用正确的代码 8.不需要生成注释 data:{data} 这是查询的sql语句与文本: sql:{sql} question:{question} 返回数据要求: 仅仅返回python代码,不要有额外的字符 \"\"\" prompt2 = ChatPromptTemplate.from_template(template2) data_2_code_chain = ( RunnablePassthrough.assign(installed_packages=get_piplist) | prompt2 | ollama | StrOutputParser() ) # 执行langchain 获取操作的sql语句 code = data_2_code_chain.invoke({\"data\": info,\"sql\":sql,\'question\':content}) #删除数据两端可能存在的markdown格式 print(code.strip(\"```\").strip(\"```python\")) exec(code.strip(\"```\").strip(\"```python\")) return {\"code\":code,\"SQL\":sql,\"Query\":info}# 构建展示页面import streamlit# 设置页面标题streamlit.title(\'基于华为云主机结合DeepSeek打造AI驱动的数据库电商可视化分析小助手\')# 设置对话框content = streamlit.text_area(\'请输入想查询的信息\', value=\'\', max_chars=None)# 提问按钮 # 设置点击操作if streamlit.button(\'提问\'): #开始ai及langchain操作 if content: #进行结果获取 result = getResult(content) #显示操作结果 streamlit.write(\'AI生成的SQL语句:\') streamlit.write(result[\'SQL\']) streamlit.write(\'SQL语句的查询结果:\') streamlit.write(result[\'Query\']) streamlit.write(\'plotly图表代码:\') streamlit.write(result[\'code\']) # 显示图表内容(生成在getResult中) streamlit.image(\'./图表.png\', width=800) 

运行程序并测试效果,打开终端执行以下命令:

streamlit run text2sql2plotly.py

2.5 结果显示:

【场景一】:查询最近一年销量前10名的商品?

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

提问之后自动帮我生成相关的SQL语句:

SELECT goods_name, COUNT(*) AS sales_volumeFROM ordersWHERE order_time >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR)GROUP BY goods_nameORDER BY sales_volume DESCLIMIT 10;
import plotly.graph_objects as goimport numpy as np# datadata = [(\'2瓶东古一品鲜酱油\', 5110), (\'无荧光剂洗衣液5斤\', 3972), (\'1瓶东古一品鲜酱油\', 1354), (\'大连鸿淼海蜇皮200*5\', 976), (\'铁棍山药龙须面100g*5\', 594), (\'盐水猪肝2袋共1斤\', 365), (\'大连虾片160g*3\', 297), (\'星厨汇盐水肠480克\', 286), (\'真心罐头760克*2\', 252), (\'喜润汇猪梅花肉400g\', 249)]# extract names and sales volumesnames = [item[0] for item in data]sales_volumes = [item[1] for item in data]# create a figure with multiple bars for each categoryfig = go.Figure(data=[go.Bar( name=\'Sales Volume\', x=names, y=sales_volumes, marker_color=[\'red\', \'green\', \'blue\', \'yellow\', \'purple\', \'orange\', \'pink\', \'brown\', \'gray\', \'black\'])])# layoutfig.update_layout( title_text=\'Sales Volume of Top 10 Goods\', xaxis_title_text=\'Goods Name\', yaxis_title_text=\'Sales Volume\')# save to filefig.write_image(\'图表.png\')

【场景二】:分析一下每个季度销量趋势?

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

提问之后自动帮我生成相关的SQL语句:

SELECT EXTRACT(YEAR FROM STR_TO_DATE(order_time, \'%Y-%m-%d %H:%i:%s\')) AS year, EXTRACT(QUARTER FROM STR_TO_DATE(order_time, \'%Y-%m-%d %H:%i:%s\')) AS quarter, COUNT(*) AS salesFROM ordersGROUP BY year, quarterORDER BY year, quarter;

plotly图表代码:

import plotly.graph_objects as goimport pandas as pd# 生成虚拟数据data = [(2023, 4, 2), (2024, 1, 19466), (2024, 2, 5150), (2024, 3, 35)]# 将数据转换为数据框df = pd.DataFrame(data, columns=[\'year\', \'quarter\', \'sales\'])# 根据季度进行分类df[\'quarter_name\'] = df[\'quarter\'].apply(lambda x: \'Q1\' if x == 1 else \'Q2\' if x == 2 else \'Q3\' if x == 3 else \'Q4\')# 对 sales 进行排序df = df.sort_values(by=\'year\').sort_values(by=\'quarter_name\')# 根据季度进行分组grouped_df = df.groupby(\'quarter_name\')[\'sales\'].sum().reset_index()# 使用不同颜色区分每个季度colors = [\'red\', \'green\', \'blue\', \'purple\']# 生成柱状图fig = go.Figure(data=[go.Bar(x=grouped_df[\'quarter_name\'], y=grouped_df[\'sales\'], marker_color=colors)])# 设定字体fig.update_layout( font_family=\'WenQuanYi Zen Hei\', title_text=\"每季度销量趋势\", xaxis_title=\"季度\", yaxis_title=\"销量\")# 保存图表为图片fig.write_image(\"图表.png\") import plotly.graph_objects as goimport pandas as pd# 生成虚拟数据data = [(2023, 4, 2), (2024, 1, 19466), (2024, 2, 5150), (2024, 3, 35)]# 将数据转换为数据框df = pd.DataFrame(data, columns=[\'year\', \'quarter\', \'sales\'])# 根据季度进行分类df[\'quarter_name\'] = df[\'quarter\'].apply(lambda x: \'Q1\' if x == 1 else \'Q2\' if x == 2 else \'Q3\' if x == 3 else \'Q4\')# 对 sales 进行排序df = df.sort_values(by=\'year\').sort_values(by=\'quarter_name\')# 根据季度进行分组grouped_df = df.groupby(\'quarter_name\')[\'sales\'].sum().reset_index()# 使用不同颜色区分每个季度colors = [\'red\', \'green\', \'blue\', \'purple\']# 生成柱状图fig = go.Figure(data=[go.Bar(x=grouped_df[\'quarter_name\'], y=grouped_df[\'sales\'], marker_color=colors)])# 设定字体fig.update_layout( font_family=\'WenQuanYi Zen Hei\', title_text=\"每季度销量趋势\", xaxis_title=\"季度\", yaxis_title=\"销量\")# 保存图表为图片fig.write_image(\"图表.png\")

【场景三】:分析一下商品库存情况,前10名商品?

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

提问之后自动帮我生成相关的SQL语句:

SELECT goods_name, goods_number FROM orders ORDER BY goods_number DESC LIMIT 10;

plotly图表代码:

import plotly.graph_objects as gofrom typing import Tuple# Your datadata = [ (\'2瓶东古一品鲜酱油\', 10394), (\'测试1\', 3454), (\'测试1\', 3394), (\'测试31\', 2222), (\'测试商品002\', 1239), (\'测试168\', 432), (\'测试1\', 432), (\'2瓶东古一品鲜酱油\', None), (\'2瓶东古一品鲜酱油\', None), (\'2瓶东古一品鲜酱油\', None)]# Extract names and numbersnames = [item[0] for item in data]numbers = [item[1] for item in data]# Filter out None valuesnumbers = [num for num in numbers if num is not None]# Sort the data by numbers in descending ordersorted_data = sorted(zip(names, numbers), key=lambda x: x[1], reverse=True)# Separate names and numbers into listsnames, numbers = zip(*sorted_data)# Create a color palettecolor_palette = [\"red\", \"green\", \"blue\", \"yellow\", \"purple\", \"orange\", \"pink\"]# Generate the plotfig = go.Figure(data=go.Bar(x=[name for name in names], y=numbers, marker_color=color_palette[:len(numbers)]))# Set font family and sizefig.update_layout( title=\'商品库存情况前10名\', xaxis_title=\'商品名称\', yaxis_title=\'库存数量\', font_family=\'Wqy Zen Hei\', font_size=12,)# Save the plot as an image filefig.write_image(\"图表.png\")

总结:

在传统消费行业,时间都用来找数据、对指标、学工具了?专业 BI 工具又难又贵?信息滞后且分析难度大,数据飞轮通过综合AI分析实时数据和历史数据,帮助企业高效洞察用户真实需求,制定更加精准的销售计划和营销策略。

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

【华为开发者空间 x DeepSeek】2小时基于华为开发者空间和DeepSeek应用助力电商企业AI “数据飞轮”分析方案最佳实践落地

AI 帮你快速分析全渠道店铺(淘宝、京东、拼多多以及电商)运营指标,用低成本和低门槛获得更快数据洞察,加速改善运营流程:

  • 运营部门可以通过高频数据消费制定合理的销售计划,比如换季狗粮、套餐狗粮、满减活动
  • 仓库部门可以通过滞销的货物,进行有效的促销活动
  • 业务部门可以快速测试新品市场接受度
  • 供应链部门则能了解市场现状,提高排产准确性,实现产销协同

文章尾部固定增加链接

开发者空间官网
开发者空间活动专题

癌症肿瘤知识