AbijahKaj/kicad-netlist-sft-dataset
收藏Hugging Face2026-05-02 更新2026-05-03 收录
下载链接:
https://hf-mirror.com/datasets/AbijahKaj/kicad-netlist-sft-dataset
下载链接
链接失效反馈官方服务:
资源简介:
KiCad Netlist SFT数据集是一个用于微调大型语言模型(LLMs)的训练数据集,旨在从自然语言描述中生成有效的KiCad电子电路网表。数据集包含100,179个示例,提供两种互补的输出格式:SKiDL Python和结构化JSON网表。此外,还包括285个多轮工具增强的示例,用于组件查找。数据集来源多样,包括GitHub上的开源项目、LTspice电路转换以及人工合成的电路示例。数据集支持多种训练策略,如全监督微调(SFT)SKiDL Python、JSON网表格式、工具增强示例以及SKiDL和JSON的联合训练。
The KiCad Netlist SFT Dataset is a training dataset for fine-tuning LLMs to generate valid KiCad electronic circuit netlists from natural language descriptions. It contains 100,179 examples with two complementary output formats: SKiDL Python and structured JSON netlist. Additionally, it includes 285 tool-augmented examples for component lookup. The dataset is sourced from various origins, including open-source projects on GitHub, LTspice circuit conversions, and synthetic circuit examples. It supports multiple training strategies, such as full SFT on SKiDL Python, JSON netlist format, tool-augmented examples, and combined SKiDL + JSON training.
提供机构:
AbijahKaj
搜集汇总
数据集介绍

构建方式
该数据集通过多源异构数据融合与统一格式转换的管道构建。核心数据源自bshada/open-schematics中约4.5万个真实的KiCad .kicad_sch原理图文件,经由纯Python联合查找算法解析组件与网络连接;同时从Si7li/ltspice-spice-circuits中转化约5.4万个LTspice电路,通过SPICE-to-SKiDL翻译实现格式对齐。此外,从Ashed00/SPICE-Circuits筛选约800个带有自然语言提示的KiCad SPICE导出数据,并人工合成约23个面向RP2040、STM32、ESP32等主流微控制器的电路样例。所有样本经过质量评分过滤(阈值≥0.6且包含至少2个多节点网络),最终并行生成两种互补格式:SKiDL Python可执行代码与结构化JSON网表。另设有285条多轮对话样例,集成了search_component与get_datasheet_info工具调用,模拟真实设计场景中的组件查询流程。
使用方法
用户可通过HuggingFace Datasets库直接加载该数据集的训练分割,采用标准的ChatML消息格式与SFTTrainer进行全量微调。默认策略利用messages字段中的system、user、assistant三级对话结构,以自然语言电路描述为输入,SKiDL Python代码为输出。若需切换至纯JSON训练,可编写映射函数将netlist_json列内容替换assistant回复,并配合专用的系统提示词。对于面向工具调用的微调场景,可通过is_tool_augmented字段筛选出285条多轮对话样本。此外,支持融合两种格式的联合训练方法,助力的输出同时包含SKiDL代码块与JSON网表块。高级用户还可通过source_url字段追溯数据来源,依据领域偏好进一步过滤或加权特定类型的电路设计样例。
背景与挑战
背景概述
在电子设计自动化(EDA)领域,将自然语言描述转化为可执行的电路网表是一项极具前景但充满挑战的任务。该数据集由研究者在2025年构建,依托于HuggingFace平台发布,旨在通过监督微调(SFT)训练大语言模型(LLM)生成符合KiCad标准的电子电路网表。数据集整合了来自GitHub上超过6000个开源硬件仓库的约45000个真实原理图、来自LTspice的约54000个电路转换结果,以及少量合成电路,共计100179个样本。研究背景根植于现有工作如PCBSchemaGen和CircuitLM,前者证明了SKiDL Python格式在电路生成中可达87%的Pass@1,后者展示了结构化JSON的88% ERC通过率。该数据集对推动LLM在硬件描述语言生成、开源硬件自动化设计以及多智能体电路协作方面的研究具有显著影响力。
当前挑战
该数据集所解决的领域核心挑战在于,大语言模型对KiCad原生S-表达式网表格式的深层嵌套与异常词元模式生成困难。现有研究表明,即便是GPT-4o也难以直接输出有效的S-表达式网表。为此,数据集引入SKiDL Python格式(较S-表达式紧凑3倍)和结构化JSON格式作为替代输出,以利用LLM的Python流畅性。在构建过程中,面临跨来源(LTspice、KiCad、SPICE)电路格式的异构转换难题,需开发纯Python的Union-Find解析器,并设计基于组件/网络存在性、电源/地网络、多节点连通性等指标的质量过滤体系,最终以0.6为阈值筛除低质量样本,确保数据的可靠性与可用性。
常用场景
经典使用场景
在电子设计自动化(EDA)领域,该数据集的核心用途是微调大语言模型,使其能够从自然语言描述中生成可执行的KiCad电路网表。具体而言,模型被训练以输出两种互补格式:SKiDL Python代码和结构化JSON网表。前者利用Python的易读性与LLM的编程能力,直接生成可达87% Pass@1的电路;后者则提供机器可解析的组件与网络连接信息,便于后续验证与集成。这种多格式输出策略,使研究者能够灵活选择训练范式,例如专注于语言生成或结构化数据建模,从而推动从文本到电路自动生成技术的发展。
解决学术问题
该数据集解决了电子设计自动化中一个长期存在的瓶颈:如何弥合人类自然语言描述与机器可执行网表之间的鸿沟。传统上,电路设计需要专业工程师手动绘制原理图或编写低级网表,效率低下且易出错。该数据集通过提供十万余条对齐的文本-网表对,使模型学会理解设计意图并自动生成正确连接,显著降低了电子设计的门槛。其影响在于,它为学术界探索文本驱动的电路生成提供了基准,促进了诸如PCBSchemaGen和CircuitLM等研究,验证了基于LLM的网表生成在ERC通过率和正确性上的卓越表现。
实际应用
在实际工程场景中,该数据集赋能了多种自动化工具。例如,嵌入式系统开发者可通过自然语言快速生成ESP32、STM32等微控制器的外围电路网表,将其直接导入KiCad进行PCB布局。在物联网(IoT)领域,工程师能够描述传感器节点或网关的功能,借助微调后的模型自动生成包含电源、通信接口的完整网表,大幅缩短原型设计周期。此外,工具增强的285个多轮对话示例模拟了真实工作流中的组件查找与数据手册查询,使模型能像人类专家一样,在信息不完整时自主搜索元件参数并完成设计,提升了工具的实用性与鲁棒性。
数据集最近研究
最新研究方向
该数据集聚焦于利用大语言模型(LLM)实现电子电路网表自动生成的前沿方向,通过融合SKiDL Python与结构化JSON双模态输出,显著提升了模型对KiCad格式网表的生成准确率。相关研究如PCBSchemaGen展示了SKiDL Python在GPT-4o上达到87%的Pass@1,而CircuitLM则验证了JSON格式下88%的ERC通过率,这些成果共同推动了开源硬件设计中自然语言到电路网表的端到端自动化进程。数据集整合了来自GitHub等平台的数万个真实原理图与合成电路,覆盖IoT、ARM开发、飞行控制器等热点领域,为训练具备工具调用能力的多轮对话模型提供了坚实基础,对降低电子设计门槛和加速原型开发具有深远影响。
以上内容由遇见数据集搜集并总结生成



