ADI2005/spice-circuits-finetune-v3
SPICE Circuits Fine-Tune V3 A high-quality instruction-following dataset for fine-tuning language models to generate valid, simulation-ready SPICE netlists from natural language descriptions. Dataset Summary Property Value Total entries 12,471 Format {"instruction": "...", "output": "..."} PySpice validation 100% pass ngspice simulation 99.2% pass (500-entry spot check) Filepath leaks 0 License Apache 2.0 What Makes V3… See the full description on the dataset page: https://huggingface.co/datasets/ADI2005/spice-circuits-finetune-v3.
SPICE Circuits Fine-Tune V3
A high-quality instruction-following dataset for fine-tuning language models to generate valid, simulation-ready SPICE netlists from natural language descriptions.
Dataset Summary
What Makes V3 Different
Spec-to-value accuracy. Component values are computed deterministically from the target specification using engineering formulas — not picked arbitrarily. If an instruction says "cutoff at 1kHz", the netlist has C = 1/(2π×R×fc) calculated exactly. If the instruction says "gain = 20", the feedback resistor satisfies Rf = gain × Rin exactly.
Dual validation. Every entry passes both PySpice structural parsing (syntax and connectivity) and ngspice .op or .ac simulation (actual circuit behavior). Entries referencing LTspice-only proprietary models are excluded.
Compound instructions. Every circuit family includes multi-specification instruction variants — e.g., "Design with VCC=12V, IC=2mA, hFE=150, voltage divider bias with 10x rule, and AC sweep from 10Hz to 100MHz."
Zero filepath contamination. All real-world entries are cleaned of filepath comment lines before inclusion.
Circuit Families Covered (27 families)
Data Format
Each entry is a JSON object with two fields:
{
"instruction": "Design a low-pass RC filter with cutoff at 1kHz. Use R=10kΩ and calculate C to achieve exactly this cutoff.",
"output": "* RC Low-Pass Filter — fc = 1kHz\nVIN IN 0 DC 0 AC 1\nR1 IN OUT 10k\nC1 OUT 0 15.92n\n.ac dec 50 10 100k\n.end"
}Formulas Implemented
Usage
from datasets import load_dataset
ds = load_dataset("ADI2005/spice-circuits-finetune-v3", split="train")
print(ds[0])Fine-tuning format (Alpaca-style)
def format_entry(entry):
return (
f"### Instruction:\n{entry['instruction']}\n\n"
f"### Response:\n{entry['output']}"
)Version History
Related
- Model fine-tuned on this dataset: ADI2005/qwen-spice-lora-v2
- Base model: Qwen/Qwen2.5-Coder-3B-Instruct
