five

BazzBasic

收藏
Hugging Face2026-05-07 更新2026-05-08 收录
下载链接:
https://huggingface.co/datasets/EkBass/BazzBasic
下载链接
链接失效反馈
官方服务:
资源简介:
BazzBasic Q&A数据集是一个专为微调代码语言模型而设计的指令-响应数据集,专注于BazzBasic——一种为业余程序员和初学者设计的现代BASIC方言。数据集包含对话式问答对,涵盖从十种源语言到BazzBasic的代码翻译,以及关于该语言特性、习语和标准库的纯讨论。数据集结构为两轮对话的JSON格式,包含2004对问答,约230万令牌。响应分为三类:完整翻译、近似翻译和无法翻译的诚实拒绝。数据集构建过程中采用了参考库、反模仿系统提示和策展人审查,以确保风格一致性和准确性。数据集适用于微调代码补全/聊天模型、BazzBasic学习者参考材料以及评估模型BazzBasic流利度的测试集。数据集采用MIT许可证发布,推荐使用QLoRA方法在7B–14B基础模型上进行微调。

The BazzBasic Q&A dataset is an instruction-response dataset designed for fine-tuning code language models, focusing on BazzBasic—a modern BASIC dialect designed for hobbyist programmers and beginners. The dataset contains conversational question-answer pairs covering code translation from ten source languages to BazzBasic, as well as pure discussions about the languages features, idioms, and standard library. The dataset is structured in a two-round dialogue JSON format, containing 2004 question-answer pairs, approximately 2.3 million tokens. Responses are categorized into three types: complete translation, approximate translation, and honest refusal for untranslatable cases. The dataset construction involved reference libraries, anti-imitation system prompts, and curator reviews to ensure stylistic consistency and accuracy. The dataset is suitable for fine-tuning code completion/chat models, serving as reference material for BazzBasic learners, and as a test set for evaluating model fluency in BazzBasic. The dataset is released under the MIT license and recommends using the QLoRA method for fine-tuning on 7B–14B base models.
创建时间:
2026-05-03
原始信息汇总

BazzBasic Q&A Dataset 数据集详情总结

数据集概览

  • 数据集名称: BazzBasic Q&A Dataset
  • 许可证: MIT License
  • 语言: 英语
  • 任务类别: 文本生成(Text Generation)
  • 标签: 代码、编程语言、BASIC、BazzBasic、代码翻译、教育
  • 数据规模: 1K < n < 10K 条样本
  • 维护者: Kristian Virtanen(EkBass)
  • 目标版本: BazzBasic 1.3 / 1.4

关于 BazzBasic

BazzBasic 是一个现代 BASIC 解释器,使用 C# / .NET 10 编写,支持 SDL2 图形和 SDL2_mixer 音频。其设计目标是缩短从编写代码到看到结果之间的距离,秉承 1980 年代 BASIC 易上手的精神,同时提供现代便利功能(如关联数组、JSON、HTTP、现代图形、提示式用户输入)。

语言惯例

  • 变量以 $(可变)或 #(常量)结尾,两种后缀均不表示数据类型
  • 使用 [brackets] 组织程序流程;跳转使用 GOTOGOSUB
  • 用户定义函数使用 DEF FN Name$(args) ... RETURN ... END DEF
  • 支持复合赋值:x$ += 1, s$ += " text"
  • + 同时支持数值加法和字符串拼接,根据操作数类型自动选择

数据集结构

每条数据是一个两轮对话: json { "id": 1777735369713, "conversations": [ { "role": "user", "content": "..." }, { "role": "assistant", "content": "..." } ] }

  • id:生成时的毫秒时间戳,数据集中唯一
  • conversations:兼容 OpenAI / ChatML / Qwen 聊天模板的两元素列表

数据以单个 JSON 数组形式提供。bazzbasic.shuffled.json 为随机顺序文件,bazzbasic.json 保留按时间顺序构建的原始顺序。

数据集构成

统计信息

指标 数值
总对话对 2,004
唯一用户提示 1,986
重复组合 18
文件大小 8.9 MB
预估 token 数 ~230 万

响应类型(三种框架)

  • (A) 完整翻译:源程序可直接映射到 BazzBasic,助手提供代码块及转换说明
  • (B) 近似翻译:源程序使用了 BazzBasic 不支持的特性,助手提供最接近的等价代码并明确标注简化内容
  • (C) 无法翻译:源程序根本上不兼容(如指针、多线程、内联汇编等),助手不生成代码块并解释差距

约 80% 的响应包含 BazzBasic 代码块,其余约 20% 为 (C) 类诚实拒绝或纯语言特性讨论。这一比例是刻意设计的——对 (C) 类示例进行微调可训练模型不产生 BazzBasic 不具备的特性幻觉。

构建方法

  1. 参考库:约 140 个手写、地道的 BazzBasic 解决方案,涵盖常见的 Rosetta Code 任务,作为缓存系统提示传递给每个翻译请求
  2. 反模仿系统提示:针对每种源语言特制,明确指定必须执行的转换规则和禁止虚构的特性
  3. 策展人审查与技能规则迭代:早期批次发现的问题(如使用不存在的 BazzBasic 特性、GOSUB 堆栈泄漏、缺少 += 等)在后续批次前得到修正

微调脚本可见:companion finetune folder

局限性与偏差

  • C 语言权重过高(约 48% 的源语言条目):反映了精心整理的短 C 示例的丰富性,微调后的模型在 C → BazzBasic 翻译上最流畅,其他语言表现稍弱
  • 经典 BASIC 翻译保留原始面条式代码:部分旧 Ahl 时代程序按标签逐行忠实翻译,模型训练后会生成标签密集的代码
  • 单一策展人数据集:所有条目来自同一位策展人的提示工程和审查,风格一致性高但反映个人品味
  • 合成来源:所有助手响应由 Claude、ChatGPT、Gemini 或 Mistral Le Chat 生成

推荐用途

  • 微调代码补全/聊天模型以生成 BazzBasic 程序,适合在消费级 GPU 上对 7B–14B 基础模型进行 QLoRA 微调
  • 人类学习 BazzBasic 的参考材料
  • 评估集(带保留分割)用于衡量模型对 BazzBasic 的流利程度

推荐微调配置

项目 说明
基础模型 Qwen/Qwen2.5-Coder-7B-Instruct
方法 QLoRA(4-bit)via Unsloth
硬件 1× GPU ≥ 12 GB VRAM(RTX 3060 Ti 及以上)
超参数 2 轮,batch 2 × grad-accum 4,LR 2e-4,LoRA rank 16
预估训练时间 RTX 4080 / 4090 级别 2–6 小时
输出格式 LoRA 适配器 + 合并 FP16 + GGUF(Q4_K_M, Q5_K_M, Q8_0)

许可与引用

  • 数据集许可: MIT License
  • BazzBasic 许可: 遵循其自身许可(详见 BazzBasic 仓库
  • 源程序片段来源: 公共 Rosetta Code 解决方案、David Ahl 的《BASIC Computer Games》(公共领域/教育合理使用)、策展人自己的 FreeBASIC 项目

引用格式

bibtex @dataset{virtanen2026bazzbasic, author = {Virtanen, Kristian}, title = {BazzBasic Q&A Dataset}, year = {2026}, publisher = {Hugging Face}, url = {https://huggingface.co/datasets/EkBass/bazzbasic} }

联系方式

  • GitHub 讨论: https://github.com/EkBass/BazzBasic/discussions
  • 邮箱: krisu.virtanen@gmail.com

相关资源

  • BazzBasic_AI_Guide 数据集
  • BazzBasic 主页: https://ekbass.github.io/BazzBasic/
  • BazzBasic 源码: https://github.com/EkBass/BazzBasic
  • BazzBasic 手册: https://ekbass.github.io/BazzBasic/manual/
  • Rosetta Code 分类: https://rosettacode.org/wiki/Category:BazzBasic
搜集汇总
数据集介绍
main_image_url
构建方式
BazzBasic 数据集的构建依托于一套精心设计的流水线。首先,创建了约140个手工编写的、地道的 BazzBasic 参考库,涵盖常见的 Rosetta Code 编程任务,并以缓存系统提示的形式注入每次翻译请求。其次,针对每种源语言设计了反模仿系统提示,以约束模型在方言间翻译时避免保留源语言语法。最后,通过策展人对早期批次的错误进行审核,并迭代优化提示脚本与参考文件,逐步提升了数据集的质量。整个构建过程确保了生成内容的准确性与风格一致性。
特点
该数据集的核心特点在于其独特的三形态响应框架:完整翻译(A型)、近似翻译(B型)与无法翻译(C型),其中约80%的响应包含 BazzBasic 代码块,其余为诚实的拒绝或语言特性讨论,有效防止模型幻觉。数据集包含2004个问答对,覆盖从C语言(约占48%)到经典BASIC等十种源语言的翻译,并穿插纯语言讨论。数据以 JSON 数组形式提供,兼容 OpenAI / ChatML 等聊天模板,便于直接用于微调。
使用方法
数据集推荐用于对代码补全或对话模型进行 QLoRA 微调,以生成 BazzBasic 程序。推荐的基座模型为 Qwen/Qwen2.5-Coder-7B-Instruct,在12GB及以上显存的消费级 GPU 上即可完成训练,典型配置下2-6小时内可产出 LoRA 适配器、合并 FP16 模型及 GGUF 量化文件(Q4_K_M、Q5_K_M、Q8_0)。数据集亦可作为人类学习 BazzBasic 的参考材料,或用于评估模型的 BazzBasic 流利度。完整的微调配方随附于数据集的 finetune/ 目录中。
背景与挑战
背景概述
BazzBasic数据集由Kristian Virtanen于2026年创建,聚焦于现代BASIC方言BazzBasic的代码语言模型微调。BazzBasic是一种融合了1980年代BASIC易用精神与现代编程便利性(如关联数组、JSON、HTTP支持)的轻量级解释型语言,旨在拉近编程与即时结果之间的距离。该数据集包含2004个精心构建的指令-回复对,覆盖从C、FreeBASIC等十种源语言到地道BazzBasic的代码翻译,以及语言特性与惯用法的纯讨论。通过引入三分支翻译框架(完整翻译、近似翻译、拒绝翻译),数据集有效抑制了模型对不存在特性的幻觉,为小规模语言模型的代码生成能力提供了高质量训练与评估资源,尤其适用于QLoRA微调7B至14B基座模型。
当前挑战
BazzBasic数据集面对的核心挑战在于方言间翻译的精确性与忠实性。在解决领域问题层面,代码语言模型常因混淆源语言与目标语言语法而生成非地道或无意义的代码,例如FreeBASIC或经典BASIC到BazzBasic的翻译中,模型容易残留源语言的标签跳转结构或缺失BazzBasic特有的复合赋值特性。数据集通过反模仿系统提示明确指明强制转换规则,并借助约140个手写地道参考样例引导模型,但C语言样本占比近48%导致语言间能力不均衡。构建过程中,早期批次出现非存在特性发明、GOSUB堆栈泄漏等错误,需经策展人逐轮迭代修正提示文件与参考库,这种单策展人模式虽保证了风格一致性,却也引入了个人偏好偏差。此外,所有回复由多个闭源模型生成,合成数据的天然局限性要求微调后模型仍能保持对真实BazzBasic语法的准确遵循。
常用场景
经典使用场景
BazzBasic数据集最经典的用途在于微调代码语言模型,使其能够生成符合BazzBasic语法的程序代码。该数据集包含了约2000条精心构造的指令-回复对,覆盖了从十种源语言到BazzBasic的代码翻译任务,以及对语言特性、惯用法和标准库的纯讨论。得益于其小巧的体积(约2.3M tokens),它特别适合在消费级GPU上通过QLoRA方法对7B至14B参数规模的基础模型进行高效微调,为BazzBasic这一现代BASIC方言提供了专门的、高质量的指令微调资源。
解决学术问题
该数据集解决了代码翻译领域的一个关键学术问题:如何让语言模型准确地将现有代码翻译成资源受限或特性迥异的小众领域特定语言(DSL),同时避免模型产生幻觉。BazzBasic明确缺失指针、线程和内联汇编等现代特性,数据集中特别设计了三种回复形状——完全翻译、近似翻译和拒绝翻译,并刻意保留了约20%的无法翻译案例。这一设计有效训练模型在遇到不兼容特性时诚实拒绝而非捏造不存在的功能,为方言间翻译的忠实性和安全边界设立提供了方法论范例。
衍生相关工作
该数据集的衍生工作中,最有代表性的当属其配套的BazzBasic AI指南(BazzBasic_AI_Guide)数据集,后者进一步扩展了对话覆盖范围。此外,数据集的构建管道本身提出了三项值得关注的技术贡献:基于Rosetta Code语料库的手工精练参考库、针对源语言特定伪模仿风险的对抗性提示设计,以及三级回复形状框架。这些方法论已在Hugging Face上公开,可被复现用于其他小众语言的指令数据合成,如Pascal、Lisp或Forth等,其核心思想——通过明确界定模型回答的边界区域来提升翻译忠实度——具有普适的参考价值。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作