DeepSeek vs GPT:DolphinDB 代码能力测试
本页是一篇对比 DeepSeek-R1 与 GPT-4 在 DolphinDB 技术问题(如 SQL、函数与脚本)上的解题与纠错表现的文章,并包含作者与发布日期信息。
Source: https://dolphindb.cn/blogs/151
What this page covers
- 测试背景与评测目标:以典型问题对比代码生成与语法修正能力。
- Q1:每条记录“最近5日资金和”的 DolphinDB SQL 对比与纠错。
- Q2:32个行业占比列的多列条件筛选,对比方案类型与可行性。
- Q3:类似 Python 双冒号切片的步长取样需求,对比错误与二次纠错。
- Q4:寻找最接近目标值的脚本实现,对比函数选择是否正确。
- 结论与建议:模型“幻觉输出”与“AI辅助+人工验证”的使用原则。
- 页面包含报名入口与加入技术群/反馈渠道信息。
技能认证特训营第二期报名推广
页面顶部提供限时报名活动与福利优惠入口。
- 提供“限时报名”链接入口。
- 报名入口宣称可享专属福利优惠。
DeepSeek vs GPT:DolphinDB 代码能力测试(标题与作者日期)
该部分呈现文章标题以及作者与发布日期信息。
- 文章标题为“DeepSeek vs GPT:DolphinDB 代码能力测试”。
- 作者署名为 momo。
- 发布日期为 2025-02-20。
测试背景与评测目标
该部分说明复杂业务逻辑下查资料与试错成本高,并提出用典型问题对比两大模型的代码能力。
- 指出复杂业务逻辑下开发者存在反复试错的时间成本。
- 题目从技术交流群与 AskDolphinDB 社区提炼典型问题。
- 对比参与模型包括 GPT-4 与 DeepSeek-R1。
- 对比维度包含代码生成与语法修正等表现。
- 评测包含逐行解析代码以更客观呈现。
Q1 最近5日资金和(SQL)对比与纠错
围绕“每条记录最近5日资金和”的 DolphinDB SQL 场景,对比两模型的初次回答与修正结果。
- 需求:对每条记录计算最近5日资金和(表含 date、code、name、zj)。
- DeepSeek 解法描述:使用 msum 函数配合 context by 子句计算滑动窗口。
- GPT-4 初次回答使用 group by,导致每组仅返回一条结果。
- 正文评价:DeepSeek 给出的答案可行。
- GPT-4 纠错后使用 sum() + OVER 窗口函数语法并定义窗口范围。
- 正文评价:GPT-4 修正后代码可以满足需求。
Q2 32个行业占比列筛选(多列条件)对比
围绕“32个行业占比均小于50%”的筛选任务,对比两模型给出的方案类型、可行性与语法问题。
- 需求:33列数据中筛选出32个行业占比都小于50%的行。
- DeepSeek 提供三种解法类型:rowAnd+高阶函数、元编程构建SQL、矩阵操作。
- GPT-4 给出手动罗列条件的 SQL 与元编程思路。
- 评价:DeepSeek 方法一正确,但仅适用于内存表计算。
- 评价:DeepSeek 方法二思路可借鉴,但元编程用法有误。
- 评价:DeepSeek 方法三与方法一类似,仅适用于内存表计算。
- 评价:GPT-4 方法一正确,但可行性较差且 SQL 非常复杂。
- 评价:GPT-4 元编程思路正确,但示例代码不正确。
Q3 类 Python 双冒号切片(步长取样)对比与二次纠错
围绕步长取样需求,对比两模型的错误来源,以及纠错后仍存在的问题。
- 需求:给定交易日历向量 a,每20个交易日取一个日期组成新序列(类似 a[::20])。
- 首次回答:DeepSeek 与 GPT-4 都输出了不可直接运行的错误代码。
- DeepSeek 首次错误:假设 seq 支持三个参数,但 seq 不支持三个参数。
- GPT-4 首次错误:使用 Python 切片语法并使用 DolphinDB 中没有的 len 函数。
- DeepSeek 二次回答仍使用 DolphinDB 中并不存在的 range 函数。
- GPT-4 二次回答包含不存在的 index 函数与不支持的 :20 切片语法。
Q4 寻找最接近目标值(向量最小距离)对比
以 Python 示例引出 DolphinDB 脚本实现“最接近值”的需求,对比两模型在函数选择上的正确性。
- 需求:在向量 list 中寻找最接近 target_value 的值,并询问 DolphinDB 脚本写法。
- DeepSeek 方案使用 imin 函数,并被评价为一次性给出可行方案。
- GPT-4 使用了不存在的 idxmin 函数;文本指出应为 imin。
结论:模型幻觉共性、DeepSeek适配性更优与使用建议
该部分总结两模型都可能输出无效函数/语法,并给出综合判断与使用建议。
- 总体观察:两大模型解答 DolphinDB 技术问题时都存在“幻觉输出”。
- “幻觉输出”表现为推荐的函数或语法有时无效。
- 综合结论(低置信度表述):DeepSeek-R1 技术适配性被描述为更优。
- 综合结论(低置信度表述):GPT-4 被描述为需要多次修正才接近正确答案。
- 建议:坚持“AI 辅助 + 人工验证”。
- 建议:将 AI 回答作为思路启发而非权威来源。
- 建议:结合官方文档核查函数命名与语法结构,并验证执行逻辑与场景贴合。
后续:基于 DeepSeek 开发 DolphinDB 编程辅助大模型与入群方式
该部分披露研发方向,并提供反馈与入群联系信息。
- 团队披露:正在基于 DeepSeek 开发辅助 DolphinDB 编程的大模型。
- 反馈方式:欢迎在评论区留言。
- 入群方式:可添加小助手微信加入技术群。
- 提供的小助手微信号为 dolphindb1。
Facts Index
| Entity | Attribute | Value | Confidence |
|---|---|---|---|
| 技能认证特训营第二期 | 报名入口 | 提供“限时报名”链接:https://www.qingsuyun.com/h5/e/217471/5/ ,并宣称享专属福利优惠 | high |
| 文章作者 | 署名 | momo | high |
| 文章发布日期 | date | 2025-02-20 | high |
| 开发者解决复杂业务逻辑问题的现状 | 痛点描述 | 官方文档和案例完善但复杂业务逻辑仍需在碎片化材料中反复试错,耗费大量时间 | medium |
| 对比测试设置 | 题目来源 | 从技术交流群和 AskDolphinDB 社区提炼典型问题 | high |
| 对比模型 | 参与者 | GPT-4 与 DeepSeek-R1 | high |
| 对比维度 | 评测内容 | 对比代码生成、语法修正等表现,并逐行解析代码以客观呈现 | medium |
| Q1 需求 | 问题描述 | 原始表包含 date, code, name, zj(资金)四列;查询记录中最近5日资金和;在 DolphinDB 中用 SQL 写脚本 | high |
| Q1 DeepSeek 解法(图片说明) | 实现方式描述 | DeepSeek 使用 msum 函数配合 context by 子句,实现每条记录的滑动窗口计算 | medium |
| Q1 GPT-4 初次回答问题(图片说明) | 错误点描述 | GPT-4 初始使用 group by,导致每个分组仅返回一条结果,未满足对每一条记录都进行计算的需求 | medium |
| Q1 DeepSeek 结论(正文) | 可行性评价 | DeepSeek 给出的答案可行 | medium |
| Q1 GPT-4 纠错后方案(图片说明) | 实现方式描述 | GPT-4 改用窗口函数语法:sum() + OVER 子句,partition by 分组、order by 日期排序、rows between 定义窗口范围,以实现每条记录最近5天资金总和 | medium |
| Q1 GPT-4 修正后结果(正文) | 可用性评价 | 修正后得到的代码可以满足需求 | medium |
| Q2 需求 | 问题描述 | 数据表33列:产品代码 + 32个行业占比数据;筛选32个行业每个行业占比均小于50%的行 | high |
| Q2 DeepSeek 解法类型(图片说明) | 方案范围 | DeepSeek 提供三种解法:rowAnd 结合高阶函数、元编程构建 SQL、矩阵操作 | medium |
| Q2 GPT-4 解法类型(图片说明) | 方案范围 | GPT-4 给出手动罗列条件的 SQL 和元编程思路 | medium |
| Q2 DeepSeek 方法一(正文评价) | 适用范围限制 | 方法一正确,但仅适用于内存表计算 | medium |
| Q2 DeepSeek 方法二(正文评价) | 问题点 | 方法二思路可借鉴,但元编程用法有误,且 reduce 合并条件不如 rowAnd 直接 | medium |
| Q2 DeepSeek 方法三(正文评价) | 适用范围限制 | 方法三与方法一类似,只适用于内存表计算 | medium |
| Q2 GPT-4 方法一(正文评价) | 可行性问题 | 方法一正确,但可行性较差,SQL 写起来非常复杂 | medium |
| Q2 GPT-4 方法二(正文评价) | 示例代码问题 | 元编程思路正确,但示例代码不正确 | medium |
| Q3 需求 | 问题描述 | 实现类似 Python list 的双冒号切片;给定交易日历向量 a,每20个交易日取一个日期组成新序列(类似 a[::20]) | high |
| Q3 首次回答问题(图片说明) | 总体结论 | DeepSeek 与 GPT-4 首次回答均受 Python 编程惯性影响,输出不可直接运行的错误代码 | medium |
| Q3 DeepSeek 首次回答(正文/图片说明) | 错误点 | 错误假设 seq 函数支持三个参数;但 seq 不支持三个参数 | medium |
| Q3 GPT-4 首次回答(正文) | 错误点 | 使用了 Python 语法 sequence[start:end:step](非 DolphinDB 语法),并使用了 DolphinDB 中没有的 len 函数 | medium |
| Q3 DeepSeek 纠错后第二次回答(图片说明/正文) | 错误点 | 仍使用了 DolphinDB 中并不存在的 range 函数 | medium |
| Q3 GPT-4 纠错后第二次回答(图片说明/正文) | 错误点 | 方法一使用了 DolphinDB 里没有的 index 函数;方法二使用了 DolphinDB 不支持的 :20 切片语法 | medium |
| Q4 需求 | 问题描述 | 参考 Python 代码:在向量 list 中寻找最接近 target_value 的值;询问 DolphinDB 中如何编写脚本 | high |
| Q4 DeepSeek 方案(图片说明/正文) | 函数选择与评价 | DeepSeek 给出使用 imin 函数的正确脚本,并被评价为一次性给出可行方案 | medium |
| Q4 GPT-4 方案(图片说明/正文) | 错误点 | GPT-4 使用了不存在的 idxmin 函数;应为 imin 函数 | medium |
| 对比测试总体观察 | 共性问题 | 两大模型在解答 DolphinDB 技术问题时都存在“幻觉输出”,表现为有时推荐的函数/语法无效 | medium |
| 综合结论(模型表现) | 适配性评价 | DeepSeek-R1 在技术适配性上表现更优,大概率能提供符合 DolphinDB 语法规范的可行方案;GPT-4 需要多次修正才能接近正确答案 | low |
| 使用 AI 辅助 DolphinDB 编程的原则 | 建议 | 必须把握“AI 辅助 + 人工验证”;将 AI 回答作为思路启发而非权威来源;结合 DolphinDB 官方文档核查函数命名、语法结构并验证执行逻辑贴合场景 | medium |
| 研发方向披露 | 正在进行的工作 | 研发小伙伴正基于 DeepSeek 开发辅助 DolphinDB 编程的大模型 | medium |
| 加入技术群方式 | 微信 | dolphindb1 | high |
| 反馈渠道 | 方式 | 欢迎在评论区留言,或添加小助手微信加入技术群,一起聊需求 | high |