CoolFace
Datasetpublic

onkanat/amateur-radio-qa-dataset

📻 Amateur Radio & Electronics QA Dataset (SFT / DPO / Chat) This dataset is a comprehensive, production-grade bilingual (English and Turkish) corpus dedicated to Amateur Radio (Ham Radio), RF Engineering, Software Defined Radio (SDR), Signal Processing (DSP), Antennas, and Telecommunications Electronics. Generated and verified using the Elektor Universal Dataset Generator Pipeline (Phase 1-4) with strict LLM-as-a-Judge 5D quality filtering and Google LangExtract… See the full description on the dataset page: https://huggingface.co/datasets/onkanat/amateur-radio-qa-dataset.

sourceHugging Facecc-by-sa-4.0updated 22d agoView on Hugging Face
0likes159downloads
Dataset Card

📻 Amateur Radio & Electronics QA Dataset (SFT / DPO / Chat)

![Hugging Face Dataset](https://huggingface.co/datasets/onkanat/amateur-radio-qa-dataset) ![License: CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) ![Bilingual: EN & TR](https://huggingface.co/datasets/onkanat/amateur-radio-qa-dataset) ![Total Samples](https://huggingface.co/datasets/onkanat/amateur-radio-qa-dataset)

This dataset is a comprehensive, production-grade bilingual (English and Turkish) corpus dedicated to Amateur Radio (Ham Radio), RF Engineering, Software Defined Radio (SDR), Signal Processing (DSP), Antennas, and Telecommunications Electronics.

Generated and verified using the Elektor Universal Dataset Generator Pipeline (Phase 1-4) with strict LLM-as-a-Judge 5D quality filtering and Google LangExtract source-grounded entity linking.

Bu veri seti, Amatör Radyo (Ham Radyo), RF Mühendisliği, Yazılım Tanımlı Radyo (SDR), Sinyal İşleme (DSP), Antenler ve Telekomünikasyon Elektroniği konularına adanmış kapsamlı, üretim kalitesinde iki dilli (İngilizce ve Türkçe) bir veri kümesidir. Elektor Evrensel Veri Seti Oluşturma Hattı (Faz 1-4) kullanılarak, sıkı LLM-as-a-Judge 5D kalite filtrelemesi ve Google LangExtract kaynak tabanlı varlık bağlantısı ile oluşturulmuş ve doğrulanmıştır.

Stack Exchange Q&A for amateur radio forumlarından yararlanılmıştır.


📊 Dataset Architecture & Splits

File NameSplit TypeLanguageRecordsSizeDescription
sft_dataset.parquetSFT QAEnglish38,14331.96 MBEnglish Supervised Fine-Tuning (SFT) technical Q&A pairs.
dpo_dataset.parquetDPO PairsEnglish6,5108.63 MBEnglish Direct Preference Optimization (DPO) chosen vs rejected pairs (LLM-as-a-Judge approved).
chat_dataset.parquetMulti-turn ChatEnglish13,8066.24 MBEnglish multi-turn conversational technical dialogs.
tr_sft_dataset.parquetTurkish SFT QATurkish33,03518.71 MBTurkish Supervised Fine-Tuning (SFT) technical Q&A dataset.
tr_dpo_dataset.parquetTurkish DPO PairsTurkish4,6464.36 MBTurkish DPO preference pairs (Editor-in-Chief refined).
tr_chat_dataset.parquetTurkish Multi-turn ChatTurkish5,6680.14 MBTurkish multi-turn technical conversational dialogs.
code_sft_dataset.parquetCode SFTEnglish / Code10.0 MBSynthetic code dataset (explanation, completion, bug_fix, unit_test).
tr_code_sft_dataset.parquetTurkish Code SFTTurkish / Code10.01 MBTurkish synthetic code dataset.
langextract_grounded_dataset.parquetGrounded EntitiesBilingual90,9871.71 MBGoogle LangExtract source-grounded entity dataset with exact character offsets & attributes.

🎯 Domain & Topic Coverage

The dataset spans essential topics in amateur radio, communications, and electronics:

  • —Antenna Theory & Construction: Wire antennas, Dipoles, Yagi-Uda, Baluns, Ununs, Impedance Matching, Smith Charts, SWR minimization, Grounding & Lightning Safety.
  • —Software Defined Radio (SDR) & DSP: RTL-SDR, HackRF, GNU Radio, IQ sampling, FFT, Demodulation (AM/FM/SSB/Digital), Filters (FIR/IIR).
  • —Operating Modes & Protocols: CW (Morse Code), Single Sideband (SSB), FM, FT8, JS8Call, PSK31, APRS, Packet Radio, AX.25, DMR, D-STAR.
  • —Propagation & RF Physics: Ionospheric layers (D/E/F), Solar Flux Index (SFI), Sunspot Cycles, MUF/LUF, Tropospheric Ducting, Skip Zones, SNR calculations.
  • —Transceivers & Hardware DIY: Superheterodyne vs Direct Conversion, PA stages, LNA, BPF/LPF, Baofeng/Yaesu/Icom architectures, RFI/EMI suppression via Ferrite chokes.
  • —Licensing & Regulations: ARRL, FCC Part 97, CEPT, IARU band plans, operating ethics, repeaters, emergency telecommunications (ARES/RACES).

🚀 How to Load and Use in Python

Using the Hugging Face datasets library:

python
from datasets import load_dataset

# 1. Load English SFT (Supervised Fine-Tuning) Split
ds_sft = load_dataset("onkanat/amateur-radio-qa-dataset", data_files="sft_dataset.parquet")
print("English SFT Sample:", ds_sft['train'][0])

# 2. Load Turkish SFT Split (Türkçe Soru-Cevap)
ds_tr_sft = load_dataset("onkanat/amateur-radio-qa-dataset", data_files="tr_sft_dataset.parquet")
print("Turkish SFT Sample:", ds_tr_sft['train'][0])

# 3. Load DPO Preference Pairs (Chosen vs Rejected)
ds_dpo = load_dataset("onkanat/amateur-radio-qa-dataset", data_files="dpo_dataset.parquet")
print("DPO Pair:", ds_dpo['train'][0])

# 4. Load Multi-Turn Conversational Chat
ds_chat = load_dataset("onkanat/amateur-radio-qa-dataset", data_files="chat_dataset.parquet")
print("Chat Messages:", ds_chat['train'][0])

# 5. Load Grounded Entity Extractions (LangExtract with Character Offsets)
ds_grounded = load_dataset("onkanat/amateur-radio-qa-dataset", data_files="langextract_grounded_dataset.parquet")
print("Grounded Entity:", ds_grounded['train'][0])

⚡ Quick Fine-Tuning Recipe (Unsloth / TRL)

You can fine-tune any modern LLM (Qwen 2.5, Llama 3.1, Gemma 2, Mistral) using Unsloth:

python
from unsloth import FastLanguageModel
from datasets import load_dataset
from trl import SFTTrainer
from transformers import TrainingArguments

# Load base model
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/Qwen2.5-3B-Instruct",
    max_seq_length=2048,
    load_in_4bit=True,
)

# Add LoRA adapters
model = FastLanguageModel.get_peft_model(
    model,
    r=16,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj", "gate_proj", "up_proj", "down_proj"],
    lora_alpha=16,
    lora_dropout=0,
    bias="none",
)

# Load dataset
dataset = load_dataset("onkanat/amateur-radio-qa-dataset", data_files="sft_dataset.parquet", split="train")

# Train
trainer = SFTTrainer(
    model=model,
    tokenizer=tokenizer,
    train_dataset=dataset,
    dataset_text_field="output",
    max_seq_length=2048,
    args=TrainingArguments(
        per_device_train_batch_size=2,
        gradient_accumulation_steps=4,
        warmup_steps=10,
        max_steps=100,
        learning_rate=2e-4,
        fp16=True,
        logging_steps=10,
        output_dir="outputs",
    ),
)
trainer.train()

🛡️ Data Curation & Quality Assurance

  • —Source Attribution: Extracted from curated Amateur Radio Stack Exchange archive data dumps (ham.stackexchange.com) and technical engineering publications.
  • —LLM-as-a-Judge 5D Evaluation: Every question-answer and DPO pair was scored across 5 dimensions (Faithfulness, Clarity, Factual Correctness, Domain Relevance, Safety).
  • —Grounded Verification: All extractions are mapped back to character offsets and source articles using Google LangExtract.
  • —Direct Localization: Turkish pairs are verified and aligned for professional terminology (e.g. Empedans Uyumlama, Balun, Taşıyıcı Frekansı, İyonosferik Yayılım).

📜 License & Citation

This dataset is distributed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license in accordance with Stack Exchange network content terms.

Generated on 2026-09-05 11:19:03 UTC via Elektor Universal Pipeline.