实战对比:DeepSeek vs ChatGPT,谁更胜一筹?

前言

去年我用deepseek2.5的时候就说在一些场景(Blender python api编程),deepseek2.5秒杀所有大模型,所以我当时在一些“论坛”吹捧deepseek,当时网友说我是不是收了deepseek钱了
2025年1月19日的时候我说deepseek的深度推理很不好用(诸如无限重复、可读性差和语言混合等),v3也不是完全吊打其它模型,让后网友说我是不是收了美国钱了,当然是1月20日后回复我的。
deepseek在1月20日发布的R1确实很惊艳,但对于大模型由于训练集,参数,算法的不同多少都会有一些差异,作为用户,往常只能通过搜索引擎找到答案,现在可能需要同时向多家AI和搜索引擎提问来得到想要的答案,有时能更快的解决问题,有时会带来更多无效尝试
这篇文章我从过年开始写,2月下旬才抽空写完,这中间发生了很多事情,例如qwen2.5max(我用起来一般),gork-3(接口有点贵,没怎么试),google-gemini-2.0(中文支持很差),总的来说其实各家模型各有优势,并没有谁全方面吊打另一家的情况。

测试原则

  • 本测试不考虑prompt合理性,因为使用一样的prompt所以一视同仁
  • 不考虑o1和r1的推理特性带来的额外收益,主观场景无法评分,我们推理的目的还是为了结果(至少我注重结果)
  • 无额外上下文(不懂的可以理解为,未开启互联网搜索,且不会再一条会话上持续)

对比参数

OpenAI,Claude:poe.com,自建机器人
DeepSeek:API,自建dify,(Chat模型统一选择deepseek-chat,根据官方文档2.5版本后两个选项背后的模型一样,如果不一样这里我测的是chat而不是code)

统一系统提示词(除了o3-mini系列和R1)

系统提示词参考智谱调试台默认提示词

你是一个乐于解答各种问题的助手,你的任务是为用户提供专业、准确、有见地的建议。

接口参数

POE平台只提供了一个温度参数可调,我不清楚背后对应的是什么参数

  • Chat模型
    • GPT4o: POE平台默认,温度:0.35
    • Claude-3.5-Sonnet: POE平台默认,温度:0.5
    • DeepSeek-V3: top_p: 0.5 其它:默认值
  • 深度推理
    • GPTo1: POE平台默认,温度:0.35
    • DeepSeek-R1: api默认值
    • GPTo3-mini: POE默认参数,默认系统提示词(POE暂不支持自定义)
    • GPTo3-mini-high: POE默认参数,默认系统提示词(POE暂不支持自定义)

开发场景

问题:Blender Python脚本 简单处理

prompt:

blender版本: 3.6
python版本: 3.10
基于blender python api写一个脚本
把一个立方体变成一个渐变色的球体
  • 评分标准
    • 变成球体:+0.5
    • 添加渐变材质:+1
    • 脚本报错:-0.5
deepseek-v3gpt4o202411Claude3.5Sonnet20241022o1r1o3-minio3-mini-high
0.501.5-0.51.511.5

问题:用最短的代码帮我写一个html文件,打开即玩的贪吃蛇

用最短的代码帮我写一个html文件,打开即玩的贪吃蛇
使用较新版本的edge,你无需考虑旧游览器兼容性
  • 评分标准
    • 实现需求:+1
    • GPT4o: -0.5
      • 原因: 功能实现了,但蛇跑的太快一下就撞墙了,人根本反应不过来
    • R1: +0.1/-0.1
      • 原因:R1写的是难以阅读但极短的代码,运行后基本满足需求
    • 结束后可以重新开始:+0.5
    • 有简单的计分功能: 2.5
deepseek-v3gpt4o202411Claude3.5Sonnet20241022o1r1o3-minio3-mini-high
2.50.51.511?1.51

问题:帮我写一个运行llm模型的示例代码

帮我写一个运行llm模型的示例代码,和完整运行的简单demo需要执行的python
模型格式: safetensors,你不需要关心模型位置,写个demo占位符即可
运行硬件:*** #这里我写了我的设备是mac,arm,具体型号就不说了
Python环境:使用conda你给出完整的方案和pip命令
使用float16量化,你不需要担心模型大小有我自己把控
尽量一次给出完整代码,不需要太多复杂的设置,能运行一个对话demo即可
  • 评分标准
    • 经过一次修正才完成需求:+0.5
    • 完成需求:+1
    • 完成需求,但把参数调的很奇怪,导致模型效果奇怪:-0.2
    • R1: r1给出了mlx库解决方案很聪明,但不手动修复的话代码是用不了的,不给分
deepseek-v3gpt4o202411Claude3.5Sonnet20241022o1r1o3-minio3-mini-high
0.510.81011

问题:基于kratos框架写一个简单的点赞系统

帮我写一个mac上运行的完整脚本,基于kratos框架写一个简单的点赞系统
目标:实现核心功能,用户id由接口传入,使用sqlite
注意:你要给出的是一个完整脚本,包括写入go文件位置和go文件内容,以及最后运行脚本
尽量简短,尽量给出完整答案
  • 评分标准
    • 不是一个脚本:不得分
    • R1: +1?
      • 原因:虽然脚本破例采用多轮error修正,但三轮之后依旧无法完成,且第一轮也不是一个完整的脚本
    • O1: +5
      • 原因:一个脚本完成了叙述的需求
    • o3-mini-high: +4
      • 原因:实现了需求,但相对O1,使用了post接口本应该加分,但脚本上入侵了非当前目录犯了大忌,所以不如o1
deepseek-v3gpt4o202411Claude3.5Sonnet20241022o1r1o3-minio3-mini-high
00051?04

运维场景

运维场景实在难找,就随便找2个现实问题吧。如果用容器环境模拟系统有很多问题,因设备受限起虚拟机又很麻烦,所以很难找到合适的运维问题。

问题:img如何打包镜像

prompt: img如何打包镜像
img: 这个题歧义较多,我这里想问的是名字叫img的容器镜像打包工具
问题来源: 实际场景,但之前我用的时候是只有deepseek网页版赢了,但原问题可能和这个prompt不符,我记不起来了
评分标准:
符合题意:+1
胡言乱语:-1
答案优秀:+0.5 or +1

deepseek-v3gpt4o202411Claude3.5Sonnet20241022o1r1o3-minio3-mini-high
0-111.5022

答案解读: GPT4o直接理解成了系统镜像,deepseek r1和v3答案如出一辙,r1是基于v3训练的出现这种结果很正常,GPTo1给出了更完整更合理的答案,不知道是不是训练集有所区别,o3-mini表现异常出色额外+0.5

问题:brew安装mysqldump问题

prompt:

brew已经无法安装mysql5.7版本的mysqldump,说是不在维护,我如何安装mysql5.7版本的mysqldump

评分标准:

  • 不得分答案
    • 去官网下载
  • 得分答案
    • docker方案:+0.5
    • 手动编译:+0.5
    • 使用三方包管理器:+0.5
    • 提供的三方包管理器脚本可行:+1
  • 扣分答案
    • 提供无效的命令行方案(基本跑题):-0.5

deepseek-v3gpt4o202411Claude3.5Sonnet20241022o1r1o3-minio3-mini-high
2.50.50.510.50.50

答案解读:
我使用了deepseek-v3提供的方法成功安装(虽然没写path),但其它模型答案全军覆没

  • deepseek-v3: docker+0.5 手动编译+0.5 三方包管理+1.5
  • GPT4o:docker+0.5,编译+0.5
    • 给出了一个使用自定义brew安装包的方案,但未给出任何仓库名,我认为这方案完全没有意义,扣除0.5分
  • Claude-3.5-Sonnet: docker+0.5
    • 给出了自定义brew方案,但给出了建议仓库名,虽然不存在,但至少提供了方向,不扣分
  • o1: docker+0.5,编译+0.5
    • 给出了自定义brew方案,比Claude3.5SN更完善,但可惜用不了不得分
  • r1: docker+0.5
    • 回答最差,不上图,不解释,推理过程由于使用的dify没接收,看不到,不想查,答案基本上比GPT4o还拉垮
  • o3-mini: docker+0.5
    • 和4o的brew方案类似,但说的更清楚,不扣分
  • o3-mini-high: 表现不如o3-mini

总结

不计排名,因为都是主观评分,一线大模型实际上表现都各有千秋,更何况我使用的中文测试,英文的话国外模型表现力会上升。
回答我只摘录一个o1的回答,我认为这个回答超出了我的预期,我本以为这个问题要全军覆没,但o1和o3-mini-high居然完成了,其它的问题实际上都大差不差,对于brew已经不维护的mysql,deepseek-v3倒是给了一个解决方案,这个我本来就找不到一个比较官方的方案,我也不想找什么不权威的三方链接,没想到测这个的时候居然解决了,不过惊艳程度不如o1的这个回答,就不放了,实际上那个已经是过年期间测的了,我已经找不到了【狗头】
最后关于deepseek训练使用多少算力的问题,我没找到deepseek到底在哪写了自己的成本计算方式,因为除了上市公司外(虽然上市公司的财报也很水),其它公司的成本核算规则都是不透明的,比如之前有个团队说20美元成本打榜,简直是在开玩笑,那个20美元只算了电费,而且是微调模型。总的来说deepseek我从2.5版本就觉得很好用,虽然不知道成本具体情况,但可以确定的是只会比大厂低,也不可能比大厂高,中国有这样的公司我觉得是一件值得高兴的事情,且避免了美国一家独大。

王者回答

基于kratos框架写一个简单的点赞系统: OpenAPI-GPTo1答案

下面给出一个在 macOS 上可直接运行的完整脚本示例,使用 Kratos + SQLite 实现一个简单的“点赞系统”。脚本内容包含:

  1. 创建项目目录并初始化 go module
  2. 安装需要的依赖(kratos、sqlite driver 等)
  3. 写入 main.go 文件的代码(完整)
  4. 启动示例服务

您只需将下面脚本复制保存为 run_like_service.sh,然后在终端运行:

chmod +x run_like_service.sh
./run_like_service.sh

即可在本地端口 8000 启动服务。随后,可通过访问示例:

http://localhost:8000/like?user_id=test_user

来实现点赞示例。

以下是脚本(请注意整段代码一起复制):

#!/bin/bash

# 确保安装了Go与Kratos相关环境
# 如果尚未安装 kratos CLI,可执行:
# go install github.com/go-kratos/kratos/cmd/kratos/v2@latest

# 1. 创建项目目录
mkdir -p like-service
cd like-service

# 2. 初始化go module
go mod init like-service

# 3. 拉取需要的依赖
go get github.com/go-kratos/kratos/v2
go get github.com/go-kratos/kratos/v2/transport/http
go get github.com/mattn/go-sqlite3

# 4. 写入 main.go 完整代码
cat <<'EOF' > main.go
package main

import (
	"database/sql"
	"fmt"
	"net/http"

	_ "github.com/mattn/go-sqlite3"
	"github.com/go-kratos/kratos/v2"
	"github.com/go-kratos/kratos/v2/log"
	"github.com/go-kratos/kratos/v2/middleware/recovery"
	kratosHTTP "github.com/go-kratos/kratos/v2/transport/http"
)

var db *sql.DB

// likeHandler 处理点赞请求
func likeHandler(w http.ResponseWriter, r *http.Request) {
	userID := r.URL.Query().Get("user_id")
	if userID == "" {
		http.Error(w, "user_id is required", http.StatusBadRequest)
		return
	}
	// 如果不存在则插入,已存在则 like_count + 1
	_, err := db.Exec("INSERT INTO likes(user_id, like_count) VALUES(?, 1) ON CONFLICT(user_id) DO UPDATE SET like_count=like_count+1", userID)
	if err != nil {
		http.Error(w, "Failed to update like_count: "+err.Error(), http.StatusInternalServerError)
		return
	}
	fmt.Fprintf(w, "User %s liked successfully!\n", userID)
}

func main() {
	var err error

	// 打开/创建数据库
	db, err = sql.Open("sqlite3", "./likes.db")
	if err != nil {
		panic(err)
	}
	defer db.Close()

	// 初始化表
	_, err = db.Exec("CREATE TABLE IF NOT EXISTS likes (user_id TEXT PRIMARY KEY, like_count INTEGER NOT NULL)")
	if err != nil {
		panic(err)
	}

	// 注册 http server
	httpSrv := kratosHTTP.NewServer(
		kratosHTTP.Address(":8000"),
		kratosHTTP.Middleware(
			recovery.Recovery(),
		),
	)
	httpSrv.HandleFunc("/like", likeHandler)

	// 构建并启动 Kratos 应用
	app := kratos.New(
		kratos.Name("like-service"),
		kratos.Server(httpSrv),
		kratos.Logger(log.DefaultLogger),
	)
	if err := app.Run(); err != nil {
		panic(err)
	}
}
EOF

# 5. 启动服务
echo "Starting like service on http://localhost:8000 ..."
go run main.go

如何测试:

  1. 脚本启动后,服务会监听在 http://localhost:8000
  2. 在浏览器或命令行访问:
    curl "http://localhost:8000/like?user_id=alice"
    
    即可完成一次对用户 ID 为 “alice” 的点赞操作。
  3. 重复请求同样的 user_id 会让该用户的 like_count 自增。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值