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

news2024/9/30 9:27:57

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.coloradmin.cn/o/905969.html

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

相关文章

TCP定制协议,序列化和反序列化

目录 前言 1.理解协议 2.网络版本计算器 2.1设计思路 2.2接口设计 2.3代码实现: 2.4编译测试 总结 前言 在之前的文章中,我们说TCP是面向字节流的,但是可能对于面向字节流这个概念,其实并不理解的,今天我们要介…

QT:绘图事件QPainter

绘图事件QPainter 绘图事件&#xff08;需要重写的函数&#xff09;&#xff1a;paintEvent 声明一个画家对象 QPainter painter(this) 指定绘图设备 画线&#xff0c;画圆&#xff0c;画矩形&#xff0c;画文字 可设置画笔&#xff0c;画刷#include <QPainter> ...... …

剑指 Offer 48. 最长不含重复字符的子字符串(C++实现)

剑指 Offer 48. 最长不含重复字符的子字符串https://leetcode.cn/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof/ dp 注意&#xff1a;缩小 不含重复字符子串 时的写法 dp_1 min(i - charToIndex[s[i]], dp_0 1); int lengthOfLongestSubstring(string s…

Autosar MCAL-S32K324 CAN-FD配置及使用

文章目录 前言配置MCAL CANCAN Controller配置CAN FD波特率配置Ram block关于MailBox 代码中使用CAN FD报文发送和接收CAN FD报文接收CAN FD报文发送 总结 前言 在之前的文章中&#xff0c;介绍了标准CAN的MCAL配置&#xff0c;在此基础上&#xff0c;扩展为CAN-FD就会容易很多…

6.RocketMQ之消费索引文件ConsumeQueue

功能&#xff1a;作为CommitLog文件的索引文件。 本文着重分析为consumequeue/topic/queueId目录下的索引文件。 1.ConsumeQueueStore public class ConsumeQueueStore {protected final ConcurrentMap<String>, ConcurrentMap<Integer>, ConsumeQueueInterface…

NetSuite OIDC、SAML SSO 演示

NetSuite的SSO的策略近些年处于演进过程&#xff0c;所以原来的Inbound SSO和Outbound SSO已经退出历史舞台。前者已经废止&#xff0c;后者在24年底废止。目前的SSO策略是&#xff1a; 第三方的身份认证服务商NetSuite as OIDC Provider 前者的含义是&#xff0c;把认证服务…

数据结构 - 基本概念和术语

基础概念之间的关系大致如下&#xff1a; 一、数据、数据元素、数据项和数据对象 数据 > 数据对象 > 数据元素 > 数据项 类比数据库&#xff0c;这四个概念代表的含义如下所示&#xff1a; 数据&#xff1a;整个数据库的所有数据数据对象&#xff1a;这个数据库的…

Shell脚本五:函数和数组

文章目录 1.函数1.1Shell函数的概念1.2函数的好处1.2函数的组成1.3函数的结构1.4查看函数列表1.5删除函数1.6函数的返回值1.6.1使用原则1.6.2示例 1.7函数的作用范围1.8函数递归1.8.1示例 2.数组2.1什么是数组2.2数组的作用2.3数组名和索引2.4定义数组的方式2.5普通数组和关联数…

深入理解分布式架构,构建高效可靠系统的关键

深入探讨分布式架构的核心概念、优势、挑战以及构建过程中的关键考虑因素。 引言什么是分布式架构&#xff1f;分布式架构的重要性 分布式系统的核心概念节点和通信数据分区与复制一致性与一致性模型负载均衡与容错性 常见的分布式架构模式客户端-服务器架构微服务架构事件驱动…

对Lua的理解

在redis和nginx中都潜入了Lua环境用于快速上手开发。但如何理解Lua以及Lua与宿主环境的交互是需要掌握的。 首先是Lua本身&#xff0c;打开5.1的lua版本开始编译后最后生成一个lua的可执行文件&#xff0c;这其实就是一个包含了Lua虚拟机的终端.。所以其实在不管redis也好nginx…

2023/8/20周报

目录 摘要 论文阅读 1、标题和现存问题 2、准备知识 3、模型结构 4、实验准备 5、实验结果 深度学习 1、构建图数据 2、GCN模型 3、当前实验结果 总结 摘要 本周在论文阅读上&#xff0c;阅读了一篇时空图卷积网络:交通预测的深度学习框架的论文。文章的时空图卷积…

NOIP2014普及组,提高组 比例简化 飞扬的小鸟 答案

比例简化 说明 在社交媒体上&#xff0c;经常会看到针对某一个观点同意与否的民意调查以及结果。例如&#xff0c;对某一观点表示支持的有1498 人&#xff0c;反对的有 902人&#xff0c;那么赞同与反对的比例可以简单的记为1498:902。 不过&#xff0c;如果把调查结果就以这种…

Leetcode-每日一题【剑指 Offer 33. 二叉搜索树的后序遍历序列】

题目 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true&#xff0c;否则返回 false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树&#xff1a; 5 / \ 2 6 / \ 1 3 示例 1&#xff1a; 输入: […

第4天----找出第一个只出现一次的字符(桶计数法/4种思路讲解)

题目描述 给定一个只包含小写字母的字符串&#xff0c;请你找到第一个仅出现一次的字符。如果没有&#xff0c;输出 no。 输入格式 一个字符串&#xff0c;长度小于 1100。 输出格式 输出第一个仅出现一次的字符&#xff0c;若没有则输出 no。 输入输出样例 输入 #1复制 abc 输…

鸿蒙/Android上最大的毒瘤:快应用服务

鸿蒙/Android上最大的毒瘤&#xff1a;快应用服务 2023.3.22版权声明&#xff1a;本文为博主chszs的原创文章&#xff0c;未经博主允许不得转载。 1、什么是快应用&#xff1f; “快应用” 是安卓厂&#xff08;华&#xff0c;米&#xff0c;O、V、魅族、努、联、加&#xf…

消息中间件的选择:RabbitMQ是一个明智的选择

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; MQ&#xff08;Message Queue&#xff09; MQ&#xff08;消息队列&#xff09;是一种用于在应用程序之间进行异步通信的技术&#xff1b;允许应用程序通过发送和接收…

[虚幻引擎] DTGlobalVariable 插件说明,蓝图全局变量访问,设置, Get, Set。

本插件可以在蓝图或者UMG中直接访问指定的全局变量值&#xff0c;方便编写。 支持Bool&#xff0c;Byte&#xff0c;Int&#xff0c;Int64&#xff0c;Float&#xff0c;Name&#xff0c;String&#xff0c;Text&#xff0c;Vector&#xff0c;Rotator&#xff0c;Transform&am…

【Linux网络】网络编程套接字 -- 基于socket实现一个简单UDP网络程序

认识端口号网络字节序处理字节序函数 htonl、htons、ntohl、ntohs socketsocket编程接口sockaddr结构结尾实现UDP程序的socket接口使用解析socket处理 IP 地址的函数初始化sockaddr_inbindrecvfromsendto 实现一个简单的UDP网络程序封装服务器相关代码封装客户端相关代码实验结…

TE-L-Tyrosine (FET-precursor),合成蛋白质的必需成分之一,L-Tyrosine

试剂简介&#xff1a;TE-L-Tyrosine (FET-precursor)&#xff0c;L-Tyrosine是一种氨基酸&#xff0c;它是蛋白质合成的必需成分之一。除了在蛋白质合成中的重要作用外&#xff0c;L-Tyrosine还具有多种生理功能。它是肾上腺素、去甲肾上腺素、甲状腺激素等重要激素的前体物质&…

短视频矩阵系统源码|开发者步骤

一、为了开发和部署短视频矩阵系统&#xff0c;首先需要进行以下步骤&#xff1a; 1. 系统设计与开发&#xff1a;根据需求&#xff0c;进行系统架构设计&#xff0c;并选择合适的技术栈进行开发。这可能涉及到前端开发、后端开发、数据库设计等工作。 2. 实现核心功能&#…