遇见数据集
官方服务:

资源简介:

Luna & Quasar Agentic Coding数据集是一个开源、完全文档化的微调数据集,专门用于微调小型和大型agentic编码模型。该数据集基于真实工程工作,而非合成玩具问题。数据源自作者自己的开源项目——Nebula(一个集成了Web、Telegram和Discord适配器的Rust/Python AI助手)和NumRS(一个Rust线性代数库)——从实际提交历史、真实错误、重构和多文件变更中提取。合成数据仅用于填补特定覆盖缺口。数据集旨在训练模型在真实代码库中执行agentic编码任务,例如:给定一个代码库和真实请求,读取必要信息、制定计划、按合理顺序使用工具并在任务完成后停止。微调目标聚焦于三个领域:更新框架/SDK/库知识(缩小模型训练截止日期与当前库API/惯例之间的差距);行动前的推理和规划(在调用工具之前生成简短的实际计划,而非立即猜测编辑);高效的工具/令牌使用(无浪费工具调用,无冗长解释,任务完成后立即停止)。数据集按主题文件组织为JSONL格式,每个文件对应一个源领域。当前包含nebula_backend.jsonl(8条记录,涵盖Nebula的web_backend模块中的认证、依赖注入、项目存储、管理功能等)。未来将添加更多主题文件,如nebula_discord_bot.jsonl、nebula_core.jsonl、numrs_linalg.jsonl等。记录模式包括:id(唯一标识符)、source(synthetic或project_extract)、task_type(bugfix、feature、refactor、tool_use、multi_file、planning_only)、lang(python或rust)、difficulty(easy、medium、hard)、system(系统提示,包括工具定义)、messages(消息列表,包含user、assistant、tool角色,其中assistant消息包含plan和tool_calls字段,tool消息包含tool_call_id字段)和meta(元数据,包括num_tool_calls、num_turns、efficiency_label、notes)。efficiency_label包括optimal(最优)、verbose(冗长)和wasteful(浪费),其中wasteful/optimal对共享相同的id根,可用于未来的DPO偏好数据。数据集规模小于1K条记录。提供JSONL和Parquet两种格式,Parquet用于加快数据集加载,但注意对于小数据集Parquet可能比JSONL更大。还提供了Python脚本render_to_chatml.py和Colab笔记本01_prepare_chatml.ipynb,用于将原始数据转换为Qwen2.5-Coder ChatML格式的训练字符串。数据集采用MIT许可证,所有project_extract记录源自作者自己的开源项目。

The Luna & Quasar Agentic Coding dataset is an open-source, fully documented fine-tuning dataset specifically designed for fine-tuning small and large agentic coding models. The dataset is based on real engineering work, not synthetic toy problems. Data is extracted from the authors own open-source projects—Nebula (a Rust/Python AI assistant integrating Web, Telegram, and Discord adapters) and NumRS (a Rust linear algebra library)—from actual commit history, real bugs, refactors, and multi-file changes. Synthetic data is only used to fill specific coverage gaps. The dataset aims to train models to perform agentic coding tasks in real codebases, such as: given a codebase and a real request, read necessary information, formulate a plan, use tools in a reasonable order, and stop when the task is complete. The fine-tuning focuses on three areas: updating framework/SDK/library knowledge (bridging the gap between model training cutoff dates and current library APIs/conventions); reasoning and planning before action (generating a short practical plan before calling tools, rather than immediately guessing edits); and efficient tool/token usage (no wasted tool calls, no verbose explanations, stop immediately after task completion). The dataset is organized as JSONL files by topic, each file corresponding to a source domain. Currently includes nebula_backend.jsonl (8 records covering authentication, dependency injection, project storage, management functions, etc. in Nebulas web_backend module). More topic files will be added in the future, such as nebula_discord_bot.jsonl, nebula_core.jsonl, numrs_linalg.jsonl, etc. The record schema includes: id (unique identifier), source (synthetic or project_extract), task_type (bugfix, feature, refactor, tool_use, multi_file, planning_only), lang (python or rust), difficulty (easy, medium, hard), system (system prompt including tool definitions), messages (list of messages with user, assistant, tool roles, where assistant messages contain plan and tool_calls fields, and tool messages contain tool_call_id field), and meta (metadata including num_tool_calls, num_turns, efficiency_label, notes). efficiency_label includes optimal, verbose, and wasteful, where wasteful/optimal pairs share the same id root and can be used for future DPO preference data. The dataset size is less than 1K records. It is provided in JSONL and Parquet formats, with Parquet for faster loading, though for small datasets Parquet may be larger than JSONL. It also provides Python script render_to_chatml.py and Colab notebook 01_prepare_chatml.ipynb to convert raw data into Qwen2.5-Coder ChatML format training strings. The dataset is licensed under MIT, and all project_extract records originate from the authors own open-source projects.

创建时间:
2026-08-04
原始信息汇总

Luna & Quasar Agentic Coding 微调数据集

数据集概览

这是一个面向智能体编码(Agentic Coding) 模型微调的开源数据集,基于真实的工程实践(而非合成玩具问题)构建。数据集由 MIT 许可证授权,主要语言为英语,规模小于 1K 条记录。

项目背景

该数据集服务于 Luna & Quasar 双模型项目:

模型 规模 基座模型 状态
Luna 1 Qwen2.5-Coder(小变体) 进行中(当前数据集)
Quasar 1 Qwen2.5-Coder(大变体) 计划中

微调目标聚焦于基座模型的三个薄弱环节:

  1. 更新框架/SDK/库知识——弥补训练截止日期与当前 API 之间的差距
  2. 行动前的推理与规划——调用工具前先产出简短规划
  3. 高效的工具/令牌使用——不浪费工具调用,任务完成后即停止

数据来源

  • source: project_extract:从作者自己开源项目的真实提交历史、真实 bug、真实重构中提取,主要来自:
    • Nebula(Rust/Python AI 助手,支持 Web、Telegram、Discord 适配器)
    • NumRS(Rust 线性代数库)
  • source: synthetic:仅在真实项目未覆盖的特定缺口时少量使用

数据集组织

数据按主题文件(topic files)组织,每个文件为 JSONL 格式:

文件 主题 记录数
nebula_backend.jsonl Nebula 的 web_backend 模块——认证(JWT、Google OAuth)、依赖注入/访问控制、存储、管理防护 8

未来将新增更多主题文件(如 nebula_discord_bot.jsonlnumrs_linalg.jsonl 等)。

提供格式

文件 格式 用途
<topic>.jsonl 原始 schema 的纯 JSONL 数据源真相,可读、可 diff、可编辑
<topic>.parquet 列式压缩格式 通过 datasets/pandas 快速加载
render_to_chatml.py Python 脚本 将原始文件转换为 Qwen2.5-Coder ChatML 字符串
01_prepare_chatml.ipynb Colab Notebook 端到端执行 ChatML 转换,并用真实 tokenizer 验证

注意:ChatML 渲染后的训练数据不存储在仓库中,而是在训练前由 Notebook 即时生成,避免与原始数据漂移不同步。对于当前小规模数据,Parquet 文件可能比 JSONL 更大,并且 Parquet 转换会将 messages 字段中不同角色的字段合并为并集(不丢失数据,但会看到 None 填充)。

记录 Schema(原始 JSONL)

每条记录包含:

  • id:如 luna_00XX
  • sourcesyntheticproject_extract
  • task_typebugfixfeaturerefactortool_usemulti_fileplanning_only
  • langpythonrust
  • difficultyeasymediumhard
  • system:完整系统提示(含工具定义)
  • messages:多轮对话,包含用户请求、助手规划与工具调用、工具输出、最终回答
  • meta:包含 num_tool_callsnum_turnsefficiency_labeloptimal/verbose/wasteful)以及人类可读的说明

关键字段说明:

  • plan:非平凡任务必填,保持简洁(2-4 行);单工具调用或最终回答轮为 null
  • tool_calls:使用真实的工具名与参数(如 read_filewrite_filegrep_searchrun_tests 等)
  • efficiency_labelwastefuloptimal 对共享同一 id 根,可用于未来的 DPO 偏好数据
  • planning_only:零工具调用,模型呈现规划并等待确认

使用方法

python from datasets import load_dataset

原始 schema

ds = load_dataset("json", data_files="nebula_backend.jsonl")

Parquet 格式

ds = load_dataset("parquet", data_files="nebula_backend.parquet")

运行 01_prepare_chatml.ipynb(可在 Google Colab 中独立运行)或直接调用脚本: bash python render_to_chatml.py nebula_backend.jsonl nebula_backend_chatml.jsonl

路线图

  • [x] nebula_backend.jsonl 首批主题批次
  • [ ] 更多 Nebula 主题批次(Discord 机器人、核心认证/内存/硬币)
  • [ ] NumRS 主题批次
  • [x] ChatML 转换 Notebook
  • [ ] LoRA/QLoRA SFT 训练 Notebook
  • [ ] optimal vs wasteful 补全评估框架
  • [ ] Quasar 1 大型模型数据/训练管道

许可与来源

  • MIT 许可证
  • 所有 project_extract 记录均来自作者自己的开源 GitHub 项目(Nebula、NumRS),不涉及第三方数据集
  • 项目完全开源:数据集、Colab Notebook、微调文档(github.com/sinamsv/Luna),未来还将公开训练好的模型权重
搜集汇总
数据集介绍
Luna 数据集图片
构建方式
Luna数据集的构建匠心独运,其核心素材源自作者亲历的真实开源项目,如Rust/Python编写的AI助手Nebula与Rust线性代数库NumRS,从实际提交历史、真实缺陷与重构中萃取,而非凭空虚构。为确保覆盖全面,合成数据仅用于填补真实项目未曾触及的边缘场景。数据集按主题划分为多个JSONL文件,每个文件对应一个项目模块,例如nebula_backend.jsonl记录了Web后端的认证、权限与存储等关键实现,每条记录均采用原始JSON schema,可追溯、可审查,并辅以Parquet格式供高效加载。
特点
Luna数据集独具匠心,聚焦于基础模型三大薄弱环节:更新框架与SDK知识、执行前的规划推理、以及工具与令牌的高效利用。每条记录携带详尽的元数据,如规划内容(plan)、工具调用序列(tool_calls)与效率标签(efficiency_label),其中optimal与wasteful配对样本更可转化为DPO偏好数据。数据真实性源于真实工程场景,非玩具问题,且多文件、多工具任务按步骤逐轮呈现,planning_only类型则模拟需确认的谨慎行为,全方位塑造智能体编码能力。
使用方法
使用者可借助HuggingFace datasets库便捷加载JSONL或Parquet原始数据,进行深度检视与编辑。为适配训练,可运行01_prepare_chatml.ipynb笔记本或调用render_to_chatml.py脚本,将原始schema转换为Qwen2.5-Coder的ChatML格式字符串,该过程基于真实tokenizer验证,确保一致性。所有转换工具与训练流程均开源,便于复现与二次开发,为微调小而强大的智能体编码模型提供坚实数据基石。
背景与挑战
背景概述
Luna数据集,作为Luna与Quasar项目的一部分,由独立开发者于近期创建,旨在通过真实工程实践而非合成玩具问题,对小型及大型代理编码模型进行微调。该数据集聚焦于Qwen2.5-Coder基础模型,针对其在新框架、SDK及库知识更新、行动前推理与规划、以及高效工具与令牌使用方面的不足,提供精细化的训练信号。数据源自作者自身的开源项目(如Rust/Python编写的AI助手Nebula及Rust线性代数库NumRS),从真实提交历史、缺陷修复和重构中提取,确保数据的真实性与多样性。Luna数据集的发布,为代理编码领域提供了一个透明、可复现的微调资源,有望推动该领域模型在复杂真实任务中的性能提升。
当前挑战
Luna数据集面临多重挑战。领域层面,代理编码需在动态变化的代码库中精准理解上下文、规划行动序列并高效调用工具,而当前模型易陷入过度推理或无效工具调用,缺乏对任务完成时机的准确判断,这构成了核心难题。构建过程中,从真实项目中提取高质量、涵盖多文件任务与规划型场景的样本,需精细的人工标注与清洗,确保每条记录的教学价值。此外,数据规模较小,且需谨慎平衡合成数据与真实数据的比例,避免模型过拟合。数据集格式转换,如Parquet扁平化处理,亦需避免信息丢失或模式歧义,确保训练数据一致性。
常用场景
经典使用场景
Luna数据集专为智能体编码模型的微调而设计,其核心使用场景在于利用真实工程实践中的代码提交、缺陷修复与多文件重构记录,训练模型在复杂代码库中执行自主规划、工具调用与任务终结的完整流程。区别于传统的合成玩具问题,该数据集的每条记录均源自作者实际开源项目(如Nebula与NumRS)的真实变更历史,覆盖认证、存储、管理员防护等后端模块,并细分为bug修复、功能开发、重构、工具调用、多文件协作及纯规划等任务类型,为智能体编码提供高保真、可审计的训练素材。
实际应用
在实际应用中,Luna数据集可直接用于对Qwen2.5-Coder等基础模型进行监督微调,产出如Luna 1(小规模)与Quasar 1(大规模)这类专门面向智能体编码任务的模型。这些模型能够嵌入至集成开发环境(IDE)或命令行工具中,辅助开发者实施跨文件的代码重构、缺陷定位与修复、框架迁移等复杂操作,同时可依据用户指令自动规划步骤、按序调用工具(如文件读取、搜索、测试执行),并在确认任务完成后输出精简结果。此外,其raw schema与ChatML转换脚本的开放性,使得该数据集亦适用于训练数据验证、Token效率评估及模型行为对比分析等下游研究。
衍生相关工作
Luna数据集的发布催生了多个方向的衍生工作。一方面,其配套的01_prepare_chatml.ipynb与render_to_chatml.py工具链奠定了从原始记录到ChatML训练数据的高效转化流程,启发了后续针对特定编码助手的数据集构建与预处理研究。另一方面,最优/浪费配对样本的设计为偏好优化(如DPO)提供了天然语料,推动了面向智能体编码的效率感知训练方法的发展。此外,数据集中规划先行与工具调用规范的强调,促进了关于智能体行为规划可解释性及工具使用顺序优化方面的学术探讨,并可能引出针对多文件任务处理策略及令牌预算控制的专项评估框架。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务