用加持了大模型的 Byzer-Notebook 做数据分析是什么体验

Byzer-Notebook 是专门为 SQL 而研发的一款 Web Notebook。他的第一公民是 SQL,而 Jupyter 则是是以 Python 为第一公民的。 

随着 Byzer 引擎对大模型能力的支持日渐完善, Byzer-Notebook 也在不自觉中变得更加强大。我和小伙伴在聊天的过程中才发现他已经具备了如此强的能力。

为了节省大家时间,我们这里把文后涉及到的部分,提前做个总结,帮助您判断是不是要继续阅读下去。

在接下来的内容,我们描述如何在 Byzer-Notebook 中:

  1.  使用SQL加载市面主流数据源

  2.  对加载的数据进行混算

  3. 对SQL不熟悉,可以在Notebook中自己启动一个大模型,然后作为copilot使用

  4. 在 SQL 中可以调用大模型对数据做分析 

  5. 对最后的数据集使用 YAML 描述来做可视化生成

案例背景

今天假设我们有两个 csv 文件,我们需要加载这两个文件,并且做join,拼成一张完整的表,最后简单做个过滤,绘制一个可视化动图,并且使用大模型解读这个数据。

整个过程我们全部会使用 SQL 在 Byzer Notebook中完成。

Byzer Notebook 拥有业界一流的代码提示能力,所以你不要担心里面涉及到一些 SQL 扩展语法。

实现流程

首先是加载 csv 文件, Byzer 支持类似的语法加载市面上几乎所有主流数据源,诸如对象存储,MySQL/Oracle/DB2 等各种关系型数据库数据库,Hadoop文件系统等等。

代码如下,执行完后可以点击运行查看csv文件数据:

90333397a26a8d9ba7ab8ff9aa33fbc8.png

按相同方式加载第二个文件:

d5170057e8ce843d6c76a834a25ea3a1.png

现在,我们想把两个表按 ID字段拼接成一个表,但是我对 SQL 不是很熟悉,不怕,我们在 Byzer Notebook中几乎可以部署所有主流开源模型和商业Saas模型。我最近用 Llama比较多,那我就启动一个 Llama 30B 的模型吧。只需要一条命令就可以完成这件事:

b79d6f4357e6d48fcf174cdb75faac92.png

指定下用多少个 GPU, 模型路径在哪即可。为了让大模型助手给我们生成靠谱点的SQL ,我们需要两张表的schema, 获取schema 在 Byzer 中很简单,用 !desc 命令即可:

88653ed24de85eaaa45cc77d537f2e0d.png

现在,我们可以问下我们刚才启动的大模型,你可以这么问:

510ec087b65900b372c1431b7f95dcc7.png

然后他会这样回复你:

fe5732423ae9cf9e63d393a1816bdec2.png

把这条SQL语句拷贝出来,然后加一个 as 表名,执行下:

6dc7190e157a3eed0bc5c40e37bfcece.png

可以看到,数据拼接没啥问题。

现在我们希望使用大模型对这个数据集进行分析,第一步是要把数据集转化成json格式的文本,然后再给到大模型,假设我也不太会,但是我知道第一步是要把每一条记录里多个字段变成一个字段,所以我这么问大模型:

9fbcdab1d165613ecc0bb5ef2bb08e76.png

 很棒,接着我再追问一句,是不是可以几万条记录合并成一条呀,我知道有个 collect_list 方法,但是我知道具体怎么用,那么可以继续追问:

5d700298ce6421527ce93ba1ab6f3fa8.png

简单改造实际执行下:

ff7ba2e17892102e8197f63fddb183be.png

确实是work的。

恩,那现在开始对这个json字符串做个解读吧:

e5fadc942bfbb383c9686606ab9615d8.png

这里有一些新函数,具体用法要参考下 Byzer 文档了,后续我们提供一个知道 Byzer 语言的大模型(经过我们微调),或者我们会知识库的方式提供对 Byzer 特有函数的一些解答。现在我们假设你辛苦参考文档写下了上面的那段SQL代码。

最后模型给我的回答出人意料,尼玛,丢了一个python 代码让我自己统计:

079f786955c318ba696455975668791a.png

好吧,算你知道自己是大模型,计算能力不咋地,Byzer Notebook 不但支持 Python解释器,而且还强大的一塌糊涂,所以我们直接在 Byzer Notebook 验证下大模型给的这段代码吧:

8decec45a9c49a030a45f757633022bf.png

这是最后的执行结果:

9275feced2ab74ffdbe46ec8618dad02.png

 给的代码实际上有丢丢错误,不过难不倒我,调试通过了。

如果你不做计算,让他给个简单解读,也开始可以的:

bae4f59cf4b7f99aac1e02cf694ef5d6.png

每个字段的含义都解读很准确,并且还罗列了自然灾害的类型等等。还是很不错的。

好了,大模型解读完毕,该做可视化了。先对数据简单做个过滤:

c25b2fdcd5f5e13cb36ffa5077bf513b.png

然后做可视化:

f71c935cbf47cbfe82a7b93a364347e1.png

Byzer 使用 YAML 格式描述可视化。还是很简单的,大家看着文档复制黏贴就可以。

最后结果如下:

404800a080bcb2b954a682a152ff5d14.png

该图会根据时间自动变化,还是很酷的吧。

总结

可以看到, Byzer Notebook可以使用大模型做copilot 辅助我们写SQL ,也可以直接在 SQL 中使用大模型对数据进行分析处理。实际上 Byzer 的能力远不止如此,你还可以使用SQL 对大模型做预训练,微调,我们也提供了对SQL极大的工程增强,诸如模块化,模板,条件分支等特性的支持。

欢迎大家进入 Byzer SQL 的世界。

另外今天讲的案例,单纯的可视化版本我们可以看看我们早先的视频版讲解:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/52556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 12 源码分析 —— 应用层 二(SystemUI大体组织和启动过程)

Android 12 源码分析 —— 应用层 二(SystemUI大体组织和启动过程) 在前一篇文章中,我们介绍了SystemUI怎么使用IDE进行编辑和调试。这是分析SystemUI的最基础,希望读者能尽量掌握。 本篇文章,将会介绍SystemUI的大概…

libevent源码学习6---链接监听器evconnlistener

libevent源码学习6—链接监听器evconnlistener evconnlistener 机制提供了监听和接受 TCP 连接的方法。 struct evconnlistener {const struct evconnlistener_ops *ops;void *lock;evconnlistener_cb cb;evconnlistener_errorcb errorcb;void *user_data;unsigned flags;sho…

职业技术培训内容介绍

泰迪职业技术培训包括:Python技术应用、大数据技术应用、机器学习、大数据分析 、人工智能技术应用。 职业技术培训-Python技术应用 “Python技术应用工程师”职业技术认证是由工业和信息化部教育与考试中心推出一套专业化、科学化、系统化的人才考核标准&…

行业追踪,2023-08-24

自动复盘 2023-08-24 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

Hadoop分布式计算与资源调度:打开专业江湖的魔幻之门

文章目录 版权声明一 分布式计算概述1.1 分布式计算1.2 分布式(数据)计算模式1.3 小结 二 MapReduce概述2.1 分布式计算框架 - MapReduce2.2 MapReduce执行原理2.3 小结 三 YARN概述3.1 YARN & MapReduce3.2 资源调度3.3 程序的资源调度3.4 YARN的资…

进程同步

目录 临界区(Critical Section): 互斥量(Mutex): 信号量(Semaphore): 事件(Event): 进程同步的四种方法 临界区(Critical Section): 通过对多线程的串行…

Apache Hudi初探(二)(与flink的结合)--flink写hudi的操作(JobManager端的提交操作)

背景 在Apache Hudi初探(一)(与flink的结合)中,我们提到了Pipelines.hoodieStreamWrite 写hudi文件,这个操作真正写hudi是在Pipelines.hoodieStreamWrite方法下的transform(opName("stream_write", conf), TypeInformation.of(Object.class), operatorFa…

AI加持,创意设计效率百倍提升,探秘背后的数字化魔法

在当今创新潮流不断涌现的时代,人工智能正以惊人的速度和深度赋能各行各业,食品包装设计界也已来到了一个“拼创意、拼二创和拼审美”的时代。有了AI的加入,设计界正迎来一股AI创意风暴,不仅颠覆了设计流程,更为食品包…

go MongoDB

安装 go get go.mongodb.org/mongo-driver/mongo package mongodbexampleimport ("context""fmt""ginapi/structs""time""go.mongodb.org/mongo-driver/bson""go.mongodb.org/mongo-driver/bson/primitive""…

全流程R语言Meta分析核心技术高阶应用

查看原文>>>全流程R语言Meta分析核心技术高阶应用 目录 专题一、Meta分析的选题与检索 专题二、Meta分析与R语言数据清洗及统计方法 专题三、R语言Meta分析与作图 专题四、R语言Meta回归分析 专题五、R语言Meta诊断分析 专题六、R语言Meta分析的不确定性 专题…

Linux centos7 bash编程小训练

训练要求: 求比一个数小的最大回文数 知识点: 一个数字正读反读都一样,我们称为回文数,如5、11、55、121、222等。 我们训练用bash编写一个小程序,由我们标准输入一个整数,计算机将显示出一个比这个数小…

最新ai系统ChatGPT程序源码+详细搭建教程+mj以图生图+Dall-E2绘画+支持GPT4+AI绘画+H5端+Prompt知识库

目录 一、前言 二、系统演示 三、功能模块 3.1 GPT模型提问 3.2 应用工作台 3.3 Midjourney专业绘画 3.4 mind思维导图 四、源码系统 4.1 前台演示站点 4.2 SparkAi源码下载 4.3 SparkAi系统文档 五、详细搭建教程 5.1 基础env环境配置 5.2 env.env文件配置 六、环境…

Java设计模式之建造者模式

建造者模式,又称生成器模式:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 三个角色:建造者、具体的建造者、监工、使用者 建造者角色:定义生成实例所需要的所有方法; 具体的建…

力扣--数组类题目27. 移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 示例 1: 输入:nums [3,2,2,3], val 3 输出:2, nums [2,2] 解释:函数应该返回新的长度 2, 并且 n…

曲面(弧面、柱面)展平(拉直)瓶子标签识别ocr

瓶子或者柱面在做字符识别的时候由于变形,识别效果是很不好的 或者是检测瓶子表面缺陷的时候效果也没有展平的好 下面介绍两个项目,关于曲面(弧面、柱面)展平(拉直) 项目一:通过识别曲面的6个点…

《Go 语言第一课》课程学习笔记(十)

复合数据类型 同构复合类型:从定长数组到变长切片 由多个同构类型(相同类型)或异构类型(不同类型)的元素的值组合而成,这类数据类型在 Go 语言中被称为复合类型。 数组有哪些基本特性? Go 语…

c语言 - inline关键字(内联函数)

概念 在编程中,inline是一个关键字,用于修饰函数。inline函数是一种对编译器的提示,表示这个函数在编译时应该进行内联展开。 内联展开是指将函数的代码插入到调用该函数的地方,而不是通过函数调用的方式执行。这样可以减少函数调…

用手势操控现实:OpenCV 音量控制与 AI 换脸技术解析

基于opencv的手势控制音量和ai换脸 HandTrackingModule.py import cv2 import mediapipe as mp import timeclass handDetector():def __init__(self, mode False, maxHands 2, model_complexity 1, detectionCon 0.5, trackCon 0.5):self.mode modeself.maxHands max…

MySQL三大日志(binlog、redo log和undo log)详解

1.redo log redo log是InnoDB存储引擎层的日志,又称重做日志文件。 用于记录事务操作的变化,记录的是数据修改之后的值,不管事务是否提交都会记录下来 redo log包括两部分:一个是内存中的日志缓冲(redo log buffer),另…

PythonJS逆向解密——实现翻译软件+语音播报

前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 环境使用: python 3.8 pycharm 模块使用: requests --> pip install requests execjs --> pip install PyExecJS ttkbootstrap --> pip install ttkbootstrap pyttsx3 --> pip install pyttsx3 第三…