前言
自 ChatGPT 去年年末发布以来,在全球引起了轩然大波,其强大的语言处理能力,让我们为之感到惊叹,AI 达到了前所未有的热度。
国内陆陆续续也【跟风】推出了许多号称自研的大语言模型,以下是比较受关注的几款:
- 百度:文心一言(2023 年 8 月 31 日正式上线)
- 阿里:通义千问(2023 年 9 月 13 日正式上线)
- 商汤:商量(2023 年 8 月 31 日发布)
- 字节:豆包(2023 年 8 月 31 日上线)
- 科大讯飞:讯飞星火(2023 年 5 月 6 日上线)
那么他们都有什么区别,哪一个更强大更好用?下面我将从理解能力、代码编写能力、联网能力、识图能力等几个方面对以上五款 AI 对话工具做下对比,比较一下哪款更为强大,以及能否像 ChatGPT 一样满足日常使用。
文章最后有评分!
开场:请自我介绍一下
这里的截图我截到了输入框,方便大家对比下 UI。
文心一言
通义千问
商量
豆包
讯飞星火
通过以上回答我们可以看到,文心一言、通义千问、商量和豆包都完整的回答我的提问,其中商量还回复了一些其他相关信息。而讯飞星火的回答最敷衍,没有完整回答我们的问题。
但通过他们的自我介绍,可以总结一下:都是大语言模型,都可以和人类进行对话。
既然如此,那下面我们进入正题。
第一关:这段代码是什么意思?
作为一名程序员,首先要考验一下这些 AI 对代码的解读能力,看看谁以后能成为我们开发时的得力助手。下面这段代码,我将依次发给他们并让他们回答:
function longestConsecutive(nums) {
let set = new Set(nums)
let longestStreak = 0
for (const num of set) {
if (!set.has(num - 1)) {
let currentNum = num
let currentStreak = 1
while (set.has(currentNum + 1)) {
currentNum += 1
currentStreak += 1
}
longestStreak = Math.max(longestStreak, currentStreak)
}
}
return longestStreak
}
该段代码是来自 LeetCode 的一个题目的回答,作用是:
找出一个未排序的整数数组
nums中数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
文心一言
通义千问
商量
豆包
讯飞星火
看下来,除了阿里的通义千问没有给出具体代码的作用,只回答了思路,其他 AI 的回答都较为详细和准确。
不过大致能看出来,在解读代码这方面,这几个 AI 几乎都是没有压力的,接下来我们加大难度,考察一下代码的实现能力。
第二关:写一段代码,将数组中所有的 0 移动到末尾,且不改变其他的元素的排序
下面这道题目仍然来自 LeetCode,题目是:
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。
示例:
输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]
文心一言
通义千问
商量
豆包
讯飞星火
代码这里我们不做评价,直接将他们的代码原封不动提交到 LeetCode 进行测试,下面是测试结果:
可以看到,五个 AI 都给出了正确答案。其中商量给出的代码最简洁清晰,运行耗时也最短。排在后面的是文心一言和豆包。
第三关:再写一段代码,找出数组中没有出现的最小正整数
由于第二关的差别不是很明显,一道题也不能反映普遍情况,并且代码这方面我们需要着重考察,所以这次我们加大难度,换个题目再来一轮。
下面这道题目仍然来自 LeetCode,题目是:
找出未排序的整数数组
nums中没有出现的最小的正整数。实现时间复杂度为
O(n)并且只使用常数级别额外空间的解决方案。示例:
输入: nums = [1,2,0]
输出: 3
文心一言
通义千问
商量
豆包
讯飞星火
全部回答完毕,我们看到,除了讯飞星火,其他 AI 都给出了代码注释和说明。
老规矩,代码实现我们不做评价,直接提交到 LeetCode 进行测试,下面是测试结果:
可以看出来这个题目看来对他们难度比较大,只有豆包给出了正确答案。
那么代码实现就测到这里,我们对他的代码能力已经有所了解了,表现最好的是豆包。
第四关:你能联网吗?请帮我查一下今天有哪些值得关注的新闻
我们知道 ChatGPT 已经实现了联网能力,那国内的这些 AI 有没有实现,我们来测试一下。
文心一言
第一次尝试失败,换个问法再试下:
其中的新闻都是这两天发生的。
通义千问
不能回答,但给出了爬取新闻的脚本。再次尝试一下:
啊这。。。穿越了吗?
商量
又来了一位穿越的,这已经是三年前的事了。
豆包
换个口气尝试:
这次可以联网了,难道是我第一次太客气?
讯飞星火
讯飞星火这次的表现还不错,不需要多次尝试,一次就成功了。
总的来说,文心一言、豆包和讯飞星火可以联网查询新闻,但通过测试发现,文心一言和豆包并不是每次都可以查询,需要换个问法或者重复几次才可以。通义千问和商量给出的却是几年前的旧闻。
第五关:这篇文章表达了什么?
能不能分析文章也是考验 AI 联网能力和智商的一种手段,这里我从 36 氪复制了一篇文章链接,看看他们能否给出正确解读。
文章标题是:那些共享单车的创始人们今何在? 链接是:36kr.com/p/248007649…
大家可以先大概看看文章,下面是 AI 的回答:
文心一言
跟共享单车毫无关系。
通义千问
仍然跟共享单车毫无关系。
商量
先说不能解析,但又给出了文章标题和摘要,但跟实际发给他的文章毫无关系。
豆包
明确表示不能。
讯飞星火
跟共享单车毫无关系。
可以看出来,除了豆包坦白了他无法提供具体内容,其他 AI 都开启了瞎掰模式。
第五关:我想配个 6000 多的电脑,大概要多少钱?
正经的问题测过之后,再来测测这些 AI 的幽默能力,这通常更能反映 AI 的真实智商。
文心一言
给出了具体配置,但最后说需要五千元左右。
通义千问
给出了具体配置。
商量
给出了具体配置和总价 6200 元,确实是 6000 多,这个回答可以接受。
豆包
给出了具体配置。
讯飞星火
一本正经的回答说需要六千元,并没有给出具体配置。
通义千问、商量和豆包都给出了六千元左右的电脑配置。讯飞星火一本正经的回答说需要六千元,也并没有给出具体配置,文心一言虽然给出具体配置,但最后的回答完全离谱。
第六关:请问图片里有几个人?
下面这张图片是一张很具有迷惑性的图片,那能不能骗过 AI 的眼睛,我们来试下。
文心一言
回答是至少 3 个女孩。
通义千问
不能上传图片。
商量
不能上传图片。
豆包
可以上传图片,但不能识别。
讯飞星火
回答有六个人,经过几次提示,仍然回答有六个。
文心一言和讯飞星火可以识别图片,但给出的答案是错误的,这一关全军覆没。。。
评分
以上就是本次的全部测试,下面我带着非常独立客观第三方的态度,为这些 AI 打个分,供掘友们参考:
| AI | 回答的详细程度 | 代码解读能力 | 代码编写能力 | 联网能力 | UI 设计 | 识图能力 | 平均分 |
|---|---|---|---|---|---|---|---|
| 文心一言 | 3 | 5 | 2 | 3 | 3 | 2 | 3 |
| 通义千问 | 3 | 2 | 2 | 1 | 3 | 0 | 1.8 |
| 商量 | 5 | 5 | 3 | 1 | 2 | 0 | 2.6 |
| 豆包 | 4 | 5 | 4 | 3 | 5 | 0 | 3.5 |
| 讯飞星火 | 2 | 5 | 2 | 3 | 4 | 2 | 3 |
最终结果按照平均分排序依次是:
豆包 > 文心一言 = 讯飞星火 > 商量 > 通义千问
没有测到的地方欢迎评论区提意见~~~
彩蛋
通过测试,我发现商量的回答其实超出我对他的意料,甚至有点接近 ChatGPT,于是试着问了一下这个问题:
什么?你不是基于商汤自研的 SenseNova 模型开发的吗?