news 2026/9/20 13:49:56

DeepSeek-R1 上了 LiveCodeBench:用同一把 TaoToken Key 复现官方提交

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DeepSeek-R1 上了 LiveCodeBench:用同一把 TaoToken Key 复现官方提交

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度

1. 先搞清楚要复现什么

LiveCodeBench 是一个持续更新的代码评测基准,它从 LeetCode、AtCoder、Codeforces 等竞赛平台抓取题目,按发布时间切分,避免模型在训练时“见过”这些题。DeepSeek-R1 官方在 LiveCodeBench 上提交过成绩,其中 Hard 子集(难度较高的题目)的通过率是很多人关心的数字。

你要做的事很具体:用同一把 TaoToken Key 调用 DeepSeek-R1,在本地跑 LiveCodeBench 的 Hard 子集,生成一份提交文件,然后逐题对照官方通过率,看自己的复现结果和官方数字差多少。

适合谁做这件事?已经用过 OpenAI 兼容接口、能跑 Python 脚本、想验证模型真实代码能力的人。不需要你从头搭评测框架,LiveCodeBench 官方仓库已经提供了完整的评测管线,你只需要把模型请求接到 TaoToken 上。

这里有个前提要说清楚:TaoToken 在这个流程里只负责一件事——提供调用 DeepSeek-R1 的 Key 和 API 入口。评测逻辑、题目加载、结果判定全部由 LiveCodeBench 官方代码完成。你不是在评测 TaoToken,而是在用 TaoToken 作为模型请求通道来复现一个公开基准。

我试过用这套流程跑 Hard 子集,下面把每一步拆开讲。

2. 环境准备与 LiveCodeBench 安装

2.1 基础环境

先确认 Python 版本。LiveCodeBench 要求 Python 3.10 以上,推荐 3.11。

python --version # 期望输出:Python 3.11.x

如果版本不够,用 conda 或 pyenv 切一个干净环境:

conda create -n lcb python=3.11 -y conda activate lcb

2.2 克隆 LiveCodeBench 仓库

git clone https://github.com/LiveCodeBench/LiveCodeBench.git cd LiveCodeBench pip install -e .

安装过程会拉取依赖,包括 datasets、openai、anthropic 等。如果你只需要跑代码生成部分,可以只装核心依赖:

pip install datasets openai tqdm

2.3 确认 Hard 子集的数据结构

LiveCodeBench 的数据按版本切分,Hard 子集是其中难度标签为 hard 的题目集合。先加载看一下:

from datasets import load_dataset ds = load_dataset("livecodebench/code_generation_lite", split="test") hard = [x for x in ds if x.get("difficulty") == "hard"] print(len(hard)) print(hard[0].keys())

你会看到每道题包含 question_id、question_content、difficulty、platform、starter_code 等字段。Hard 子集的题目数量随版本更新会变,以你拉到的数据集为准。

注意:LiveCodeBench 的数据集会定期更新,不同时间拉到的题目集合可能不同。复现时记录你用的数据集版本和拉取日期,否则对照官方数字时会对不上。

3. 接入 TaoToken 并配置模型请求

3.1 拿 Key

到 https://taotoken.net/api-keys 创建一个 API Key。这个 Key 就是你调用 DeepSeek-R1 的凭证。创建后复制保存,页面不会再次完整显示。

3.2 配置 API Base URL

LiveCodeBench 的代码生成脚本默认走 OpenAI 兼容接口。你需要把 base_url 指向 TaoToken 的 API 地址:

https://taotoken.net/api

模型名称填 DeepSeek-R1 对应的标识。具体模型 ID 以 TaoToken 控制台模型列表为准,通常在模型对话页面能看到可用模型。

3.3 写一个最小调用测试

在跑完整评测之前,先用一段短代码确认 Key 和 Base URL 能通:

from openai import OpenAI client = OpenAI( api_key="你的TaoToken Key", base_url="https://taotoken.net/api" ) resp = client.chat.completions.create( model="deepseek-r1", messages=[{"role": "user", "content": "写一个Python函数判断回文数"}], max_tokens=512 ) print(resp.choices[0].message.content)

如果返回正常内容,说明通道没问题。如果报 401,检查 Key 是否复制完整;如果报 404,检查 base_url 是否漏了 /api 或多了斜杠。

3.4 把配置写进评测脚本

LiveCodeBench 的生成脚本在lcb_runner/runner/目录下。你可以直接用命令行参数传入:

python -m lcb_runner.runner.main \ --model deepseek-r1 \ --scenario codegeneration \ --base_url https://taotoken.net/api \ --api_key 你的TaoToken Key \ --release_version release_v5 \ --subset hard \ --n 1 \ --temperature 0.6

参数说明:

  • --subset hard:只跑 Hard 子集
  • --n 1:每题生成 1 个候选,官方提交通常用 n=1 或 n=10,先跑 1 保证流程通
  • --temperature 0.6:DeepSeek-R1 官方推荐温度,具体以模型文档为准
  • --release_version:数据集版本,以你实际拉到的为准

如果脚本不支持--base_url参数,你需要改lcb_runner/lm_styles.py或对应的模型配置文件,把 base_url 写死为https://taotoken.net/api

4. 生成提交文件与逐题对照

4.1 运行评测并生成提交文件

跑完上面的命令后,LiveCodeBench 会在output/目录下生成一个 JSON 文件,命名类似:

output/deepseek-r1_hard_release_v5.json

这个文件就是你的提交文件,里面每道题包含 question_id、生成的代码、以及模型输出的原始文本。

你可以用一段脚本检查文件结构:

import json with open("output/deepseek-r1_hard_release_v5.json") as f: data = json.load(f) print(len(data)) print(data[0]["question_id"]) print(data[0]["code_list"][0][:200])

4.2 跑官方评测脚本算通过率

生成提交文件后,用 LiveCodeBench 自带的评测脚本算通过率:

python -m lcb_runner.evaluation.compute_scores \ --eval_file output/deepseek-r1_hard_release_v5.json \ --release_version release_v5 \ --subset hard

输出会给出 pass@1 的数值。这个数值就是你的复现通过率。

4.3 逐题对照表

把官方公布的 Hard 子集通过率和你的结果放在一起对照。官方数字以 DeepSeek-R1 技术报告或 LiveCodeBench 官方榜单为准,记录你查看的日期。

题目 ID平台官方是否通过本地是否通过差异原因
lcb_001LeetCode一致
lcb_002AtCoder生成代码超时
lcb_003Codeforces一致
...............

逐题对照的意义在于:整体通过率接近不代表每题都对得上。有些题官方过了你没过,有些题官方没过你过了,这些差异才是复现时值得记录的东西。

4.4 失败分支处理

跑的过程中可能遇到几种失败:

Key 额度不足:返回 402 或类似错误。到 https://taotoken.net/console 查看余额和用量。

模型返回空内容:DeepSeek-R1 有时会在思考阶段耗尽 max_tokens,导致最终答案为空。把 max_tokens 调大,或检查是否触发了截断。

评测脚本报题目缺失:数据集版本和评测脚本版本不匹配。确认--release_version和数据集拉取时用的版本一致。

通过率远低于官方:先检查 temperature 和 n 是否和官方设置一致。官方提交可能用了 n=10 取 pass@1,你只跑 n=1 会偏低。

5. 限制、成本与模型选择

5.1 复现的限制

LiveCodeBench 的题目会随版本更新,官方提交时的题目集合和你现在拉到的可能不同。严格复现需要锁定数据集版本和拉取日期。

DeepSeek-R1 的输出有随机性,即使 temperature 固定,不同批次的生成结果也可能有差异。单次复现的通过率波动在几个百分点内是正常的。

官方提交可能用了特定的 prompt 模板、few-shot 示例、或后处理逻辑。如果你只用默认配置,结果和官方有差距是预期内的。

5.2 成本估算

Hard 子集的题目数量以你拉到的数据集为准,通常几十到一百多道。每题生成一次,输入 token 加输出 token 的总量取决于题目长度和模型思考长度。DeepSeek-R1 的思考链较长,输出 token 消耗比普通模型高。

具体单价以 TaoToken 官网模型页面为准。跑之前可以先跑 5 道题估算单题成本,再决定是否跑全量。

5.3 模型选择

如果你只是想验证流程,可以先用较小的子集或较短的题目跑通。如果要做正式复现,建议:

  • 锁定数据集版本
  • 记录 temperature、n、max_tokens 等参数
  • 跑多次取平均,减少随机性影响
  • 把逐题对照表保存下来,方便后续对比

DeepSeek-R1 在代码生成任务上的表现和具体版本有关,TaoToken 上可用的模型 ID 以控制台为准。如果你需要长期跑评测,Coding Plan 可能比按量计费更划算,具体到 https://taotoken.net/coding-plan 看当前方案。

整个流程跑下来,最耗时的不是调 API,而是等模型生成和跑评测脚本。Hard 子集的题目判定涉及编译和执行,单题评测时间从几秒到几十秒不等。建议用后台任务跑,别在前台干等。

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 13:48:29

英语16种时态表深度解析:从时间轴到实战运用

简介:英语16种时态表是一份面向英语学习者的语法归纳文档,系统梳理了从一般现在时、一般过去时、一般将来时到过去将来时、现在完成时、过去完成时等16种时态的构成规则、常用时间状语、典型用法及例句。文档以表格形式呈现,将每种时态的结构…

作者头像 李华
网站建设 2026/9/20 13:46:05

ABS钢制驳船建造规范2022版核心要点与实操避坑指南

简介:这份《ABS钢驳船建造与分类规则2022》是美国船级社发布的官方规范,面向驳船设计师、建造商、船东及检验人员,用于指导钢制驳船的设计、建造、检验与分类。内容完整覆盖第3部分船体构造与设备、第4部分驳船系统与机械、第5部分特定驳船类…

作者头像 李华
网站建设 2026/9/20 13:44:03

Dify自主学习机制解析:工作流、Agent与知识库闭环实践

1. 先搞清楚"Dify自主学习"到底指什么很多人第一次听到"Dify实现自主学习"这个说法,脑子里浮现的画面可能是模型自己上网找资料、自己训练自己、越用越聪明。这个理解方向对了一半,但落地到Dify这个平台上,它指的其实是一…

作者头像 李华
网站建设 2026/9/20 13:42:55

PMSM转速环BP神经网络PID自整定控制设计与仿真实现

简介:基于BP神经网络PID控制的电机转速控制器设计资料,面向具备电机控制理论与MATLAB仿真基础的研发人员,重点解决电动汽车永磁同步电机在复杂工况下传统PID适应性差的问题。资料为1个PDF文档,大小约701KB,全文围绕PMS…

作者头像 李华