当前位置:首页|资讯|通义千问|文心一言|GPT-4

国内AI 通义千问,讯飞星火,文心一言 使用对比

作者:谷动谷力发布时间:2023-11-02

刚看到,阿里云正式发布千亿级参数大模型通义千问2.0。宣传说,在10个权威测评中,通义千问2.0综合性能超过GPT-3.5,正在加速追赶GPT-4。当天,通义千问APP在各大手机应用市场正式上线,所有人都可通过APP直接体验最新模型能力。过去6个月,通义千问2.0在性能上取得巨大飞跃,相比4月发布的1.0版本,通义千问2.0在复杂指令理解、文学创作、通用数学、知识记忆、幻觉抵御等能力上均有显著提升。目前,通义千问的综合性能已经超过GPT-3.5,加速追赶GPT-4。

刚测试一下,通义千问, 再对比一下,讯飞星火,对比一下,各看官看看哪个好。

首先对比作画能力

画一幅画:中岩寺丹岩赤壁下,有绿水一泓,清澈怡人,池畔有一块怪石,形状奇特,宛如一条蛟龙跃出水面, 那块怪石上题刻:”唤鱼池“。

文言一心AI作画@谷动谷力

通义千问AI作画@谷动谷力

通义千问没有作画能力

再看看图写话能力

月亮@谷动谷力

请根据图片信息,创作一首以“月亮与筷子”为主题的现代诗。

文言一心看图写诗@谷动谷力

讯飞星火没有找到相关功能

通义千问看图写诗@谷动谷力

看看写程序能力

基于51单片机用C语言写一个4位7段数码管显示0~9999的数字,每1秒显示数字加1的程序

看看文言一心的程序

#include <reg52.h> // 包含51单片机的头文件


// 定义数码管编码(共阳极)

unsigned char code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char code weidu[]={0x77,0x7c,0x39,0x5e,0x79,0x71,0xf9,0x76}; // 显示0~9的位码

unsigned char code weidu_unit[]={0x38,0x5f,0x7b,0x73}; // 显示个位的位码


sbit d1=P2^0;

sbit d2=P2^1;

sbit d3=P2^2;

sbit d4=P2^3;

sbit d5=P2^4;

sbit d6=P2^5;

sbit d7=P2^6;


unsigned int num=0; // 当前显示的数字


void delay(unsigned int time) // 延时函数

{

while(time--);

}


void display(unsigned int num) // 显示数字函数

{

d1=0;d2=1;d3=1;d4=1;d5=1;d6=1;d7=1; // 关闭所有数码管段

P0=smgduan[num/1000]; // 显示千位数字

delay(5); // 短暂延时,以使数码管显示新的段码

d1=1; // 打开对应的数码管a段

delay(5); // 短暂延时,以使数码管显示新的段码

P0=smgduan[num/100%10]; // 显示百位数字

delay(5); // 短暂延时,以使数码管显示新的段码

d2=1; // 打开对应的数码管b段

delay(5); // 短暂延时,以使数码管显示新的段码

P0=smgduan[num/10%10]; // 显示十位数字

delay(5); // 短暂延时,以使数码管显示新的段码

d3=1; // 打开对应的数码管c段

delay(5); // 短暂延时,以使数码管显示新的段码

P0=weidu[num%10]; // 显示个位数字

delay(5); // 短暂延时,以使数码管显示新的段码

}


void main() // 主函数

{

while(1) // 无限循环,除非手动复位或断电

{

display(num); // 显示当前数字

delay(1000); // 延时一秒,然后增加数字并重新开始循环(约等于每秒加一)

num++; // 增加数字值,注意可能会溢出并回滚到0~999(取决于你的初始值)

if (num > 9999) num = 0; // 如果数字大于9999,则重置为0(防止溢出)

}

}

文言一心写程序@谷动谷力

我的评判:程序结构还可以,但7段数码管IO驱动,写法有问题

再看看讯飞星火的程序,我用讯飞的vsCode,这样非常方便

#include <reg52.h> // 包含头文件,定义了51单片机的寄存器

#include <intrins.h> // 包含_nop_()函数


typedef unsigned char uchar; // 定义uchar为unsigned char类型

typedef unsigned int uint; // 定义uint为unsigned int类型


sbit LSA = P2^2; // 定义LSA为P2.2口

sbit LSB = P2^3; // 定义LSB为P2.3口

sbit LSC = P2^4; // 定义LSC为P2.4口


uchar code smgduan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; // 定义数码管显示的编码


void delay(uint z) // 延时函数

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}


void main() // 主函数

{

uchar i;

while(1) // 无限循环

{

for(i=0;i<10000;i++) // 从0开始,每次加1,直到9999

{

P0 = smgduan[i/1000]; // 显示千位数

LSA = 0;

LSB = 0;

LSC = 0;

delay(1); // 延时1ms

P0 = smgduan[i%1000/100]; // 显示百位数

LSA = 1;

LSB = 0;

LSC = 0;

delay(1); // 延时1ms

P0 = smgduan[i%100/10]; // 显示十位数

LSA = 0;

LSB = 1;

LSC = 0;

delay(1); // 延时1ms

P0 = smgduan[i%10]; // 显示个位数

LSA = 1;

LSB = 1;

LSC = 0;

delay(1); // 延时1ms

}

}

}

iFLYCode@谷动谷力

我的评判:程序结构差一点,但7段数码管IO驱动,写法好的一点,但有点错误,少一个,而且位选IO错了两个。

最后通义千问的写程序能力

#include<reg52.h>

#include "led.h"


#define uchar unsigned char

uchar code tab[16] = {0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};


void main(void) {

uchar i;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

TR0=1;


while(1){

for(i=0;i<=9999;i++){

display_7segment(i);

delay_ms(1000); // 这里只是一个简单的延迟函数,你需要根据实际情况进行修改

}

}

}


void display_7segment(uchar num){

uchar seg_num,bit;

seg_num=num%10000/1000+48;

P0=tab[seg_num];

bit=num%10000%1000/100;

switch(bit){

case 1:

P2|=0x01;break;

case 2:

P2|=0x02;break;

case 3:

P2|=0x04;break;

case 4:

P2|=0x08;break;

case 5:

P2|=0x10;break;

case 6:

P2|=0x20;break;

case 7:

P2|=0x40;break;

case 8:

P2|=0x80;break;

default:

break;

}

seg_num=num%10000%1000/100+48;

P1=tab[seg_num];

bit=num%10000%1000%100/10;

switch(bit){

case 1:

P2&=0xfe;break;

case 2:

P2&=0xfd;break;

case 3:

P2&=0xfb;break;

case 4:

P2&=0xf7;break;

case 5:

P2&=0xef;break;

case 6:

P2&=0xdf;break;

case 7:

P2&=0xbf;break;

case 8:

P2&=0x7f;break;

default:

break;

}


seg_num=num%10000%1000%100%10+48;

P3=tab[seg_num];

}

通义千问写程序@谷动谷力

我的评判:程序结构一般,但7段数码管IO驱动正确,但switch位多了,画蛇添足,但实际显示位,少2个。

3个AI没有一个全对的,看来,我们程序员,还是有饭吃的,还替代不了我们那么快。

总结

AI在作画写文字方面可以帮我们做很多工作,但在写程序方面,还得找有真才实料工程师。所以,我经常写文章是先AI,然后修改,这样效率高。

各位看官,你觉得呢。

#玩转AI摘要#



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1