When generating realistic test datasets or staging environments, developers often hit a major compliance barrier: GDPR, HIPAA, and KVKK regulations.
Using production data for internal development carries enormous legal risk, while sending database schemas or sample rows to cloud-hosted LLM APIs frequently breaches enterprise data boundaries.
To solve this, I built AI Synthetic Data Studio—an open-source, air-gapped synthetic data generator that runs completely offline on consumer hardware using local models via Ollama.
The Problem: Cloud APIs and Tabular Hallucinations
Generating realistic relational data with raw LLMs presents two core bottlenecks:
- Schema & Data Leakage: Cloud APIs require ingesting your schema definitions, business logic, and prompt context over external servers.
- Stochastic Failures: LLMs are non-deterministic. Under complex constraints (e.g., matching foreign keys, numeric bounds, custom regex patterns, or interdependent columns), raw LLM prompts hallucinate invalid types and broken integrity constraints.
The Architecture: Local LLMs + Deterministic Validation Layer
Instead of relying purely on prompt instructions, AI Synthetic Data Studio enforces a strict separation of concerns:
- Local Semantic Generation: An air-gapped local model (via Ollama) handles natural language semantics, realistic naming, and context generation.
- Deterministic Verification: Every generated record passes through an automated validation layer before writing to disk. This engine enforces data types, range bounds, and custom regex checks deterministically.
- Automated Test Coverage: The project is backed by a 960+ test suite verifying schema parsers, constraint checkers, and export pipelines.
Running Fully Air-Gapped
The entire setup requires zero external network calls:
bash
# Clone the repository
git clone https://github.com/BurakYildizGameDev/ai-data-studio.git
cd ai-data-studio
# Set up environment
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Run with your local Ollama instance
python main.py
Top comments (0)