five

Pymetheus

收藏
github2025-03-09 更新2025-03-18 收录
下载链接:
https://github.com/faridani/Pymetheus
下载链接
链接失效反馈
官方服务:
资源简介:
Pymetheus是一个用于强化学习的Python代码合成数据集,包含超过10,000个编码示例。这些示例存储在`data`文件夹的四个子文件夹中:`good_quality`(高质量数据,Python代码和单元测试均可编译)、`invalid_python_code`(Python代码有错误)、`invalid_tests`(Python代码可编译但测试失败)、`needs_postprocessing`(需要后处理的LLM输出)和`repaired_needs_postprocessing_files`(自动修复后的文件)。

Pymetheus is a Python code synthesis dataset for reinforcement learning, containing over 10,000 coding examples. These examples are stored in four subfolders under the `data` directory: `good_quality` (high-quality data where both Python code and unit tests are compilable), `invalid_python_code` (Python code contains errors), `invalid_tests` (Python code is compilable but the unit tests fail), `needs_postprocessing` (LLM outputs that require post-processing), and `repaired_needs_postprocessing_files` (automatically repaired files).
创建时间:
2025-02-19
原始信息汇总

Pymetheus 数据集概述

数据集简介

  • 名称:Pymetheus
  • 类型:Python代码合成数据集
  • 用途:强化学习
  • 规模:超过10,000个编码示例

数据文件夹结构

  1. good_quality:高质量数据,Python代码和单元测试均可编译,json文件符合指定schema
  2. invalid_python_code:json格式正确但Python代码有误
  3. invalid_tests:Python代码可编译但测试无法通过
  4. needs_postprocessing:LLM输出不完全符合schema但仍有用
  5. repaired_needs_postprocessing_files:自动修复后的needs_postprocessing文件,通过json schema验证

推荐使用数据

  • good_quality
  • repaired_needs_postprocessing_files

数据统计(good_quality文件夹)

模型生成数据量

  • mistral:latest: 355
  • llama3:latest: 41
  • qwen2:7b: 34
  • gemma2:27b: 28
  • aya:35b: 24
  • phi3:14b: 21
  • mistral-nemo:latest: 18
  • codestral:latest: 12
  • phi4:latest: 10
  • llama3.1:8b: 10
  • command-r7b:latest: 8
  • gemma2:27b-instruct-q5_K_S: 8
  • deepseek-coder:33b: 7
  • codebooga:latest: 6
  • codeqwen:7b: 6
  • mistral:7b-instruct: 5
  • codellama:34b: 5
  • codestral:22b: 5
  • llama2:latest: 5
  • codegemma:7b: 4
  • codegeex4:9b: 3
  • phind-codellama:34b: 2
  • deepseek-coder-v2:16b: 1
  • deepseek-r1:32b: 1
  • codeup:latest: 1

重复问题统计

  • Anagram Detector (Hard): 49
  • Anagram Detector (Hard): 12
  • Anagram Checker (Hard): 9
  • Anagram Detection (Hard): 9
  • Anagram Finder (Hard): 8
  • Anagram Detection (Hard): 6
  • Anagram Checker (Hard): 6
  • Easy: Sum of Digits: 6
  • Levenshtein Distance Calculator (Easy): 4
  • Prime Factorization (Hard): 4
  • Fibonacci Sequence Generator (Hard): 4

数据生成方法

  • 使用Ollama加载模型
  • 自动选择小于GPU NVRAM容量的模型
  • 模型重复失败时自动切换

数据schema

python schema = { "type": "object", "properties": { "title": {"type": "string"}, "description": {"type": "string"}, "code": {"type": "string"}, "tests": { "type": "array", "items": {"type": "string"} } }, "required": ["title", "description", "code", "tests"] }

示例数据

json { "title": "Graph Coloring Challenge (Hard)", "description": "You are given an undirected graph with n vertices and m edges...", "code": "from typing import List, Tuple

def can_color_graph(n: int, m: int, k: int, edges: List[Tuple[int, int]]) -> str: ...", "tests": [ "assert can_color_graph(3, 2, 2, [(0, 1), (1, 2)]) == YES", "..." ], "difficulty": "super hard", "model": "phi4:latest", "style": "Facebook Hacker Cup" }

环境配置

bash conda create --name pymetheus python=3.8 conda activate pymetheus pip install ollama jsonschema pynvml

搜集汇总
数据集介绍
main_image_url
构建方式
Pymetheus数据集的构建过程主要依赖于多种大型语言模型(LLMs)生成Python代码示例。数据生成器通过Ollama平台自动加载可用的模型,并根据GPU的NVRAM容量选择适合的模型进行数据生成。每个生成的代码示例均遵循特定的JSON模式,包含标题、描述、代码和测试用例。生成过程中,若某一模型反复生成无效示例,系统会自动切换至其他模型,以确保数据质量。最终生成的数据被分类存储于不同的子文件夹中,如`good_quality`和`repaired_needs_postprocessing_files`,以便用户根据需求选择使用。
特点
Pymetheus数据集的特点在于其多样性和高质量。数据集包含超过10,000个Python代码示例,涵盖从简单到复杂的多种编程任务。每个示例均附带详细的描述和单元测试,确保代码的可验证性和实用性。数据集特别关注代码的完整性,通过严格的JSON模式验证和自动修复机制,确保数据的一致性和可用性。此外,数据集还提供了不同模型生成的代码示例,便于用户对比和分析不同模型的表现。
使用方法
使用Pymetheus数据集时,建议优先选择`good_quality`和`repaired_needs_postprocessing_files`文件夹中的示例,这些数据已经过验证和修复,可直接用于强化学习或其他编程任务。用户可以通过运行`SyntheticDataGenerator.py`脚本生成更多合成数据。在使用前,需配置Python环境并安装必要的依赖库,如`ollama`、`jsonschema`和`pynvml`。数据集中的每个示例均以JSON格式存储,便于解析和集成到现有项目中。用户还可根据需求进一步筛选和优化数据,以满足特定任务的要求。
背景与挑战
背景概述
Pymetheus数据集是一个专注于Python代码生成的合成数据集,旨在为强化学习领域提供高质量的代码示例。该数据集由多个子文件夹组成,包含超过10,000个Python代码示例,涵盖了从高质量代码到需要后处理的代码等多种类型。数据集的核心研究问题在于如何通过自动化工具生成符合特定JSON模式的Python代码及其单元测试,以支持代码生成模型的训练与评估。Pymetheus的创建时间不详,但其通过整合多种大型语言模型(如Llama 3、Mistral等)生成的代码,展现了在代码生成领域的广泛应用潜力。该数据集对代码生成、自动化测试以及强化学习等领域的研究具有重要的推动作用。
当前挑战
Pymetheus数据集在构建过程中面临多重挑战。首先,生成高质量且符合特定JSON模式的Python代码及其单元测试是一个复杂的过程,尤其是在确保代码可编译且测试通过的情况下。其次,数据集中存在大量重复的代码示例,如`Anagram Detector`等题目,尽管其实现或测试可能不同,但重复性降低了数据的多样性。此外,部分代码需要后处理才能符合JSON模式,这增加了数据清洗和修复的复杂性。最后,数据集的生成依赖于多种大型语言模型,这些模型的性能差异可能导致生成代码的质量参差不齐,进一步增加了数据筛选和优化的难度。
常用场景
经典使用场景
Pymetheus数据集在强化学习领域中被广泛用于训练和评估Python代码生成模型。通过提供大量高质量的Python代码示例及其对应的单元测试,该数据集为研究人员提供了一个标准化的基准,用于测试模型在生成符合语法和逻辑要求的代码方面的能力。特别是在自动化代码生成和代码修复任务中,Pymetheus数据集能够帮助模型学习如何生成高质量的代码,并通过单元测试验证其正确性。
实际应用
在实际应用中,Pymetheus数据集可以用于开发自动化代码生成工具,帮助开发人员快速生成高质量的代码片段。例如,在软件开发过程中,开发人员可以使用基于Pymetheus训练的模型来自动生成常见的算法实现或单元测试代码,从而减少手动编码的工作量。此外,该数据集还可以用于教育领域,帮助学生通过自动生成的代码示例学习Python编程,并通过单元测试验证其代码的正确性。
衍生相关工作
Pymetheus数据集已经衍生出多项相关研究工作,特别是在自动化代码生成和代码修复领域。例如,一些研究利用该数据集训练了基于深度学习的代码生成模型,能够自动生成符合语法和逻辑要求的Python代码。此外,还有一些研究专注于利用数据集中的无效代码和无效测试子集,开发了自动代码修复工具,能够识别并修复代码中的错误。这些工作不仅推动了代码生成技术的发展,还为软件开发自动化和教育领域提供了新的工具和方法。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作