BazzBasic
收藏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]组织程序流程;跳转使用GOTO和GOSUB - 用户定义函数使用
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 不具备的特性幻觉。
构建方法
- 参考库:约 140 个手写、地道的 BazzBasic 解决方案,涵盖常见的 Rosetta Code 任务,作为缓存系统提示传递给每个翻译请求
- 反模仿系统提示:针对每种源语言特制,明确指定必须执行的转换规则和禁止虚构的特性
- 策展人审查与技能规则迭代:早期批次发现的问题(如使用不存在的 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




