不同大模型代码解释对比

包含ChatGPT,讯飞星火,通义千问,腾讯元宝,智谱清言。

目标是想让大模型解释一个用于预处理人体骨骼关节三维坐标数据样本进行填补空帧的Python函数。

def f_padding_none(data):s = data.copy()# print('pad the null frames with the previous frames')for i_s, skeleton in enumerate(tqdm(s)):  # padif skeleton.sum() == 0:print(i_s, ' has no skeleton')for i_p, person in enumerate(skeleton):if person.sum() == 0:continueif person[0].sum() == 0:index = (person.sum(-1).sum(-1) != 0)tmp = person[index].copy()person *= 0person[:len(tmp)] = tmpfor i_f, frame in enumerate(person):if frame.sum() == 0:if person[i_f:].sum() == 0:rest = len(person) - i_fnum = int(np.ceil(rest / i_f))pad = np.concatenate([person[0:i_f] for _ in range(num)], 0)[:rest]s[i_s, i_p, i_f:] = padbreakelse:person[i_f] = person[i_f - 1]return s

其填补空帧的逻辑主要有三个:

1. 如果数据开头就有空帧,则将数据的后续非空帧补到开头。

2. 如果数据末尾段全是空帧,则对数据末尾空帧进行重复填充。

3. 如果数据中间有一些空帧,则使用前面一帧进行填充。

没有提前prompt,直接新建对话就问:请解释以下代码 其输入为人体骨骼节点三维坐标数据(N,C,T,V,M)。

(大模型回复有随机性,测试也不严谨,不代表各模型真实水平)

一、ChatGPT

因为我之前在别的聊天中有问过相似的问题,所以我开启了ChatGPT的临时聊天:

可以看出解释的还是中规中矩的,三个主要的逻辑都有解释到位。

二、讯飞星火

可以看出解释的比较笼统,没有说出逻辑,只是阐述了算法是怎么进行的。

追问了一下:

可以看出上下文联系能力不强。

更详细的提示了一下,解释得还可以。

之后又试了一下讯飞星火的智能体iFlyCode,其回复类似:

三、通义千问

解释的相比上一个更加有逻辑性,但是对于逻辑2和3解释的不太到位,还是有些难理解。

和上一个一样继续追问一下:

上下文联系能力比上一个好一些。

此外也试了一下官方智能体:

对于逻辑2和3相比之前有了不错的进步,但尴尬的是竟然缺少了对逻辑1的解释。

此外上下文联系能力还是没有:

四、腾讯元宝

这个问题中没有换行是因为复制进去就是这样的,其他大模型复制问题的时候没有这个情况。

解释的一般,和讯飞星火一样没有说出逻辑,只是阐述了算法是怎么进行的。

虽然在回答中已经说过了但是还是追问一下:

上下文联系能力还是可以的,此外其会在每个问题下面会进行联想:

其也有丰富的智能体库,但不是官方的就不试了:

五、智谱清言

解释的挺不错的,和ChatGPT可以说是不相上下,三个逻辑都有解释。

追问一下:

上下文联系能力不错,且也有联想追问选项。

此外CodeGeeX应该是清华和智谱联合出品的,来试一下这个智能体:

更像是给代码做注释。

六、GitHub Copilot

顺便试了一下Pycharm中的GitHub Copilot(不知道怎么设置成中文,所以中文是百度翻译):

Within each skeleton, the function iterates over each person. If a person has no data, it skips to the next person. If the first frame of a person is empty, it identifies the frames that contain data and shifts them to the beginning:

在每个骨架内,该函数迭代每个人。如果一个人没有数据,它会跳到下一个人。如果一个人的第一帧是空的,它会识别包含数据的帧并将其移动到开头:

The function then iterates over each frame of the person. If a frame is empty, it checks if all subsequent frames are also empty. If so, it pads the remaining frames with repeated data from the previous frames. Otherwise, it fills the current empty frame with the data from the previous frame:

然后,该函数迭代人的每一帧。如果一个帧是空的,它会检查所有后续帧是否也是空的。如果是这样,它会用前一帧的重复数据来填充剩余的帧。否则,它将用前一帧的数据填充当前空帧:

其实解释的是挺到位的(百度翻译后有些问题,但是英文原文是准确的)。

总结

总体来说,ChatGPT和智谱清言(ChatGLM)的效果是比较好的。

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

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

相关文章

笔记整理—uboot番外(6)针对x210的网卡说明

对于x210而言,在三星中与九鼎官方的uboot都默认使用了二号串口。详见CONFIG_SERIALn(n1~4)。 更改串口后,应先插回原串口,进行iROM打印,内部iNnad校验核失败的信息,之后再插入其串口进行启动。 …

win10添加右键菜单打开VSCode

当进入一个文件夹后,想右键直接打开我的工程,用发现没有vscode项。本文就来介绍如何右键通过vsCode打开项目。步骤1:在桌面新建一个txt文档,用文本编辑器打开 步骤2: 查看vscode所在位置 在桌面找到vscode快捷键图标&…

EasyExcel 文件导出 - 合并某些列值相同的行

文章目录 EasyExcel 文件导出 - 合并某些列值相同的行最终效果实现思路创建单元格合并的策略类使用 EasyExcel 文件导出 - 合并某些列值相同的行 在数据处理与文件导出的过程中,我们常常会遇到各种特定的需求。今天,我们就来探讨一下使用 EasyExcel 进行…

【STM32+HAL库】---- 硬件IIC驱动0.96OLED

硬件开发板:STM32G0B1RET6 软件平台:cubemaxkeilVScode内容原著声明 代码借鉴学习于以下文章: STM32 使用硬件IIC驱动0.96寸4针IOLED显示器(HAL库) 1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置引脚 1.3 导出工…

【盖世汽车-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

SQLite3 数据库

一、SQLite3 命令 1. 基本命令 .tables:用于查看数据库中的表。.headers on/off:开启或者关闭表头,方便查看表结构。.mode column:使列对齐,增强数据的可读性。.width 列宽1 列宽2:设置每一列的列宽&…

抖音无水印视频下载

抖音想必大家都不陌生,大家经常会在抖音上刷到各种有意思的视频,但是我们想保存就会发现会有水印信息,那么我们要如何下载无水印的图片呢? 使用说明 我们可以先点击抖音的分享按钮,复制一下视频的链接 然后打开智游剪…

Spring6梳理5——基于XML管理Bean环境搭建

以上笔记来源: 尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解)https://www.bilibili.com/video/BV1kR4y1b7Qc 目录 ①搭建模块 ②引入配置文件 ③创建BeanXML文件 ④创建Java类文件(User…

pycharm项目里有中文右下角修改无效怎么办 包括注释里有中文

在我们编写pycharm项目时,可能会遇到项目里面有中文运行导致报错,即使我们在右下角修改编码格式,还是无效的 解决办法:点击左上角File,Settings,找到Editor里面的File Encodings ,圈住的位置都要改为UTF-8点击Apply就可以了

NAT技术-将多个内部网络设备映射到一个公共IP地址

问题: 今天上课的时候老师让我们在VMware填同一个子网ip 192.168.196.0,然后给我们的linux镜像都是同一个压缩包,结果我们的静态ip地址都是同一个。 192.168.196.0下面有256个ip地址,范围是192.168.196.0到192.168.196.255。我们…

浏览器百科:网页存储篇-Session storage应用实例(九)

1.引言 在前面的文章中,我们详细介绍了如何在 Chrome 浏览器中打开并使用 Session storage 窗格,进行数据的查看、编辑和管理。作为网页存储技术的重要组成部分,sessionStorage在提升用户体验和数据管理能力方面发挥了重要作用。在本篇《浏览…

谷歌seo网址如何快速被收录?

想让你的网站快速被搜索引擎收录,可以采取几种不同的策略。首先,确保你的网站内容丰富、有价值,搜索引擎更喜欢收录内容质量高的网站。同时,增强网站的外链建设,做好这些站内优化,接下来就是通过谷歌搜索控…

一款云笔记支持在线协同文档,脑图,白板演示的工具,多个设备同步,让灵感与你同行(附源码)

前言 在快节奏的工作环境中,如何高-效地记录、整理并分享工作笔记已经成为了一项重要的技能。传统的笔记方式往往难以满足跨设备、即时同步以及团队协作的需求,导致信息孤岛和工作效率低下。面对这样的挑战,我们迫切需要一种全新的工具来改变…

Type-C接口上的DisplayPort

随着高清视频和多媒体内容的快速发展,数字接口技术也在不断演进。在众多接口技术中,DisplayPort(简称DP)凭借其高带宽、高分辨率支持和多功能性,逐渐成为显示技术的领跑者。本文将深入探讨DisplayPort的技术特点、应用…

NineData云原生智能数据管理平台新功能发布|2024年8月版​​

本月发布 10 项更新,其中重点发布 5 项、其他发布 5 项。 重点发布​ 数据库 DevOps - 敏感数据保护功能大幅升级​ 敏感数据保护全新升级,新增支持敏感数据等级,方便进行分类分级管控,加入数据类型概念,用于智能识…

VMWARE VCENTER6.7 VCSA通过Web5480进行版本升级

VCENTER当前版本如下图 操作前先给VCENTER打一个快照,出问题可以立即回退 1、先下载VCSA镜像,并将VCSA镜像上传至DataStore中; 2、选中VCSA虚拟机,编辑配置 3、挂载新上传的VCSA镜像,一定要勾选“已连接”和“打开电源…

利用大模型实时提取和检索多模态数据探索-利用 Indexify 进行文档分析

概览 传统的文本提取方法常常无法理解非结构化内容,因此提取数据的数据往往是错误的。本文将探讨使用 Indexify,一个用于实时多模态数据提取的开源框架,来更好地分析pdf等非结构化文件。我将介绍如何设置 Indexify,包括服务器设置…

ssm微信小程序的英语学习激励系统论文源码调试讲解

2 关键技术介绍 2.1 SSM框架 开发信息管理系统的主流框架是SSM(Spring Spring MVC MyBatis),SSM框架web层使用Spring MVC框架,使传输前后端数据变得简单;对于业务层使用Spring作为轻量级控制反转和面向切面的容器框…

【Python 千题 —— 算法篇】字符串替换

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目背景 在日常编程中,我们经常会遇到需要对字符串中的特定字符或子串进行替换的需求。比如,替换文本中的敏感词汇、…

【Bug】Ubuntu22.04英伟达驱动安装失败,重启后服务器卡在进入系统/grub的页面

目录 报错内容1、安装英伟达驱动:Failed to initialize NVML: Driver/library version mismatch2、重启后卡在系统页面3、在解决完问题2后,尝试继续解决问题1,还是失败4、能ping通服务器但是无法ssh连接 解决方案1、重启后卡在系统页面&#…