华为开发者空间介绍

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

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

PC端
移动端

案例介绍

案例介绍

1. 概述

1.1 背景介绍

随着科技的不断进步,大模型技术在各领域展现出巨大的应用潜力。在表格处理和数据分析方面,借助大模型能够实现更高效、精准的操作。本次案例将围绕基于大模型技术进行表格处理/数据分析展开,通过实际操作演示,助力大家掌握相关技能,无论是企业处理大量业务数据,还是个人开发者和高校学生应对学习、研究中的数据问题,都能从中受益,轻松搭建专属服务。

1.2 适用对象

企业、个人开发者、高校学生。

1.3 案例时间

本案例总时长预计60分钟。

1.4 案例流程

  • 基于大模型技术进行表格处理/数据分析的案例
  • 提示词工程介绍
  • 使用ollama启动模型服务
  • 在cherry studio中接入本地的ollama服务的deepseek模型
  • 在cherry studio中上传要处理、分析的表格
  • 在 cherry studio 中进行提示词工程,处理和分析表格数据

1.5 资源总览

本案例预计花费总计0元。

资源名称 规格 单价(元) 时长(分钟)
云主机 ARM | 4C8G | Ubuntu 免费 60

1.6 华为开发者空间介绍

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

2. 操作步骤

2.1 安装Ollama

在云主机桌面右键选择“Open Terminal Here”,打开命令终端窗口,输入:

curl -fsSL https://ollama.com/install.sh | sh

在这里插入图片描述

安装完成后验证是否成功安装:

ollama --version
在这里插入图片描述

2.2 下载运行DeepSeekR1

使用 Ollama 下载 DeepSeek R1 模型:

ollama pull deepseek-r1:1.5b
在这里插入图片描述

然后启动模型:

ollama run deepseek-r1:1.5b

在这里插入图片描述

默认API地址:

http://ip:11434/v1/

2.3 安装Cherry Studio并调用 DeepSeek API

下载地址:

客户端下载 | CherryStudio

在这里插入图片描述

到对应的目录下面进行先赋予权限,然后运行

chmod +x Cherry-Studio-1.2.10-arm64.AppImage

./Cherry-Studio-1.2.10-arm64.AppImage --no-sandbox --disable-gpu

2.4 配置Cherry Studio 访问 DeepSeek API

进入设置进行配置API地址:

在这里插入图片描述

然后点击添加输入如下:deepseek-r1:1.5b

在这里插入图片描述

修改默认模型均为deepseek-r1:1.5b | Ollama
在这里插入图片描述

3. 在cherry studio中上传要处理和分析的表格

打开cherry studio,然后进行文档的拖拽式上传

在这里插入图片描述

测试是否上传成功:

在这里插入图片描述

4. 处理上传的文档和分析的表格

4.1 案例1,不同提示词的处理效果

表格内容为:

居民ID 姓名 年龄 性别 血压(mmHg) 血糖(mmol/L) 胆固醇(mmol/L) BMI 健康风险等级 建议项目
CQ1001 王建国 52 142/92 6.8 5.9 28.4 中风险 心血管专项检查
CQ1002 李淑芬 67 130/85 5.1 4.8 23.1 低风险 骨密度检测
CQ1003 张建军 48 158/102 9.2 6.7 31.6 高风险 糖尿病管理门诊
CQ1004 陈晓梅 59 145/88 7.5 5.3 26.9 中风险 饮食干预计划
CQ1005 赵志强 71 122/79 5.8 4.5 22.7 低风险 年度常规复查

提问一:赵志强的血压是多少
在这里插入图片描述

提问二:血压最高的是多少,是谁
在这里插入图片描述

提问三:其中每一项最高值都分别是什么
在这里插入图片描述

总结:体检数据分析交互评估

  1. 提示词精准度
  • 第二个问题(“血压最高是多少,是谁”)要求明确聚焦单一指标(血压)的极值定位,指令简洁无歧义:

    • 关键要素完整:明确目标指标(血压)、计算要求(最高值)、返回对象(人员信息)。

    • 无冗余信息:未引入无关字段(如年龄、血糖),避免干扰核心任务。

  1. 模型的上下文理解能力
  • 跨问题继承计算逻辑:

    • 上文(血压极值分析)已激活极值定位算法(遍历比较数值列),当第三个问题(“每一项最高值”)扩展为全字段极值分析时:

      • 直接复用遍历比较逻辑,无缝切换至多指标(年龄、血压、血糖等)。

      • 自动继承结构化输出范式(分项说明+汇总表格)。

  • 动态关联健康洞察:

    • 基于前文对“高风险”标签的解读经验(如张建军血压/血糖超标),在输出最高值时主动关联健康风险提示(例:张建军5项指标最高,需重点关注)。

4.2 案例2,开支明细表

表格内容为:

具体项目 金额(元) 支付方式 购买地点
超市购物 286.5 支付宝 永辉超市
钢琴课学费 800 银行转账 艺术培训中心
夏季连衣裙 299 微信支付 优衣库
水电燃气费 327.9 自动扣款 支付宝生活缴费
必胜客披萨 128 美团支付 美团外卖
汽油费 300 中石化APP 加油站
电影院《沙丘2》 136 淘票票 万达影城
感冒药+维生素 78 医保卡 同仁堂药店
猫粮+猫砂 195 京东白条 京东到家
朋友结婚红包 500 现金 婚礼现场

计算各类支出
在这里插入图片描述

具体回复:

计算各类支出的分类统计需要将支出项目映射到对应类别,并按类别分组计算了总金额、消费次数和平均金额三项关键统计指标。

以下是一个示例代码:

import pandas as pd

def calculate_expense_stats():
    # 创建DataFrame (代替读取CSV)
    data = {
        '具体项目': ['超市购物', '钢琴课学费', '夏季连衣裙', '水电燃气费', '必胜客披萨', 
                  '汽油费', '电影院《沙丘2》', '感冒药+维生素', '猫粮+猫砂', '朋友结婚红包'],
        '金额(元)': [286.5, 800, 299, 327.9, 128, 300, 136, 78, 195, 500],
        '支付方式': ['支付宝', '银行转账', '微信支付', '自动扣款', '美团支付', 
                  '中石化APP', '淘票票', '医保卡', '京东白条', '现金'],
        '购买地点': ['永辉超市', '艺术培训中心', '优衣库', '支付宝生活缴费', '美团外卖', 
                  '加油站', '万达影城', '同仁堂药店', '京东到家', '婚礼现场']
    }
    df = pd.DataFrame(data)
    
    # 创建支出类别映射
    category_map = {
        '食品杂货': ['超市购物'],
        '教育': ['钢琴课学费'],
        '服装': ['夏季连衣裙'],
        '公用事业': ['水电燃气费'],
        '餐饮外卖': ['必胜客披萨'],
        '交通': ['汽油费'],
        '娱乐': ['电影院《沙丘2》'],
        '医疗健康': ['感冒药+维生素'],
        '宠物': ['猫粮+猫砂'],
        '礼物': ['朋友结婚红包']
    }
    
    # 为每个项目添加分类
    def map_category(item):
        for category, items in category_map.items():
            if item in items:
                return category
        return '其他'
    
    df['支出类别'] = df['具体项目'].apply(map_category)
    
    # 按类别分组统计
    stats = df.groupby('支出类别')['金额(元)'].agg(['sum', 'count', 'mean'])
    stats = stats.rename(columns={
        'sum': '总金额(元)',
        'count': '消费次数',
        'mean': '平均金额(元)'
    })
    
    return stats

# 执行并打印结果
results = calculate_expense_stats()
print("支出分类统计结果:")
print(results)
print("\n总支出金额:", results['总金额(元)'].sum())

可以看出,分类键名不太正确,我们需使用正确的分类键名,然后运行代码:

import pandas as pd

def calculate_expense_stats():
    # 创建DataFrame (代替读取CSV)
    data = {
        '具体项目': ['超市购物', '钢琴课学费', '夏季连衣裙', '水电燃气费', '必胜客披萨', 
                  '汽油费', '电影院《沙丘2》', '感冒药+维生素', '猫粮+猫砂', '朋友结婚红包'],
        '金额(元)': [286.5, 800, 299, 327.9, 128, 300, 136, 78, 195, 500],
        '支付方式': ['支付宝', '银行转账', '微信支付', '自动扣款', '美团支付', 
                  '中石化APP', '淘票票', '医保卡', '京东白条', '现金'],
        '购买地点': ['永辉超市', '艺术培训中心', '优衣库', '支付宝生活缴费', '美团外卖', 
                  '加油站', '万达影城', '同仁堂药店', '京东到家', '婚礼现场']
    }
    df = pd.DataFrame(data)
    
    # 创建支出类别映射
    category_map = {
        '食品杂货': ['超市购物'],
        '教育': ['钢琴课学费'],
        '服装': ['夏季连衣裙'],
        '公用事业': ['水电燃气费'],
        '餐饮外卖': ['必胜客披萨'],
        '交通': ['汽油费'],
        '娱乐': ['电影院《沙丘2》'],
        '医疗健康': ['感冒药+维生素'],
        '宠物': ['猫粮+猫砂'],
        '礼物': ['朋友结婚红包']
    }
    
    # 为每个项目添加分类
    def map_category(item):
        for category, items in category_map.items():
            if item in items:
                return category
        return '其他'
    
    df['支出类别'] = df['具体项目'].apply(map_category)
    
    # 按支出类别分组统计 - 使用正确的分类键名
    stats = df.groupby('支出类别').agg({
        '金额(元)': ['mean', 'sum', 'count'],
        '支付方式': lambda x: ', '.join(set(x))  # 显示该类别使用的支付方式
    })
    
    # 重命名列名使其更清晰
    stats.columns = ['平均金额', '总金额', '消费次数', '支付方式汇总']
    
    # 添加占总支出百分比
    stats['占比(%)'] = (stats['总金额'] / stats['总金额'].sum() * 100).round(1)
    
    return stats.sort_values('总金额', ascending=False)

# 执行并打印结果
print("支出分类统计结果:")
results = calculate_expense_stats()
print(results)
print("\n总支出金额:", results['总金额'].sum())

至此,本案例全部内容完成

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

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐