five

LeetCodeDataset

收藏
github2025-01-26 更新2025-02-11 收录
下载链接:
https://github.com/newfacade/LeetCodeDataset
下载链接
链接失效反馈
官方服务:
资源简介:
LeetCodeDataset是一个由Python语言编写的LeetCode问题组成的 数据集,用于LLM训练和评估。

LeetCodeDataset is a dataset consisting of LeetCode problems written in Python, designed for the training and evaluation of Large Language Models (LLMs).
创建时间:
2025-01-26
原始信息汇总

LeetCodeDataset 概述

数据集简介

LeetCodeDataset 是一个由 Python 编写的 LeetCode 题目组成的 数据集,可用于大型语言模型(LLM)的训练和评估。

数据字段

数据集遵循 human-eval 的题目文件格式,包含以下字段:

  • task_id: 对应 LeetCode 题目的标题 slug,与问题 URL 相关联。
  • prompt: 完成的前缀,例如基本导入。
  • entry_point: 用于评估的函数名称。
  • test: 使用测试用例检查函数。
  • completion: 仅包含完成的代码,不包括前缀。
  • examples: 测试用例。
  • meta:
    • question_id: LeetCode 题目 ID。
    • difficulty: 难度(Easy, Medium 或 Hard)。
    • lang_code: 完成的格式。
    • question_title: 题目描述。
    • query: 查询。
    • response: 正确的响应。
    • split: 例如 train/test。

训练

LeetCodeDataset 可用于训练:

  1. 数据集被分为训练集(1570 个问题)和测试集(175 个问题),按 question_id 排序问题,使用 question_id 较大的问题进行训练。
  2. 使用 meta.query 作为查询,meta.response 作为响应,使用训练集来训练 LLM。

评估

  • 安装: shell $ git clone https://github.com/newfacade/LeetCodeDataset $ pip install -e .

  • 评估示例: shell $ eval_lct --version v1 --split test --input_file ./data/LeetCodeDataset-v1-test-problems.jsonl --predict_column meta.response

数据整理

  1. 使用 python-leetcode 收集问题和相应的元数据。
  2. 将问题描述分为两部分:不含示例的描述和示例,将不含示例的描述和 lang_code 连接形成查询,解析示例以获取测试用例。
  3. 最终,从 doocs/leetcode 提取完成代码,测试用例和完成代码进行交叉验证。

致谢

搜集汇总
数据集介绍
main_image_url
构建方式
LeetCodeDataset 数据集的构建,首先采用 [python-leetcode](https://github.com/fspv/python-leetcode) 工具收集了 LeetCode 平台上的编程问题及其相关元数据。随后,将问题描述分为带示例和不带示例的两部分,并将不带示例的描述与编程语言代码结合形成查询。最后,从 [doocs/leetcode](https://github.com/doocs/leetcode) 中提取编程问题的完成代码,并通过测试用例对完成代码进行交叉验证,以确保数据集的质量和准确性。
特点
该数据集的特点在于,它包含了适用于大型语言模型训练和评估的 Python 编程问题。数据集严格遵循 [human-eval](https://github.com/openai/human-eval) 的文件格式标准,包含任务标识、前缀提示、入口点函数名、测试函数、代码完成部分、测试用例以及元数据字段。这些元数据字段涵盖了问题 ID、难度、语言代码、问题标题等关键信息,有助于模型的训练和评估。
使用方法
在使用 LeetCodeDataset 数据集时,用户首先需要通过 Git 和 pip 命令安装数据集和必要的依赖。数据集被划分为训练集和测试集,可根据问题 ID 进行排序,并使用较大 ID 的问题进行模型训练。评估时,可通过命令行工具进行,指定数据集版本、数据集分割类型、输入文件和预测列,以对模型进行评估。
背景与挑战
背景概述
LeetCodeDataset是一个专注于编程能力评估的数据集,其汇集了LeetCode平台上的Python编程问题,旨在为大型语言模型(LLM)的训练与评估提供资源。该数据集的创建,响应了当前人工智能领域对于代码生成与理解能力的迫切需求,由newfacade团队维护,并在2023之前持续更新。数据集依照human-eval的问题文件格式构建,其核心研究问题聚焦于如何通过编程问题的完成度来评估LLM的性能,对提升人工智能的编程能力研究产生了显著影响。
当前挑战
该数据集在构建过程中所遇到的挑战主要包括:如何确保问题与解答的准确性,这需要与LeetCode平台的问题进行精确对接;其次是如何合理分割训练集与测试集,以保持模型评估的有效性;此外,对于问题描述与示例的分离处理,以及从doocs/leetcode中提取完成的代码,并确保测试用例与代码的正确性匹配,也是构建过程中的关键挑战。在解决领域问题上,LeetCodeDataset面临的挑战是如何精确地衡量LLM在编程任务上的表现,以及如何提高数据集的覆盖率和问题的多样性,以适应不断变化的编程评估需求。
常用场景
经典使用场景
在机器学习领域,LeetCodeDataset数据集被广泛应用于大型语言模型(LLM)的训练与评估。该数据集包含Python语言的LeetCode编程问题,其经典使用场景在于为LLM提供编程任务的相关上下文和完成标准,进而训练模型理解和生成代码的能力。
实际应用
在实际应用中,LeetCodeDataset数据集被用于优化和提升编程辅助工具的性能。通过该数据集的辅助,开发者能够训练出能够协助解决编程问题的智能系统,极大地提高了软件开发效率,降低了出错率。
衍生相关工作
基于LeetCodeDataset,研究者们衍生出了一系列相关工作,包括但不限于对编程问题自动生成、代码质量评估以及编程教育辅助系统的开发。这些工作进一步扩展了LeetCodeDataset的应用范围,为计算机科学领域带来了新的研究思路和实践成果。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作