From e9e6f00a7b002bf70370697afb0bf97b8421bdbe Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Mon, 23 Feb 2026 10:22:37 -0800 Subject: [PATCH 01/12] docs: add text-to-sql devnote --- docs/devnotes/posts/text-to-sql.md | 405 +++++++++++++++++++++++++++++ 1 file changed, 405 insertions(+) create mode 100644 docs/devnotes/posts/text-to-sql.md diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md new file mode 100644 index 000000000..12f76421f --- /dev/null +++ b/docs/devnotes/posts/text-to-sql.md @@ -0,0 +1,405 @@ +--- +date: 2026-02-18 +authors: + - dnathawani + - ymeyer + - mvansegbroeck +--- + +# **Engineering an Enterprise-Grade Text-to-SQL Dataset with NeMo Data Designer** + +While LLMs have mastered generic coding, Text-to-SQL remains one of the most challenging frontiers in enterprise AI. Using NeMo Data Designer with conditional sampling, three-stage LLM generation, code validators, and multi-dimension judge scoring, we built a pipeline that generated 300,000 reasoning-heavy text-to-SQL samples --- filtered down to 96,500 --- across PostgreSQL, MySQL, and SQLite. This data powers Nemotron's SQL capabilities, targeting top-tier performance on benchmarks like [BIRD](https://bird-bench.github.io/) and [Spider 2.0](https://spider2-sql.github.io/). + + + +--- + +## **The "Real-World" Gap: Why Academic Data Wasn't Enough** + +The gap between academic benchmarks and the messy reality of enterprise data warehouses is massive. On academic benchmarks like Spider (where schemas are clean, tables are few, and queries are straightforward), frontier models score above 85%. On [BIRD](https://bird-bench.github.io/) (which introduces dirty data, larger schemas, and external knowledge requirements), the same models drop to 60-70%. On [Spider 2.0 Lite](https://spider2-sql.github.io/) (which uses real enterprise databases with hundreds of tables, multiple dialects, and complex business logic), even the best models score below 50%. + +The problem isn't model capability --- it's **training data**. Most open-source text-to-SQL datasets assume a "happy path": intuitive column names, perfect data types, and straightforward questions. Production SQL is different: + +- **Dialect specificity.** Generic "SQL" doesn't compile. We needed valid, executable code for MySQL, PostgreSQL, and SQLite that respects their unique syntax --- `date('now')` in SQLite vs. `CURRENT_DATE` in Postgres, `DISTINCT ON` in PostgreSQL vs. nested subqueries in MySQL. +- **Dirty data.** Real columns contain currency symbols (`$57,500`), mixed date formats, and JSON blobs. The model needs to learn *defensive SQL*: writing queries that use `CAST`, `STR_TO_DATE`, and string manipulation functions to clean data at query time before attempting any aggregation. We explicitly prompted the generation engine to introduce anti-patterns like storing dates as text (`'01-Jan-2023'`), including currency symbols in pricing columns, or burying critical flags inside JSON blobs. +- **Distractor tables and schema linking.** In production, you rarely get just the 2 tables you need; you're more likely to get a schema with 50 tables, many of which look identical. We injected semantically similar "distractor" tables into every context --- `sales_orders` vs. `sales_orders_archive`, `customer_leads` vs. `active_customers` --- forcing the model to perform schema linking based on column constraints and relationships, not just table names. +- **Industry-specific schemas.** Healthcare EHR tables look nothing like financial trading systems. The column names, relationships, and business logic are domain-specific. +- **Complexity gradients.** Junior analysts write simple SELECTs; senior engineers write recursive CTEs with window functions. Training data needs the full spectrum. + +For Nemotron's SQL capabilities, we needed synthetic training data that mirrors production complexity. The key insight: **domain diversity and complexity coverage matter more than dataset size**. + +--- + +## **Pipeline Architecture** + +The pipeline uses Data Designer's conditional sampling (`SubcategorySamplerParams`) to create correlated diversity across 60 industries, 700 topics, and 90 SQL concepts. It then chains three LLM generation stages with a code validator and multi-dimension judge: + +``` + TEXT-TO-SQL SDG PIPELINE + ======================= + + ┌─────────────────────────────────────────────────────────────────────────────────────┐ + │ STAGE 1: CONDITIONAL SAMPLERS │ + │ │ + │ Domain Controls SQL Controls Prompt Controls │ + │ ├─ industry_sector (60) ├─ sql_complexity ├─ instruction_style │ + │ └─ topic (700 subcategories) │ Beginner / Inter- │ imperative / │ + │ ↳ conditioned on industry │ mediate / Advanced │ declarative / │ + │ ├─ sql_concept (90) │ interrogative / │ + │ │ ↳ conditioned on │ contextual │ + │ │ complexity └─ tone, register │ + │ └─ sql_dialect │ + │ PostgreSQL / MySQL / SQLite │ + └─────────────────────────────────────────┬───────────────────────────────────────────┘ + │ + ▼ + ┌─────────────────────────────────────────────────────────────────────────────────────┐ + │ STAGE 2: THREE-STAGE LLM GENERATION │ + │ │ + │ sql_prompt ──────────► sql_context ──────────► sql │ + │ (natural language (CREATE TABLE + (SQL query with │ + │ business request) INSERT statements chain-of-thought │ + │ + distractor tables reasoning trace) │ + │ + dirty data) │ + └─────────────────────────────────────────┬───────────────────────────────────────────┘ + │ + ▼ + ┌─────────────────────────────────────────────────────────────────────────────────────┐ + │ STAGE 3: QUALITY WATERFALL │ + │ │ + │ Hard validation: │ + │ SQLFluff syntax check (dialect-aware: ANSI / Postgres / MySQL / SQLite) │ + │ │ + │ LLM Judge (4 dimensions × 0-4 scale): │ + │ 1. Relevance ─── Does the query answer the business request? │ + │ 2. Correctness ─ Valid joins, filters, grouping, NULL handling? │ + │ 3. Readability ─ Formatting, aliases, CTEs where helpful? │ + │ 4. Efficiency ── Sargable predicates, appropriate joins? │ + │ │ + │ Filter: syntax valid AND all dimensions ≥ 3 │ + └─────────────────────────────────────────┬───────────────────────────────────────────┘ + │ + ▼ + ┌─────────────────────────────────────────────────────────────────────────────────────┐ + │ OUTPUT: 96,500 RECORDS │ + │ │ + │ 300k generated → 96.5k after Quality Waterfall (68% rejection) │ + │ Dialects: PostgreSQL, MySQL, SQLite │ + │ 60 industries · 700 topics · 90 SQL concepts · 100% syntax-verified │ + └─────────────────────────────────────────────────────────────────────────────────────┘ +``` + +The critical feature is **two-level conditional sampling**: `topic` depends on `industry_sector`, and `sql_concept` depends on `sql_complexity`. This ensures coherent records --- you don't get "Window Functions" paired with "Beginner" complexity, or "Electronic Health Records" paired with a "Finance" industry. + +--- + +## **Step 1: Semantic Sampling with SubcategorySamplerParams** + +Standard categorical samplers draw independently from their value lists. `SubcategorySamplerParams` creates hierarchical dependencies, controlling the distribution of the data through what we call "Semantic Blueprints": + +```python +import data_designer.config as dd +from data_designer.interface import DataDesigner + +config = dd.DataDesignerConfigBuilder(model_configs=[ + dd.ModelConfig( + alias="sql-gen", + model="qwen/qwen3-235b-a22b", + provider="nvidia", + ), +]) + +# Industry → Topic (two-level conditional) +config.add_column(dd.SamplerColumnConfig( + name="industry_sector", + sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=[ + "Healthcare", "Finance", "Technology", "Retail", "Manufacturing", + "Aerospace", "Energy", "Telecommunications", "Transportation", "Education", + # ... 60 industries total + ]), +)) + +config.add_column(dd.SamplerColumnConfig( + name="topic", + sampler_type=dd.SamplerType.SUBCATEGORY, + params=dd.SubcategorySamplerParams( + category="industry_sector", + values={ + "Healthcare": ["Electronic Health Records", "Telemedicine Platforms", + "Clinical Trials", "Patient Scheduling", "Insurance Claims"], + "Finance": ["Fraud Detection", "Trading Systems", "Risk Assessment", + "Portfolio Management", "Regulatory Compliance"], + "Technology": ["Cloud Platforms", "ML Pipelines", "DevOps Tools", + "API Gateway Logs", "User Analytics"], + "Retail": ["Inventory Management", "Customer Segmentation", + "Pricing Optimization", "Supply Chain", "Returns Processing"], + # ... 700 subcategories across all industries + }, + ), +)) +``` + +When `industry_sector` samples "Healthcare", `topic` is drawn only from healthcare-specific subcategories. This is the difference between realistic training data and random noise. + +The same pattern controls SQL concepts and prompt diversity: + +```python +# Complexity → SQL Concept (two-level conditional) +config.add_column(dd.SamplerColumnConfig( + name="sql_complexity", + sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=["Beginner", "Intermediate", "Advanced"]), +)) + +config.add_column(dd.SamplerColumnConfig( + name="sql_concept", + sampler_type=dd.SamplerType.SUBCATEGORY, + params=dd.SubcategorySamplerParams( + category="sql_complexity", + values={ + "Beginner": ["Basic SELECT", "WHERE Clauses", "Basic JOINs", + "ORDER BY", "LIMIT/OFFSET", "DISTINCT"], + "Intermediate": ["Aggregation Functions", "Multiple JOINs", "Subqueries", + "Views", "CASE Expressions", "Date Functions", "String Functions"], + "Advanced": ["Window Functions", "Recursive CTEs", "Stored Procedures", + "Query Optimization", "JSON Extraction", "Lateral Joins", + "Pivoting", "Dynamic SQL"], + }, + ), +)) + +# Dialect control +config.add_column(dd.SamplerColumnConfig( + name="sql_dialect", + sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=["PostgreSQL", "MySQL", "SQLite"]), +)) + +# Prompt diversity: linguistic register, instruction style, politeness +config.add_column(dd.SamplerColumnConfig( + name="instruction_style", + sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=[ + "imperative", "declarative", "interrogative", "contextual", + ]), +)) +``` + +We systematically varied the linguistic register (formal vs. colloquial), instruction style, and politeness level to robustly handle any user persona. A CFO asking "Can you pull the Q3 numbers?" and an engineer saying "Write a query that joins sales on customer_id" should both produce correct SQL. + +--- + +## **Step 2: Three-Stage LLM Generation** + +The pipeline chains three LLM columns, each with a focused task. This decomposition is essential --- when you ask a single prompt to generate all three, the SQL tends to reference tables that don't exist in the schema, or the schema doesn't contain the columns the SQL needs. + +**Stage 1 --- Natural language prompt:** Generate a business request that *implicitly* requires the sampled SQL concept, without using SQL jargon. + +```python +config.add_column(dd.LLMTextColumnConfig( + name="sql_prompt", + model_alias="sql-gen", + prompt=( + "Generate a natural language data request from a {{ instruction_style }} " + "business user in the {{ industry_sector }} industry, specifically about " + "{{ topic }}. The request should implicitly require {{ sql_concept }} to answer, " + "targeting {{ sql_dialect }} syntax.\n\n" + "Do NOT use SQL terminology. Write it as a business person would ask it.\n\n" + "Example: 'For the quarterly review, pull the patient records with their most " + "recent lab test dates.'" + ), +)) +``` + +**Stage 2 --- Database context:** Generate `CREATE TABLE` and `INSERT` statements that provide the schema and sample data needed to answer the request. This is where dirty data and distractor tables are introduced: + +```python +config.add_column(dd.LLMTextColumnConfig( + name="sql_context", + model_alias="sql-gen", + prompt=( + "Generate a realistic {{ sql_dialect }} database schema to answer this request:\n" + "{{ sql_prompt }}\n\n" + "Requirements:\n" + "- Use {{ sql_dialect }}-specific syntax for CREATE TABLE and INSERT statements\n" + "- Include 3-5 tables, with at least 1 distractor table that is semantically " + "similar but NOT needed for the query\n" + "- Include realistic data quality issues: dates stored as text, currency symbols " + "in numeric fields, NULL values, inconsistent formats\n" + "- Industry: {{ industry_sector }} / {{ topic }}\n" + "- Include 5-10 sample INSERT rows per table\n\n" + "Return ONLY the SQL DDL and INSERT statements." + ), +)) +``` + +**Stage 3 --- SQL query with reasoning:** Write the SQL that answers the request using the provided context, including a chain-of-thought trace: + +```python +config.add_column(dd.LLMTextColumnConfig( + name="sql", + model_alias="sql-gen", + prompt=( + "Write a {{ sql_dialect }} query that answers this request:\n" + "{{ sql_prompt }}\n\n" + "Using this database:\n{{ sql_context }}\n\n" + "First, explain your reasoning step by step:\n" + "1. Which tables are relevant (and which are distractors)?\n" + "2. What data quality issues need to be handled?\n" + "3. What {{ sql_dialect }}-specific syntax is required?\n\n" + "Then write the final SQL query. Use CTEs for complex logic." + ), +)) +``` + +The chain-of-thought traces teach the model to *think like a Data Engineer*: decomposing complex problems, handling edge cases, and verifying logic before writing a single line of code. A typical reasoning trace looks like: + +> "The user wants to filter by date, but the 'timestamp' column is stored as TEXT. I need to first normalize this column using STR_TO_DATE before I can apply the WHERE clause..." + +--- + +## **Step 3: The Quality Waterfall** + +Generating 300,000 samples is straightforward. Ensuring they are correct is the hard part. We implemented a rigorous "Quality Waterfall" that rejected over 68% of the generated data. + +### Hard Validation with SQLFluff + +Data Designer's `ValidationColumnConfig` with `CodeValidatorParams` runs generated SQL through SQLFluff, a dialect-aware SQL linter: + +```python +config.add_column(dd.ValidationColumnConfig( + name="sql_validity", + validator_type=dd.ValidatorType.CODE, + target_columns=["sql"], + validator_params=dd.CodeValidatorParams(code_lang=dd.CodeLang.SQL_ANSI), + batch_size=10, +)) +``` + +The validator returns `is_valid` (boolean) and `error_messages` (string). Records that fail parsing are flagged immediately. Supported dialects: `SQL_SQLITE`, `SQL_POSTGRES`, `SQL_MYSQL`, `SQL_TSQL`, `SQL_BIGQUERY`, `SQL_ANSI`. + +### Multi-Dimension Judge Scoring + +Beyond syntax validity, we evaluate SQL *quality* across four dimensions on a 0-4 scale: + +``` + ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ + │ Relevance │ │ SQL Correctness │ │ Readability │ │ Efficiency │ + │ │ │ │ │ │ │ │ + │ Does the query │ │ Valid joins, │ │ Formatting, │ │ Sargable │ + │ answer the │ │ filters, │ │ aliases, │ │ predicates, │ + │ business │ │ grouping, │ │ CTEs where │ │ appropriate │ + │ request? │ │ NULL handling? │ │ helpful? │ │ joins? │ + └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ +``` + +Each dimension has explicit scoring criteria: + +| Score | Relevance | Correctness | Readability | Efficiency | +|-------|-----------|-------------|-------------|------------| +| 4 | Perfectly meets requirements | Valid SQL, correct semantics | Clean formatting, meaningful aliases | Sargable predicates, optimal plan | +| 3 | Minor deviations | Generally correct, minor issues | Generally readable | Mostly efficient | +| 2 | Moderate deviation | Noticeable semantic mistakes | Inconsistent formatting | Moderate inefficiencies | +| 1 | Significant deviations | Major errors | Poor formatting | Notable performance issues | +| 0 | Does not adhere | Invalid SQL | Unreadable | Highly inefficient | + +The judge provides a score *and* reasoning for each dimension, making it easy to diagnose why a record scored low. We filtered to records scoring ≥ 3 across all four dimensions. + +### Waterfall Summary + +The combined pipeline rejected records at each stage: + +| Stage | Records In | Records Out | Drop Rate | +|-------|-----------|-------------|-----------| +| Raw generation | 300,000 | 300,000 | --- | +| SQLFluff syntax validation | 300,000 | ~180,000 | ~40% | +| LLM Judge (all dimensions ≥ 3) | ~180,000 | 96,500 | ~46% | +| **Final dataset** | | **96,500** | **68% total rejection** | + +--- + +## **Rich Metadata for Precision Training** + +We didn't just generate text pairs --- we generated structured data. Unlike standard datasets that give you a black box of question → SQL, every single record is tagged with rich, granular metadata: + +| Field | Description | Example Values | +|-------|-------------|----------------| +| `industry_sector` | Domain vertical | Healthcare, Finance, Aerospace | +| `topic` | Specific subdomain | Electronic Health Records, Fraud Detection | +| `sql_complexity` | Difficulty tier | Beginner, Intermediate, Advanced | +| `sql_concept` | Target SQL skill | Window Functions, Recursive CTEs | +| `sql_dialect` | Target database | PostgreSQL, MySQL, SQLite | +| `instruction_style` | Prompt register | imperative, interrogative, contextual | +| `relevance_score` | Judge: relevance | 0-4 | +| `correctness_score` | Judge: SQL correctness | 0-4 | +| `readability_score` | Judge: formatting | 0-4 | +| `efficiency_score` | Judge: query plan | 0-4 | + +This allows researchers and engineers to "slice and dice" the training data with surgical precision. If you want to fine-tune a model specifically for Finance analytics using Window Functions in PostgreSQL, you can filter for exactly that subset. + +--- + +## **Results** + +| Metric | Value | +|--------|-------| +| Records generated | 300,000 | +| Records after Quality Waterfall | 96,500 | +| Rejection rate | 68% | +| SQL dialects | PostgreSQL, MySQL, SQLite | +| Industry coverage | 60 distinct industries | +| Topic coverage | 700 distinct subcategories | +| SQL concept coverage | 90 concepts across 3 complexity tiers | +| Syntax validation | 100% SQLFluff-verified | +| Minimum judge score | ≥ 3/4 across all four dimensions | + +The high rejection rate is a feature, not a bug. By generating 3x more data than we needed and filtering aggressively, we ensured every record in the final dataset is both syntactically valid and semantically meaningful. + +--- + +## **Key Takeaways** + +1. **Conditional sampling prevents incoherent records.** `SubcategorySamplerParams` ensures "Window Functions" only appears with "Advanced" complexity, and "EHR Systems" only appears with "Healthcare". Independent samplers would produce nonsensical combinations that confuse training. + +2. **Three-stage generation beats one-shot.** Separating prompt, schema, and query generation ensures the SQL actually references the tables that exist. One-shot generation frequently hallucinates tables. + +3. **Dirty data must be intentional.** Explicitly prompting for anti-patterns (dates as text, currency symbols, JSON blobs) forces the model to learn defensive SQL. Clean schemas produce clean-only training data. + +4. **Distractor tables teach schema linking.** Injecting semantically similar but irrelevant tables forces the model to *read* the schema instead of guessing from table names. This is the skill gap between academic benchmarks and production. + +5. **Hard validators are non-negotiable for code.** LLM judges can assess quality, but they can't reliably detect syntax errors. SQLFluff catches parsing failures that the judge misses. + +6. **Multi-dimension scoring enables targeted filtering.** A query that scores 4 on Relevance but 1 on Efficiency tells you the model understood the task but wrote a bad plan. You can filter differently depending on what you're training for. + +7. **Chain-of-thought teaches reasoning, not just syntax.** Including reasoning traces in the training data teaches models to decompose problems, handle edge cases, and verify logic --- acting as a Data Engineer rather than a translator. + +--- + +## **Looking Ahead: The Code Sandbox** + +The current Quality Waterfall validates syntax (SQLFluff) and assesses quality (LLM judge), but it doesn't verify *semantic correctness* --- whether the query actually returns the right results. We are actively implementing Data Designer's Code Sandbox to close this gap. The sandbox would execute generated SQL against a ground-truth database and compare results, enabling: + +- **Execution-based filtering:** Reject queries that parse but return wrong results. +- **End-to-end verification:** Confirm that the full chain (prompt → schema → SQL → result) is semantically coherent. +- **Harder negative mining:** Queries that execute but return incorrect results are valuable hard negatives for preference training. + +--- + +## **A Team Effort** + +This dataset builds on the foundation laid during our time at [Gretel.ai](https://gretel.ai) (creators of the [#1 trending synthetic text-to-SQL dataset on Hugging Face](https://huggingface.co/datasets/gretelai/synthetic_text_to_sql)). Today, we're proud to bring that DNA into NVIDIA, building the data infrastructure that powers the next generation of Nemotron models. + +**Dataset:** [Nemotron-Text-to-SQL-Internal](#) | **Scale:** 96.5k filtered records | **Dialects:** MySQL, PostgreSQL, SQLite + +Key Resources: + +1. [NeMo Data Designer on GitHub](https://github.com/NVIDIA-NeMo/DataDesigner) +2. [BIRD Benchmark](https://bird-bench.github.io/) +3. [Spider 2.0 Benchmark](https://spider2-sql.github.io/) + +Because this pipeline is encapsulated in Data Designer, the configuration can be shared with any team --- allowing them to fork our baseline, swap in their own schemas or industry verticals, and generate a custom, high-fidelity dataset for their specific domain in hours, not months. + +--- + +*Want to learn more about NeMo Data Designer? Check out our [documentation](https://github.com/NVIDIA-NeMo/DataDesigner) and start building your own high-fidelity synthetic datasets today.* From 20090605044bced5c1bb9b68da3d67c44b94dafc Mon Sep 17 00:00:00 2001 From: Yev Meyer Date: Mon, 9 Mar 2026 19:08:35 -0400 Subject: [PATCH 02/12] add diagram, update content Signed-off-by: Yev Meyer --- docs/devnotes/.authors.yml | 8 + .../posts/images/text-to-sql-pipeline.jpg | Bin 0 -> 320052 bytes docs/devnotes/posts/text-to-sql.md | 742 +++++++++++++----- 3 files changed, 572 insertions(+), 178 deletions(-) create mode 100644 docs/devnotes/posts/images/text-to-sql-pipeline.jpg diff --git a/docs/devnotes/.authors.yml b/docs/devnotes/.authors.yml index 9e8c6818e..85c6c4d3a 100644 --- a/docs/devnotes/.authors.yml +++ b/docs/devnotes/.authors.yml @@ -19,3 +19,11 @@ authors: name: Dhruv Nathawani description: Researcher at NVIDIA avatar: https://avatars.githubusercontent.com/u/128275431?v=4 + ymeyer: + name: Yev Meyer + description: Principal Research Scientist at NVIDIA + avatar: https://avatars.githubusercontent.com/u/11296522?v=4 + mvansegbroeck: + name: Maarten Van Segbroeck + description: Director of Research at NVIDIA + avatar: https://avatars.githubusercontent.com/u/67658125?v=4 diff --git a/docs/devnotes/posts/images/text-to-sql-pipeline.jpg b/docs/devnotes/posts/images/text-to-sql-pipeline.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f057488ed50479b8ad1da52c1c0be0b6f2d7c328 GIT binary patch literal 320052 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�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 z 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

  • mWp%8b^ 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 z zqKraPNw!pEvTLy`AQK?TkqKF>5lxMuB22)JOdiJ;sSntD6F8LThFa}FWaV?0cW zP4$_0Kx;vE!{Y3B!zJ&2HFmQ@hsr4=EPT}46{gd5a zj>wiCCCq$hr!^4UJP~sWeZB4!b+*8UK1dC49}IFt273oio5-Ep&p31I?tY#*@sWsW z{+7Qn#^Fsnjf8$h7%)Od-{1iduVE_Or}H&$@;_UX@W{3G&^^}!_M-K{fu~}(98R-4 z^(b+hd@Mx)Fb0fp1CL+#^vbP)C`XSDqe+m=yWBB1npq~+pb)+KWzxY{#|`@pl6gY7h-+3)^Br|Yw%=`qFrQXAo``&Q?t zimV)YHxCQl|*@pMJnt$XySA9h=Jj1KHi%8hCZ68<8fRi?QX0N1rhq{_l!ZcSctb#Iq1d-XU{ z`#V7M&}70Q5Q{_|7MXXTD5(T$X9=TVZ|p|i04>GIl*?b0`}S`NILSh~(nydX!Gx}f zC<^tp&5X6zk~qIk=Iazulbn5KlcU}j%2nG6SBlKUjKnLcl2@edoS2gwbV^Bs`S6mw z&WGB=s%pb^u%tW#uu#x*@5K(?Q}pT=w+nte1GB+*Q`qO8Eq}W%hgX4FQ%c_2|Z)Cmk z8E?J)xkedM^=Bv}Dbh2IwroYSjPN4`ABU2*2l4j@Os~8!$BAE~J}10oo#M{>_s`tp zYb1X4Gp5wz`Mw&ONg%C5R}1_zy@mVT+y?CV9cx!;h!~AouG3JAxSw+nZmUV*gVkGY5Yx#%JG&%IT5cpZGKU(z^@_|1AMg{hLwFH1W1fi$uc zg4(}^^br3o(v5NK6(9$VE@O+PlqgX+TGzYWf*tG}`bBq-PT&KH=tW_#cZm_{3+ZG5 z3c??E((7yg#++k#G_Z8Ma0~;YI}-xfC>M4erCey5;~~4Ve~3~{_i~@zzowslcc5-a zHN&c8R&0&xwZeOr$EkVp`&JFe>(xJUunz~nwbe|rlzL2i6QIFa6cXIPF+~fgUMKoP z3W1XCX!rX!_S{BZ-BFDx)Ru<3To6ZH`udrdo^iM`$^{}fv6(1S(@RhtZBMF^oW)*b zYRk=1y7dS3aOLZ#QeV0ozR#D{dbx2dXq{T~MEg`P=u`tMhI9mb#vX- zE$p}DOzlNeFrHcG`1ur(^bT(3DLAJzmkw4CdW(eXLJCI6$v?^c?+AwgN9~)%rc~Rq z9^`!psFdb6Q|^@iWasldsr0e?MO?V7|&rYn_j9 z3)@S@LD07N9s$qb1i4Xz!r5745@n+Yyy^8LgEys*Cp{{@Bxk@kpc(3FS(Crv*ib{; zvo!B7_HQLq8(iM%0V%h#rEW+H=(O;UkaAVI*uU?AwXLFFxurjVW*XTlcU;S{{XPlW zWbgAP_hGJ-gImwhPS1u;Js3TwdBDB4#$Z+VE^2C#6RCH9rpU(}~XBg0>e=8!ziN_5dz>b2S2A6%)8@SnhPn>I04QYKT&-z~kjNl{LJnS~o zO4E&q5cPOL08gB$LV-oTe@Qz@_D6m>*HNC-C$1$uX{|&bh`N32>a3Y|fjC4Sr0xo- z)`TdYyvw0nYK*-#7j>OSQu38&RPT*lC|r9wZ5Vb4B0I1jbZN=-vSNbo`--A~x=c#q z?c{;RjdXm&kFW2u6=Dt4M4h5|`V1Yf9yToF3>9$*=&0F3s)e}xV0$uIkidhC0$8U) z7AeM6Dxvmy<%No%sq^j@R@-EXih3N}kHzP{72y%AKl!`nD1xPjrqp%zI+WvRQ)H(7 zl5N+PO)^ID?&1hxftp%SGp{h>^ZobUf+_-7B&a{oK<23tAlT3i@;p2O;zobw(LD5K zS3WCxa=Um^7|-R7HD0h9GW=^wX_dHR$-$~isy#L9iB05ETx0Qvxt**FgkanaWX7hX zbAB?wFT@~u;$TPi+VYiS>tF5SJbwHkN4pyxLMK@DSu5ybUxB8Q0QozS>Z{q3HlZY+ zej!F^3hs3Q!%ATA)s@G)+)m{JQ0O0~9cMv4Ia3P)#T18Dwt2kBW& zZj8z2g^v?s-FIi6X*ls6bJbGj$)nNji3FgJ;1BxYv;Oa|FD(U)`U6m0F+)FCFK`#l zb%A&9@PF8}`qW$%-?v>aKJICY#nF{QnWBNFMfFZMDo}7sD66yCEo zMP6p8EsWQaN-Z(W(O+q%l|?3K%}j9EFU0|`4B?oy7{ z`QbCoIJzp&lsmX7SfCLiC_Vg^F(li=7IU>M2(xP#lIeB0Q9N<2qwX4ee`s2Xk4uu6 zQOH3Dn_6YEAoz-uI?BRIx3f?P4E1R{aU*Z5$iu6M9fNV3}uybQ>VZDtWX734W`8&c~O?^k>-WQ!-@f5Fve{BBQS!E+L z^7=-;#Dft5?O??QsQwcLu)6_;6=)TTail2D`1})Cj#)&E58I>}GrMs2+VLTBf@Q$& zW30%Zu&>pobQYgbPUZ+pa7y3(j)?WI(aG+ubIA~SHEvr|EAu(&)9*y5mckCW%loWD zF+&qhDKW+2l<$+hH~Ur6sX-h}{bxvimc>2QTU$TB>kdDmeXq`fyQm~J4oi5uR&rtSrA_+BB*Q=Aecl1T}#x-CE78Dr+)p6&2L8^oyEachbuS)PZ43adPuV} z9zF^xKcH0W_IdasbISw&vlCC=&);&OxvFFa1a#Ov8c(a)%m0+GX^%}I+?cxBjv+)4 zq_^LO^P;f zx>w=oL&r$dC{npNHla!kJz2fpxomvbJYL&6co%moC}D2yUv=>;7Na zO1+t@6lM*JPK`||;W@450s~(KSkygq(lpPdeo&O6;EJt znv<&6gfA^PqAPq9EE*b~VQOK|*)Maxt^k;fjmb@!8rTV&*Q`^Rnz}_)Mj8H)`yCvV zFQaZj@c3zTUAqUjxIl(qadX`LF^CPi*vgE?B6y(~-}JlvZpdH$M9R2~1OKGe7TOjU%zxna=fgVMp~P05%7XjJ zwgLAdz&AXYBheD+10$4VvIKK25=Y%L<@U)#_8sL(MZ%<&NdL=OOJ&EGrH`CG`&=pG zRz2u(!a?&5%mNlkRbBY|1B;i_VV-!V4qcRri$NZq6$|3|ctXap zu59U3L|XIH0S>X%Qr|G*ADCi~&j*ZszVbL~mu0t(@6|Z-Uahnovrn37^Tm4a4Dugm zYHPe+ThsGBdB9!L%s)S<;0U&%8NMu=b=StFnokJ`2&kNpL8lqZxh54W2^ZQoorZJP9f$MrIzZ zd3+~j@s(|?Tu3dG6MtK?r8Mh4G&7amezCb#p=xCwpi^6Q0_M!jyFr71S!jL zVxhK?Y~$H)ME*^0PY0TrYT&+jLsW^V6CsD>P3HAwTWLcYh!YTAQa64o zoodx&YF$iPW^bx-*Kw);M|aTCSR3SS_^dpv!$sP{RbXGSrD&?_>)~F?;$Y7osQr|= z-MR?-;e+n)`Dli<=-(Ke)Q?N7%cj6w3yBxxg#|o&vkeXeg#>c4*xU1kdL^SazZQLx z*Fnm7m(a8#mX+X&WcQ^2&n1i2VHO{!N4!?R%?&H%I`WVpxrKFAvF|NPigigGp&Mb~EH0+Vil>WXDe>QSl3s zKW7$6wu1x%90S1}USiYZ{QPA$;mS|q=4Q#NFciA`@=#C;c0qw&CA!PK*~Ly!+C2F7 z!#wXJ56F|55c~W;w9g0jq@i6^OhGOL#OXPn?w!Jm{e8WH3aL@_&B<@mb*WcPJ6S2w zsAMd6sYdR@){*8n1`MMzemrZD&1MuN4b?7S{PCK{uao_azWe>ZnNg@|1QlyDCLGvd{*CE=OJW|S0O~9zW6H5{aN|qmMS_Lz!=t^ea_nn0 z_8-5_%KdVRvJoyclG`%rS-p8%2>04WG!S)GSLmJr)lt=-=D`xopGtFw4?h1{O&3$8zKRNzjyDn7j%qLMk}8 z0uEOy6nkmBVF64jnm%j_m_5PnCL<@ZHvvFNw+0FI!~OPhs$3)rFR4@M&#-s@zhQ5I z?e`l4WmBpE6TE_ zR5onsIFUAiqywZ!CvjxS2rDc(G2BsWP%kjiH?qL8&!R*{U7sb=XF{Q>_BOMs8yBhJ zNJN{tF^OdSp#@6j%|K>euD>zL8EE4HB)01x_{5#X&&+Ng(Cs0A2 zHksAnroRAzJmZ^bAPCVHp1_{r^_}gkDpW+8z^({vh2~c!X^IsM_zeO4k_>8)>hU0gb*6yua=Y|M6L7BB)fryJgXn0S z8eTP@K3`D@6i>o_pyU4a7f_$wTbD28_l=NcMM><^ow`I#^kRzytvLx>Z&0bsWbQ`K zCopB#SqatItC0pCVwoj**a{wCurX7)i-bu0k?wz;%Jf+_jFN{e8V3C5^a7um9eEn z>!n&|4gYCp8$*%qhXo2PPXe^PmveGfr~%(J(9r)!+zNSslR2bMOQH@+wr3#K!+Vl7iv0W}$SK=&k2 z7GnDo*n%Qp4R}**v9w7ZFn;&gP5181hyKW^@#*bfC4;1zw@5s*_`0*-)Nj=cZ1T)DJ^H{6lfvhJ@yy!vu&rL4dx_IagW(0o+Z_UapQQUT&X8(P zu?@n6?CDuZCG|<%LqF*{{cE9*`xNu;C$`v#9M!1j&pVY{kRLM50JBnCn|70YA=7EW zwH}CNjA6$T&LQd4nTDPewy3tD$&K5R@l-p@lUT;(+b*6tM#Zw}G<)Q7It}*cbSSW~ z6%QkX9;THrTZziWi}sqknAx>ei**cu4OmqKo!=R~;nn)Z%oV5#?Wy2Teb%%cq z&A9OJWcU8ZSvIULW`Jc4nWi@>a&P@_Gx9K1K*C!(_@{-v9`DRIUP_5(< z{=r<|ML|SRMQxr2sIVwanNBb;JFvOVOERxJt%U;CX&fN+m|nKe0RqGcs7VCCBwCM~ z|F^R}^v5`V@S#Rqtib|+@k56VWiNYh$cZ49$W~?S!q3I8NQXxjjh2?na>J^zl&`+C zJZx@j@Ct<#q{Tz3otZea4ppute-E}6CO=+KXRnGZwOh|X<*&~5H&MhNN9PMd6+ps% zG1$PBm!K%NLK|F}FZRd3Bivm;`wQvyq}!raix+$uSgq?U*o_E?RXNj|%{hR=h}@w5 zP`04h3b5<>T^nJY4O|Gbv|t$`la?Sg*eg1?U_l&p{i06>LuG+dKbXAK`Z5AaMKzvk zfc;^spR#0GcaJep2ceV(t`kR_TpYLOqJxN84jWkyz*TNXo=%J&AT8T*eNw#w-7B@` zA8Y0rKZX`Nj*e~y83a0^{-G4WckJSqkspb|6IePQ7#6KUs3i0s1hj#b%G@;EFtiRw zo0G@Q@8O|sM`|ZV1JS+?FB+Fp+)*suNFUT4g(E0xi<`Ct@mQISI!!EHV6k0@XO@7~ zl6;_%Tx=+*r4>vQx^n6h%}}8G&4IbKzR2^(--oeLEjclPBmk#Tt9`_N+07Xf6i_D( zQus!Lv>adAiK6ip1G?sqp^_J*nDA@lM$&Ai6;xp|$Tr0JzF5axTr{FPH^I zB4ru{46EhItL7uYjxPegd+m$*!VBzo`Z_)t@Lz%~MtIXkEWnkm>HiW|pT_j3*l7jNYdTg(7x-p+-L!7}uw(2okyjcihWD;t}GB|@R4 zEjT+I@PO9~Iy{}iT!{`G5HcE1V`<@|>RKiKQ)e zR@_*!WHWr({(@=Cu}2CWb!|K4iNdHALHW4s>vfj`^=XjnwK0$c_y>=egYa!a0fYUr z_<@W-b`sTdS@7%O~>k|3g2JScQjFWjLm>SZX}T{)(Wk0` z27gQ`35P}8Q=*J<^`7!fL1`%G|BYwYyW>>Slh>u;M@#!6b{*AO{W19FyqxAcGA$bw zp|a*Wd!N&DL539HGj&>L^^UpL$X&5`J)#{*CG@ zkNHH>B8=sqJt(+J^?&6c)^+|>wsCc@*4=(wo)<%gZkhaL*7_ot2T!neP50~A%{8J9 z*{ZW^*(+7i5Ui*qt=%nbnHMfgO#ajfpwoqNiC_VC;1cR8AmAcspjhdjlv8Qm7YHW- z2(DvyHIg73l#OO%Qhr}Yb(|0KMGm-9T#V3CdTlYUP<&@OC$^k_1Gf@ug^)?YljH26 zZtxL~B*?hH>lYSN3PAO-JwIdp`5+zkKY5v@^x&DL1PSO&Qz68a)oLfn!gP?<<$TVk z;gAo$+|QUoildi`+2Sv28R0F%Edq`p_+r-t;Sx&AwR3 zWCmsjQlBWtz$v4d*y|*Ci`4O|czkFA?db5yk6qE(Xj1Gyshl(dh?<28g}lH3!LUa2 zo}hWa2JAcyTB#|KZ1cB96IK727YSlRJ9ex#iM((QUISzaafR+uLJ}1)&waG~|2M!T zktzuKXMk5Arz_UBoNPiVdj62*f8+8WaZEjYj5XJiRG=zxH>FRhE*#BREhl)3AFlKR zQee6NO+lEUNlaTL$4FjjIcJGQUYUvFAb+};S36qss72Q4sc;0EM*Ei*SJ1Q;N(;e% zQlHR{4U!!;EBJyw2*1b_KL~4;l4|5r`QO*TdR?wo6Ovc#wPw9Q$9M^p093vG+p^T^#kIm<-Og`Ji8qQan=oaJez~GEI^5uIRIr+ykL&Oe8@H+UJ^#sRbxE18f ztGh(b@nZbtdf*@P=SE z0eU;_JcZw87w?8S-Z(E7h~MUrrz(aSEc}YoFjRHqR&U?IjnTgo%9#$1=S;?z<{h3d z9k~pPkL341oxs=1a#(Nu%5g{ko0#*IN4}+wfG+$QBifbm#&g^6T_yV#{>EIa#!(Nb z1fFYL`+gxX>G}6-qu=(#s`b9R)#AAIRgOT?eG_L)LFVuHpaCzMX=Q4?ZX=dAc2^Xx zq6lt%um(T=j3MWXMaruogBKkT#NJ|#b)0tUk9siSsROp@IJ@~gPa~G^P*WZ}+)^!xR;S*Sx`^xog9p}x%sWHVF*3YaU<*tG1u*BWOU|pGFg{%4j;rLE3hZV}6vW_=z(CmL zpl&@~%aF+?i!n8qXanQE)6ZkBZm65XeDFnx9ys%1Jcs_zNDi@{;=E!Q!(vP|v*#~h z^5{se^Lz8Mw}an!##UoJsu5(mS0PIDX6I@;epaXR_`za+KHj*{=Rrec~bDgb=}%;X&}B*WYED#xT}ZJnFWm@k!BVcWuS5U{U?QE zfhubRxd|m84($xddEj6X6~~n62haHW3h^VU5<2Kgkra zMF|BN)JdTOcRq}<2=eoIbX+~N3{a8DY@=e%zUE>&trHmLai?S=B^md2*LAy6LxTefRlaON_&iP zdeOSAB{p_~Js9cj)&)CuWna%#m2AYQoI89a+t{fsT&#M*k>e&UH`B973=^UctJB-}E&l9G8`_i~H%cVTimt@SZZ=0Edt zxLZ~A%N;pvp+gRJ)HSL7`M__JwwcCrR;y>sSI?caYt`MM#$n>zX~hi$iCp{_B@Hy> z9CGJc#2WVL2+{YqY~wN8;zPt7G2CM4^cP9s$k`Q=6K!X{+PVw;PLO`C{z2ys4ofjd z4ogY&A2Df+x}d%Gx*V?>lpiustPE4zkbI`kyGQd|w;4P*Z{P1e`6eM;N9VodX0e!Z#)Vb< zHV?CSU%OtH{ze*kfP3OuNA91a4Y0Bao8W!^UIVfKQ~WXAKZoACzpGsGRzdZH3p$9R>str;Dva(Aj1jsS5xbHpKH;c$2?6v z<@k!rIJOx{&z!0V5aRr5eBgc6Bln5-dkr_dIvE^%Qr5|Wf1|qZW$T0Dd&ETE+FNajMpGbmaeeg!LG# z9r;)lg?f}})U=5_J*YX?e#;}SnBc{_LQtQTsVDO=_l$b-?+Yt#T9e-tliR+v)Z?4u ztEbA>IVnCX-o$!!ox>w&MX=nyp}-435K~fS%m1n zk-PPX>>GTK+P~N2FMny@aHIZBttOnfN5ND)Z;12(GK-!9TQQ53>Fu-Dv|!fFYAGO3E2%wDQQz|Nx^ot{K zf>R*ezQrp)+8rC()YIA!`m1|I!^YY*in@9}4R;Nl4^`Ht#(D38T>;|FG~b{BIKS~` z)_3GqQe}UI?P=SP1M9_(wB_cF{up%WXz2{!f98})&j+Dr%=IBiG1Q|zJtI$-oH$z( z_t35RoEOQb#4a#6P$SOPE6wV?)&4avN8;ynFJNVG-jsd`dn;T7Q3D|-k*(Eqd$(7W z_Xw0+dAvnx0LA!ZpTa@0dIR>u}Y{ zlTNpkN|c7wLRP(ISWbK5*bSs|&v?=Zqymr~_!y6M^g~D&x-&?MH2)&OTj?=@SgqV!os_JQ?*eV2EI-Ls8QQi|0J?B5;T(MxTg3I)wdU_F0G z8M&Petcp4f2ncT`=#LX*?ix!FCEYpT7ph{p?Q^TLo$>j*vvSIYKN_E@>`mUoks4*g zoPakhJicBVuJmP!T@DiWKRM~PfA5fbz`*MLO&KS2ZWFy@28l;Ra=f*wBl={!ZH}>D zviS)vtW1i(5I6ZE852SlqIYj|zoZ4=#(Kk`d&0%2jKt@hT=$MBht%@i7RNQt$PwGg z9Hv4iXHCYE3vY*6)L$#Ljlb=6E3O1DX{Rhc-X+y6}PjlFGZt+%R$ zKOa`>wpEU-aZ(NtQ3yS_swm|{6`OA(;{?Hqb&m;|v=zTt#YEnT8WH-~9r`JT8}c)j ze8#J+M_0SZtd~2lReA1?cEhoUl^Z|mVOFh^-`;zO+}W_#gRjRo^Y!~-hs=Oe5`JUJ zDq*j_N}0bNf8yUt#lqz<-CFIe$BW8M^)dm>cfa~zjtit(3!+&ceTH_C6-Dy7NH~IE zsTB=x?oU3yQpPt?G~L^J*-QqWxP1L4m5!ZC3_`PlN#p z8+^g7C2AAjlFL%!0+|P98JShAEf0PM( z5P`caR#uG+NcjdPL|ELy$eB2^2Zi*ZiTMLcb!BZzm$iL{L;LSMy|H^#=3v#^_#0^+ zS{gUZJU@4{`G7^-oGc3Is8F9Zb-2EGpnk-OzB@$wB*C8gV(+T&+SA2>+z-=i`RY&2 z8NZDRBi|5?B4;W*vlS6TIE0^L$>GztBriIOtFPNTM2ongAj|ulbugu%bk!N$`mRL5| z223_bak!ZzQZIYU@GY#_pnG^pVwC*u&TcJP5!Ard%XHAth1{x6_r!UouGX3&r(5 z*K|dW_TMa~9myVKJ{wDN4%nUKbwzSd-p%qZ%@rva5!XnT4wg4;Kjg8G^et^+$0G6c z-LtHWBjEHqQR$#-GPFsx1fm$hnRSV%MT9lqa(v7qCeP?hWUzKdqN&D14^lb%n6jv4ltl26ge_2?_6Y076vSbDla0nX-BSi8=dxm6 zq)Mc-4m6~Et~#uKW|Nz>*uzBeIAzU^op2XcG!f>J;~4R4A`ufDDm&V|GhLcUIcEa|Hk*5=)GO7 z=@(&*W;QFDGE#;sPXWgf_y!Is;F)4GR8uT3QEBo$n-~*ZpilOyKAfcS*DK{p-oILs z6|*(ttgi0-Yvm`2L%|E8^0G+BI76?U&4i3bL(e7Zj6gC}0NS!#md1dY7B<5cRAg1m zko@4z#?q9jNd|5kfGO!PnTF8Jy{VZyH~*Sok?$U84-5`HFUIdZevHFV-=;`O;<&i` zFzFbUuH!rHewW>!#K4ehjm!l433!-y?6hK5!w(Osyvq0qMO&Sb7=>#b((aosW``Fv zXA&M?h-iD)(Ee4%lHSbFrDu!@7BWo3&NX<*)XdUif@m+S>mRosU$~XG!iw-Juz5!K zq?WHTN1UgV2ZVO3+GE`x-B_k?3~3Dsv8D8P&A~O8vfQ&{v|Kus8c-bjs}Pyl^?X)7 zfhcvi>uzUm*XRo?Zl@NjCuvvoVh19^ztr67AdQUZ($!t2d64lYIHbCEDu!V&VGKo- z;`$@Y-|6Uv@MO6Pr)VeWpJ+>5mAr3|`M~w^x@H}!ROCV2BQ9zRpD%mc84EdfD;5qe z*az{^_nJGES80J)O$h@UyQX5m#{f+*lzX80dntlL zqqxOLPHn-_FK2}^E$5STh!`fq>1Tf9f1ikhh|0kaqY{~^Hfg@f!Z~s=Tt(wD^kWMl z=biX%Hyt@%(ekzwI6HF6((;>+_dvjB#l0ALq0tvaf7TvX&g85Zf1y5})+n1@UXHnf zJqi)%o%sKL@)~8kIyg`3%XV1#HDXAA_pn)8CLNTz(hCI~nva@mi{1L6?hm7cwH*%e+B_;Pu^=$x;VUkQF6ArZeb zyC*bPCpijV9rR^Xeyet_u?#4`Zeo)pu9OnBsb}KT-m8<-!zOP=&+Bur-6-X4k$^A)XM3jxz()yy5#Mqej}40+i)+w!=;|7- zKl`~MBY@iIpOVGDQZr2P`L)j%PFlo1RoUzlr2UeIwwX3TKTm}UN4`w)dYT<89~U?% z#PFrYrX!HTN516W!WAt3+4V?}RAH-<=JQHv4|5m8tsj!fsTxUN;UWNzlYam~Eg3 z+08n{oPOQy-`{%E<^7{Kzg+L!I674DcWeT!YAX9Z1&P{E*>zPI$3>y3R?|&`baVY!@Vo$tApJDSUFgCIW$%wsY z5>~2aEkU%`Oe-w-Wv`*3ydvUL`T4`EkRv9)DFH&qf+Q`DE6!by5mC*k`pox~h%h(O zEfMlaXe@=wMOUE8Db@CGzJA2ec>M)Ki7!@?I$n{&cEYuXSO2=laV!x3L$g_vwxX6p})Czhuu$Zp(+_C|^{?zrcN zU2qj|^8@=klg7n$u$C6)?q0Kdt!RI%Tw}v#?%kJL%U=hqTpPh7SAIID{KaWDeI3$C$03t;w3zZ19lm zGQf)Xy%xp4d-U*NCcAa_HBP=b3oUaAGvi`E{7A%!q7^&1w;)}tq7b2 zc=KWUCrRMjuTZv#|AvGRMS)(Y`t)n=4-Sd{eEzfVi+mn0yOG-9taW=^|F%!wvM!g0 z39wi8KGQO8Orm(?7UxVO?TcZ;{;Zu((w&oTA1Jx{-0$scC*q!ZW^QET*;l3~cf4$$ z6JZrYLfV_Izz8J3l3mn#f__{JlF^8ZXJg-=K3&VHrgQD2kC-6us*qLH^&bX=cChF$ zSWp&!I6*XA8rOj9Yp2Q4?Z;YuM>1*ykG>vi-#?3wd%wFnzOK&iVd7ERXBEvOM z4Od#I4L;=-XE`1vuOtcuP=vLKS^*xyojOd{qxY`$_bh}|XI`wy^Ep=o2cO%|0 zDWeC&qGqd@QuI0MRm8VhXw}ymz0PY+dVK-c)_jwgRBI7bx+Q0Uv1!53?rwtYz|Cp6 z1?+_qTTq$K346GL8gRmJ6IfLFneMR4#@QyR?9e>N z^WkEGAw7Lu-U*-eWwLdDCz}`Qy|g`eG)a^~d}8i;hTZbE_kl~MDq{mJeYCpx3T)~f zL7SdDyi)%*xW(AoNRhBq)Z=Un3C~SiKgZ)Sq>UE%)_3(>-6Mc5IsO z^@dONyvpGxBbtNO1!sa==O;FLmh?uAy+4Sg)OoJ-KN*%pc(F(Ow2b7n-&{NcM*Gau zLL&y;HJ@@NCU$+{!#2B2r!$T+Jv$BXP^m@<3alUS9KpYA7iOv<*#)Cm@vi||p`r32 z1sRIJkraK!RZ15WZ(Zz`QgJzua{`Ol1ppG|vjpk7eA*w*_mwF+FJ-Ic~chtG#X2nZ(1C%Jxg-(qB^pvnh28E>Sf)1T$nfUO#Y^ zTDO)#pho|X{uYf3oU1-3U0Wx<=R~Ac2ah>--~@@2$mwrPOBhWud08V@`OegUvwvdk zhigA$^=Nshg8ze&{M!#Ezl`Y?$s7%h=T@-x{ZUym?{!5W9W2Y!EQCQH}9n z7+-yQ*eEA&Sj>Et*ZtdjKCG(x!5rC6$eC#yGIr6N#nQI3E}Q9vwP7!j*AgYdtQ+N( zD?cc`GdLjK^#fVO9?^RvYQp_;;OWgXx%VEDRsa@69Ud-@gxKKw=4f|WnWhS3YG#sO zYs}so47?GNhV&6Z;k`tiq>k%DYW(`rr-4SzqNSWW<4^rnNOl8WrIJR9VY^ZaQ_Pxn zp6&?~-1F}E&w)vM56?B+c?V**h`ZYkZ41>u11oiRjVu zE63}I3Xh-EbUhj|EbH4}cX_~$OW^M2OOaOFtHswnGAhohR$>US8*5e~pP@T~5}cDT z_DQ+lD%U!lR1w4HHi%5dx zvf-)oQ0JqcjGPjhwuhSJxk$OZPDeSt;=IF9Tlje8?&rxrnheqne>8l$aJ82^o;kQF zk#rhx(i-J8_mYIS-@o^Ak1U4gAb0qqB*X<)fnuwJ3kl9hZ_Mey%?%5$ul5)u957oI z!uPn*R&>AOYVQ^IFUuwGNZDrDK$0bD&<`L`Yr+E3kMe{y^ZEE)dlqlq9T@UL z!ldwS+4I2d=c+a&s)kEO>u=Z*Q8KXM^@yy?7tbg&aVRH-!HpD>%kg!1x>{wE&_!I? zkHN_d$i+OMZx0_yaE>4S9&jqq$Wk~TTpyX18nA`p z=NacAGu!a|gl2$BRsO*6E6()GCDol}8tJbb%~dP-4w0dxDV#Wt!pT8$DFa*4+&J?= z)rOv1JTN#oA$nj^-YC26Q$Vg|4{;zw`(8!tmVUpHGf$t+g?gRXpV3lGslk9p2j5## z{IZz7o?J_cGUG%D6tNl|zcXj8V?HBtt$8I1nH`e$uRmtFU&OxEh+T2fR?{>`eE-Jc zDQumGJTe?XFgXGY;g~pcRwe0flS0|!?h!k8_psWQeWQsQiqU=M;-em7tYn-w7DL!c zN|NWK@1e>;H7t`IArIsvx`vpxDxpR<6a^plnOt9k54I4&T^1UM9(|P0;3U<)^jry3 zyF;oNjyZ0sJEAK=-`gfrT&muq&{-^aRpnObu@n*An>4-WCKo$4{l!Q-wf)_20;$5c z9#7XKF=fRWn$^;@#i*8aYw< zloC=rZWX|+;|PJxL2sqL&~1D!{zmgnL4e^&Pq!-FK`*h_lTUqPo2-w1X0K+qdO|op zMZL2>ESPp4v5FZvCsQf%(c-p0vQMk+g*1M>*fS|3EeDfbJB7ZOuvcviUIRX!LLAy< z#o;|`FuIZ}75Ak06wUy9l@N;X(Qec20R;n)ijDvWe|{J3Q$V}WSDbKLe)!#h1Yd*x ziv}hierm$`aa+xL4K5jdKZcKe-ibz1c`-MfW->sA8;zlYjeMA$WrqP-_|=zh{jpgE zwE-dbY!2iN25Z?AZwm4`*0S&W;j`(ko|34TRnlVF?VwDNbP}~)_Lf?@cgVEPfRiC3 z*(R}F=IV+F8(I0$^uxG>VY(`AS{Gr^U=v{!i`@mMq3VhSzsaj0O)n6JM^*RfOMwlW zGh6dZ{W~58@ZaP*TSACu{gtzUN0Fkgox&6i`it&47Sx|k)2H{14fmywCdU}G(?aVR z&Ch#$tNoh39;$eEOsPC4gu$Z&-rnEG3K5P9Oc^@I3>&+L7=t9ELNcT^)x-VJYXABlPz>Hp_Y|Y#h1Ld0B6(dJpEz=(Y4rH_VQ$ z6ADqe6ciLmwx8wE=l_+%rC)x_pIDA@ zKChM!Q`rIUyZLV|JlDaI=@2b9LA(-|ZI6)?+99NWH+dd&qg4UcwdEQm=W{r(r4Pkp z7USNX3(j39hax!r+KfA=VTJsZT6=}8ym1%n|2n$zcqrE|K1f1Y%1(yt*|J0!hO0)Z?%~-O;*h9D(LMmyJeVeglY}v~;#UNyv%!o0W<@bBszvlhSXP$R? zo_C&e&i8!J`6BsDC{nf0Rv)|Tmg4llCNs8oUwIT(1w2*Nv?MYh% z$c01Vdg^n*Si_TjCtn=>V5@N##!p-4GVAqtf+xK(!Di{L1bBZIDw@?4N z!j@U&$@_Mkv@B046?eE&b{H;@ffQJspUm#ILMe?IZA&XJ!**VnET&V^-MP&G42nyD zPl-@E(F^O3HJmHwWCo4BSDCSzHc^tDX_`;Z@LjfbZ}O0r{0>y;32aDl!_ zQ)C2QX`a}L)P>5fKS(RZ>bk(HP*|*qNlVrx{<|j8rw&5+Nw;CYUD>wU0S)C*q-_C2 z43us^fR#pqj(KhTKkewTtRBxAAZ4r3kYF(Uq@eW`Hmc8$J=*SFq_!k?{OcjpXbu|u z#~!i#f$JluL(X`;SkhIN?YGwDydO}jMviSOH7r+o&!F|z^b-{&sZbo z8A>h$;>$IpfBvtn&@+s~$bmmfNeP3TasI_O$tz%rX1^*^`X$ zRN$6iV7y+eBu|-hWM7I0M>>YF46pbNgiUcAyG3r;2a^CaK$3(hdVS0ijgnYVMbE7H zPJ1PkUZs)?yHosQGv8i3Lye3V=ji-b33V|zXoz~8uU_dp%g=+{2E+b_}v(({tc(O;`l}BkedF&N5uA8&3QI)78Rl7ovTvHGlkB5Q!v6I34X>do5~u z`;EgWj=FUOs|yEOs?GW^b!BgBE!!WF&|O>VlnC~KBBe$ zQLAXB&9%GYUcC0&i)M<@n$teAOTZp*bdH?yzBoeh&;iCfl zF~*VuV+k+J$#O*Kp;aMe0Ysa3ZPiB#g&)b9o6WeBX5Q*Q&-kgLyY(%j@ywnTGalST z1|izU_&dDD5ws|#c(Eu9HJ=e*hTE8Fhs?QCfv~fYPwq!>0J2Gc7Edg zv~MaR{-y|Y+u4@28VvSPCb<050C*joBlV97_3N=kLg$<)rElSUm4D;d{kdb`N6t1U zLIs zd@5@V=%5=?(M-YuK_37gE))OK3{xm<#m1 z4YUJuJd3)Ad?4Nvbeto}z{g|wSrx8vF5@=p0pcj8tHIJK%GaxZsVA(>40)0V5_?sj zL_6^lgSoLbd@RbM3r8YwVX~c&7}`1ap~$qEm3sZU629r@+m+U)Wc6ETdh)Ap=!HW7 z;|fo&0*?Jf1_BgAT4eGs>@s;h7?osR5cbYAoQj{7$%_&V9gt&waEj_v4nl_pe- z<3N8=9{DYN^7rJ=f0(8Oq11!)3$+`NPakXiDS+`ratp!znsMy7uXy^H4rN(J1MOkR z!wC|dgnyd>FiNI*2Txx0?r){F|lXd;?GOPO;&Udq{C<(6bBQ76~ zi^eFhrr9P@|F9<6YOG;AqV#B#eAX|8w0ef; z4cpglh%Rs8Ps_-ba3ugBK);L*BhS@_K4xq4K4TBT?C9oXqS5=NPp!IQH4&&+SJqEm zNu88*3`TbQHpjywG+I*oOS7{|n$oAnc_JOMv@XW$pFnaG)X>;yTovtVCRRRY;k!ML zwKscYhE&vc%I!)hEO=)snCD4+)HM#$I{m8)G(Lk?!}n|N1m#$EmAw907^{PQ){$yh z&q`x=6EzqbpULs_D8D2}DdTQzMX7Ue#D|~*#^iym8d;Hf3~>BnrNdFRhSRb=ip6HM zUnujtT<9+*{~E(U{{XqAE*gfx*aIcrugx9e-FY z()W!9u~6+zo@aK8x=cOK>rLTYW{aHF)x;ctKwLM?-$5jis+UzGa-r!MrOf(Q*GjH8 z-NyeeAr`nmVCfRN3WN5c3TL7uW)iRj!xjUkQopr3*+!WmlmlZ< z93zi)gan?hfrZ`uC{>1rYF?~tSov)hXvFaVTbQth0m^m2p&X~0<1lg@YgW%IuT|y4 zj8KC0zl^K10iw=%$M$oSSv#+z zq*(%NO_teu4`{~sc0(VAC=M_Sdw`;!i!W0R`Vmx~J4Mc-SU#Ok_1>+Bzjh&Z#25ia zcX(q|0(=Y^U$F1ZH@FJ~98r|zjlEaSD(zOdx$`Xk{p??F*BkGDHxMp#jSPOapwgs< zi+wZ30kJ{sMATuHH@%A*)=fyTIX21DK#`!lIq`(5ZBs;pBE=M^QQAJO8DVf!=FRJ= z$DgNi|6KV7opJ%noOmoXo5asMf$7H9Co&TgiR$5M-9%N==yplP-@}F}Z|a;A8mk+} zeYA@#20O0Hh^9VO?3M2s!qz}Hni%fPyDi}I0a0eG!Lq*c@HB)p$BrTR<7uzmxI+bU zGSj;e9=w=3@?J^$pZ*AUr(*aO%zkFdBkDS}?Or=p0AvCTKNK0TmKLGn*iJVrRn&@o z9$`EFDB;9jLa7-gd}}e_dIZd@)75+kPj`f;TM~NaD3#1{;6En8%qv-DTk8lqF3eJ_ zUdm^6*R1(IbNnn@J~KK?X6k!rZ{go}1Jgm7pV_|T!oD5EGYn}i>?<0}*>u99Ru|Xm z?0D1_>9XC>2ccD^{e>G9Y)dC~On}zYQ;8aRkmw~axztpWv_2LIrwlX4SgZ3iS@)4` zmt%oNlK2Z3y@s3>Q&QwM?x@AC^yLFU_r@QMw(Vwpo+`@P^4w!q0;&Is{4V}hhhHMJ z!IXoe2}u3zIEb&ejANe!D2eqpDsfGBM{OR@N!kmAuVfGg5ERwe{oUfgBIe0=>w#u% z=;Jf{fJ7u|{^0m~BX)VQW5l`RtJ-|X=NTiA2RAa5cBK3PxM2Mc$^PlDmA4_m6WJ${5%+9`z&8!$nn=D+0GCiLEif6< zw)q69%`achDEb6(n*{lGSN>yb+Di8>SZmvCL;ULi+kXw98~eF%mvV!BSj2Knyb9#@ zCwSbR3tmXI;__ZoNbP065Gg-b{?YT|Rq_C7$yRa8T(=ce+AaI?JWm&}7_7g`Q^#&T zM1_e!bRx=nX%2QU@N1{cnP|IWLFV&pT?fZ1h`v-|-b8G>E8lF|lRHxRKahM86Bh$W0O{qL=M2t4X6p#zXW$y_FpRYasW| z$t%|euiNqs%9-B6f%z;wk#{0mM927uycD=werx1#6-4KG_KEDf#X=&eK?6V(I6OLp z0;e%pvi=USd7hhn0=Hl7rNbvw4$cK>Trqv(=hg_g32u!KMjOGTwykP^u?B#L;Bv(1@y9nUwrabC6RndyaM37f zhKPV{l75!M#+O^sa6KqMy_C%YO`%g1QsHjw;w_!4ozfuk#|fG$8|4YbeflO^0aT-ETz zEchnXb1IcB$I;X}VS}mNWZeKJc!ST#kBh>w8Zlqs?~|Idw!@o8{hy#C1nb&E1&Z~* zedB4CWi#iwIo}i=aWvciLEf4}K{ezMv^udMWtH+0dE-U5T}P*jIqJ= zB9wUt!WXIWn;&%1+ToL3GkJ+coWH(YVveqvZQ1^}^=lDli6;P;MP>N;;V+PD(vL?wM!IjTG%FI&z zidH1H9AzfLSA+YRF;=4zJX*g+tz zSijq|Im3rJ5$Ieo``t%u9B~$HHre&yG_9jCOM1)K_nw8~4RZs@nN#)xElXUpn*Alr zppfRxYld6R;hbB0J(Ku{r(jr>nH*me#CL zv9H)UUy6 z#6}QED3r2j>XUq|T(JU^NT&u6_)x!1~VAy|dGt{K@HD+P$5A3(~QU2s_7q zfax1MzPcEAyU2-cJ%?a35ZA@Qyf4sI1QL<<&`Ly;8o%HKcfqcM%8w#olOSbC#tT~}dF1ir=H?AK zTZo~Q!>m_uGh`{*K?f4g!2~;0A)_>+;kGcOdGB_rggd&}Yy z8XDEqDwLg8-JIC>F#YLqTB&FX@9Pg2-YB8YaRW_HvDkupxw92GYHB>-$|HDfeD~&? zNOz#q_M3({@bb`=*TJ?meuCRby6FKm#Hsp@FV!`x^Y|6mU=D`obryT2Z&8>QEGN-~ zzxYnXK=TzgQ+DtatL_=k&dr48kZ;O@^~8p@iPKiSK2vL&6X$YuktZ^Q57^wO98i1x zLqyu{Kmm7R^W|PpQ~fB=SD{M@9Z0LwHL^KkS1};DODNaA5#Y9;=r6k)}5U) z9qcx3g-mNl!iP}d$G=0Ca|<)Uy+D}dWnZ*`Q7r4RF!j5 + +
    + +While LLMs have mastered generic coding, Text-to-SQL remains one of the most challenging frontiers in enterprise AI. In many ways this is due to (i) SQL tasks relying on both code and data and (ii) real-world data and databases being quite messy. Focusing on careful data design that accounts for real-world diversity and complexity, we built a [NeMo Data Designer](https://github.com/NVIDIA-NeMo/DataDesigner) pipeline that includes conditional sampling, three-stage LLM generation, code validators, and multi-dimensional judge scoring to generate 300,000 reasoning-heavy text-to-SQL samples across PostgreSQL, MySQL, and SQLite, and automatically filter down to the highest quality 96.5k records. Each sample pairs a natural-language prompt and a fully synthetic database schema context with a target SQL query. To improve robustness and mimic the messiness of production databases, the pipeline injects distractor tables and columns into the schema context, forcing the model to learn to ignore irrelevant schema elements. The final dataset is validated and filtered through per-dialect syntax validators and five LLM-as-a-critic judges. @@ -26,88 +30,104 @@ The problem isn't model capability --- it's **training data**. Most open-source - **Industry-specific schemas.** Healthcare EHR tables look nothing like financial trading systems. The column names, relationships, and business logic are domain-specific. - **Complexity gradients.** Junior analysts write simple SELECTs; senior engineers write recursive CTEs with window functions. Training data needs the full spectrum. -For Nemotron's SQL capabilities, we needed synthetic training data that mirrors production complexity. The key insight: **domain diversity and complexity coverage matter more than dataset size**. +The key insight: **domain diversity and complexity coverage matter more than dataset size**. --- -## **Pipeline Architecture** +## **Pipeline Overview** -The pipeline uses Data Designer's conditional sampling (`SubcategorySamplerParams`) to create correlated diversity across 60 industries, 700 topics, and 90 SQL concepts. It then chains three LLM generation stages with a code validator and multi-dimension judge: +The pipeline generates text-to-SQL training data through a five-stage process. Each record flows through seeding & diversification, three LLM generation steps, and a validation + quality scoring layer. All three LLM generation stages use Qwen3-235B-A22B-Thinking, a reasoning model whose internal chain-of-thought improves schema design and SQL correctness. The pipeline runs independently for each SQL dialect, with dialect-specific prompts, validators, and judge prompts. + +
    +ASCII version of the pipeline diagram ``` - TEXT-TO-SQL SDG PIPELINE - ======================= - - ┌─────────────────────────────────────────────────────────────────────────────────────┐ - │ STAGE 1: CONDITIONAL SAMPLERS │ - │ │ - │ Domain Controls SQL Controls Prompt Controls │ - │ ├─ industry_sector (60) ├─ sql_complexity ├─ instruction_style │ - │ └─ topic (700 subcategories) │ Beginner / Inter- │ imperative / │ - │ ↳ conditioned on industry │ mediate / Advanced │ declarative / │ - │ ├─ sql_concept (90) │ interrogative / │ - │ │ ↳ conditioned on │ contextual │ - │ │ complexity └─ tone, register │ - │ └─ sql_dialect │ - │ PostgreSQL / MySQL / SQLite │ - └─────────────────────────────────────────┬───────────────────────────────────────────┘ - │ - ▼ - ┌─────────────────────────────────────────────────────────────────────────────────────┐ - │ STAGE 2: THREE-STAGE LLM GENERATION │ - │ │ - │ sql_prompt ──────────► sql_context ──────────► sql │ - │ (natural language (CREATE TABLE + (SQL query with │ - │ business request) INSERT statements chain-of-thought │ - │ + distractor tables reasoning trace) │ - │ + dirty data) │ - └─────────────────────────────────────────┬───────────────────────────────────────────┘ - │ - ▼ - ┌─────────────────────────────────────────────────────────────────────────────────────┐ - │ STAGE 3: QUALITY WATERFALL │ - │ │ - │ Hard validation: │ - │ SQLFluff syntax check (dialect-aware: ANSI / Postgres / MySQL / SQLite) │ - │ │ - │ LLM Judge (4 dimensions × 0-4 scale): │ - │ 1. Relevance ─── Does the query answer the business request? │ - │ 2. Correctness ─ Valid joins, filters, grouping, NULL handling? │ - │ 3. Readability ─ Formatting, aliases, CTEs where helpful? │ - │ 4. Efficiency ── Sargable predicates, appropriate joins? │ - │ │ - │ Filter: syntax valid AND all dimensions ≥ 3 │ - └─────────────────────────────────────────┬───────────────────────────────────────────┘ - │ - ▼ - ┌─────────────────────────────────────────────────────────────────────────────────────┐ - │ OUTPUT: 96,500 RECORDS │ - │ │ - │ 300k generated → 96.5k after Quality Waterfall (68% rejection) │ - │ Dialects: PostgreSQL, MySQL, SQLite │ - │ 60 industries · 700 topics · 90 SQL concepts · 100% syntax-verified │ - └─────────────────────────────────────────────────────────────────────────────────────┘ + TEXT-TO-SQL SDG PIPELINE + ======================== + + ┌─────────────────────────────────────────────────────────────────────────────────────┐ + │ STAGE 1: SEEDING & DIVERSIFICATION │ + │ │ + │ Domain Controls SQL Controls Prompt Controls │ + │ ├─ industry_sector (60) ├─ sql_complexity (3 tiers) ├─ instruction_style │ + │ ├─ topic (~700) ├─ sql_concept (89 buckets) │ (5 styles) │ + │ ├─ data_quality_challenge ├─ sql_task_type (12 cats) ├─ linguistic_register│ + │ │ (5 categories) └─ sql_task_concept (94) │ (5 registers) │ + │ └─ knowledge_dependency └─ politeness_level │ + │ (3 categories) (4 levels) │ + └─────────────────────────────────────────┬───────────────────────────────────────────┘ + │ + ▼ + ┌─────────────────────────────────────────────────────────────────────────────────────┐ + │ STAGE 2: PROMPT GENERATION (Qwen3-235B-Thinking) │ + │ │ + │ Generates a natural-language request to a data assistant. │ + │ Grounded in sampled metadata; no SQL jargon; realistic thresholds. │ + │ Style adapts to instruction_style × linguistic_register × politeness_level. │ + └─────────────────────────────────────────┬───────────────────────────────────────────┘ + │ + ▼ + ┌─────────────────────────────────────────────────────────────────────────────────────┐ + │ STAGE 3: SCHEMA + DATA GENERATION (Qwen3-235B-Thinking) │ + │ │ + │ Generates dialect-specific DDL (CREATE TABLE) + sample data (INSERT). │ + │ ├─ 3–5 core tables with PKs, FKs, and realistic constraints │ + │ ├─ 1–2 distractor tables (plausible but unnecessary, with FK links) │ + │ ├─ 3–5 distractor columns per table (created_at, updated_by, etc.) │ + │ └─ Dirty data injected per data_quality_concept (mixed formats, embedded chars) │ + └─────────────────────────────────────────┬───────────────────────────────────────────┘ + │ + ▼ + ┌─────────────────────────────────────────────────────────────────────────────────────┐ + │ STAGE 4: SQL GENERATION (Qwen3-235B-Thinking) │ + │ │ + │ Generates dialect-specific SQL (SQLite / MySQL / PostgreSQL). │ + │ ├─ References only tables/columns from the schema context │ + │ ├─ Handles dirty data with cleaning logic (CAST, REPLACE, SUBSTR, regex) │ + │ ├─ Ignores distractor tables and columns │ + │ └─ Anchors relative time to max date in data (no CURRENT_DATE / NOW()) │ + └─────────────────────────────────────────┬───────────────────────────────────────────┘ + │ + ▼ + ┌─────────────────────────────────────────────────────────────────────────────────────┐ + │ STAGE 5: VALIDATION + QUALITY SCORING │ + │ │ + │ Syntax Validator 5 LLM Judges (0–4 scores) │ + │ ├─ SQL_SQLITE ├─ Prompt: naturalness, specificity, no SQL jargon │ + │ ├─ SQL_MYSQL ├─ SQL: relevance, readability, scalability, standards │ + │ └─ SQL_POSTGRES ├─ Context: relevance, readability, scalability, stds │ + │ ├─ Data Quality: cleaning correctness, efficiency │ + │ └─ Knowledge: application correctness, clarity │ + │ │ + │ 96.5k records pass validation and quality filtering │ + └─────────────────────────────────────────────────────────────────────────────────────┘ ``` -The critical feature is **two-level conditional sampling**: `topic` depends on `industry_sector`, and `sql_concept` depends on `sql_complexity`. This ensures coherent records --- you don't get "Window Functions" paired with "Beginner" complexity, or "Electronic Health Records" paired with a "Finance" industry. +
    --- -## **Step 1: Semantic Sampling with SubcategorySamplerParams** +## **Step 1: Seeding & Diversification -- Controlling Diversity at the Source** + +Rather than relying on LLM creativity alone for diversity, the pipeline samples structured metadata that deterministically controls every axis of variation. A JSON taxonomy file defines the problem space: + +| Axis | Categories | Subcategories | Role | +|------|-----------|---------------|------| +| Industry sector | 60 | ~700 topics | Domain grounding (Healthcare, FinServ, Gaming, ...) | +| SQL complexity | 3 tiers | 89 concepts | Difficulty level (Beginner → Advanced) | +| SQL task type | 12 categories | 94 concepts | What the query does (analytics, transformation, ...) | +| Data quality | 5 challenges | 12 concepts | Dirty data to inject and clean | +| Knowledge dependency | 3 categories | 8 concepts | Implicit reasoning required | +| Instruction style | 5 styles | -- | imperative, declarative, interrogative, contextual, abbreviated | +| Linguistic register | 5 registers | -- | formal, conversational, technical, academic, direct | +| Politeness level | 4 levels | -- | none, minimal, polite, very polite | -Standard categorical samplers draw independently from their value lists. `SubcategorySamplerParams` creates hierarchical dependencies, controlling the distribution of the data through what we call "Semantic Blueprints": +Standard categorical samplers draw independently from their value lists. Data Designer's `SubcategorySamplerParams` creates hierarchical dependencies --- what we call "Semantic Blueprints" --- that ensure internally consistent records. When `industry_sector` samples "Healthcare", `topic` is drawn only from healthcare-specific subcategories. When `sql_complexity` samples "Beginner", `sql_concept` is restricted to foundational SQL operations. This is the difference between realistic training data and random noise. ```python import data_designer.config as dd -from data_designer.interface import DataDesigner -config = dd.DataDesignerConfigBuilder(model_configs=[ - dd.ModelConfig( - alias="sql-gen", - model="qwen/qwen3-235b-a22b", - provider="nvidia", - ), -]) +config = dd.DataDesignerConfigBuilder() # Industry → Topic (two-level conditional) config.add_column(dd.SamplerColumnConfig( @@ -138,13 +158,7 @@ config.add_column(dd.SamplerColumnConfig( }, ), )) -``` -When `industry_sector` samples "Healthcare", `topic` is drawn only from healthcare-specific subcategories. This is the difference between realistic training data and random noise. - -The same pattern controls SQL concepts and prompt diversity: - -```python # Complexity → SQL Concept (two-level conditional) config.add_column(dd.SamplerColumnConfig( name="sql_complexity", @@ -158,153 +172,194 @@ config.add_column(dd.SamplerColumnConfig( params=dd.SubcategorySamplerParams( category="sql_complexity", values={ - "Beginner": ["Basic SELECT", "WHERE Clauses", "Basic JOINs", - "ORDER BY", "LIMIT/OFFSET", "DISTINCT"], - "Intermediate": ["Aggregation Functions", "Multiple JOINs", "Subqueries", - "Views", "CASE Expressions", "Date Functions", "String Functions"], - "Advanced": ["Window Functions", "Recursive CTEs", "Stored Procedures", - "Query Optimization", "JSON Extraction", "Lateral Joins", - "Pivoting", "Dynamic SQL"], + "Beginner": ["Basic SELECT Statements", "WHERE Clauses", "Simple Aggregations", ...], + "Intermediate": ["Window Functions", "Recursive CTEs", "Correlated Subqueries", ...], + "Advanced": ["Frame Clauses", "Pivot/Unpivot", "Geospatial SQL", ...], }, ), )) -# Dialect control -config.add_column(dd.SamplerColumnConfig( - name="sql_dialect", - sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams(values=["PostgreSQL", "MySQL", "SQLite"]), -)) +# Task type restricted by complexity via conditional_params +task_type_conditional_params = { + "sql_complexity == 'Beginner'": dd.CategorySamplerParams( + values=["Foundational Queries & DML", "Data Quality & Validation", ...] + ), + "sql_complexity == 'Advanced'": dd.CategorySamplerParams( + values=["Advanced Analytics & Windowing", "Schema, DDL & Performance", ...] + ), +} -# Prompt diversity: linguistic register, instruction style, politeness config.add_column(dd.SamplerColumnConfig( - name="instruction_style", + name="sql_task_type", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams(values=[ - "imperative", "declarative", "interrogative", "contextual", - ]), + params=dd.CategorySamplerParams(values=list(task_types.keys())), + conditional_params=task_type_conditional_params, )) ``` -We systematically varied the linguistic register (formal vs. colloquial), instruction style, and politeness level to robustly handle any user persona. A CFO asking "Can you pull the Q3 numbers?" and an engineer saying "Write a query that joins sales on customer_id" should both produce correct SQL. +Prompt diversity is controlled independently through three additional samplers (instruction style, linguistic register, politeness level). Because these are combinatorial (5 × 5 × 4 = 100 style combinations), even records with identical domain and SQL metadata will produce stylistically distinct prompts. A CFO asking "Can you pull the Q3 numbers?" and an engineer saying "Write a query that joins sales on customer_id" should both produce correct SQL. --- -## **Step 2: Three-Stage LLM Generation** +## **Step 2: Generating Natural-Language Prompts** -The pipeline chains three LLM columns, each with a focused task. This decomposition is essential --- when you ask a single prompt to generate all three, the SQL tends to reference tables that don't exist in the schema, or the schema doesn't contain the columns the SQL needs. +The prompt generation step produces a single natural-language request to a data assistant. The LLM receives all sampled metadata via Jinja2 template variables and must produce a request that: -**Stage 1 --- Natural language prompt:** Generate a business request that *implicitly* requires the sampled SQL concept, without using SQL jargon. +- Describes a **business problem**, not a SQL specification (no SQL jargon allowed) +- Matches the sampled instruction style, linguistic register, and politeness level +- Implicitly requires the sampled SQL concept, task type, data quality handling, and knowledge dependency +- Uses realistic thresholds appropriate for small sample data (5-10 rows per table) ```python config.add_column(dd.LLMTextColumnConfig( name="sql_prompt", - model_alias="sql-gen", + model_alias="prompt_gen", + system_prompt=( + "You write natural-language requests to a data assistant. " + "You adapt your writing style based on the specified instruction style, " + "linguistic register, and politeness level." + ), prompt=( - "Generate a natural language data request from a {{ instruction_style }} " - "business user in the {{ industry_sector }} industry, specifically about " - "{{ topic }}. The request should implicitly require {{ sql_concept }} to answer, " - "targeting {{ sql_dialect }} syntax.\n\n" - "Do NOT use SQL terminology. Write it as a business person would ask it.\n\n" - "Example: 'For the quarterly review, pull the patient records with their most " - "recent lab test dates.'" + "Write a single-sentence, natural-language request to a data assistant.\n\n" + "## Style Requirements\n" + "* Instruction Style: {{ instruction_style }}\n" + "* Linguistic Register: {{ linguistic_register }}\n" + "* Politeness Level: {{ politeness_level }}\n\n" + "## Grounding Requirements\n" + "* Industry: {{ industry_sector }} / {{ topic }}\n" + "* SQL Complexity: {{ sql_complexity }} ({{ sql_concept }})\n" + "* Task: {{ sql_task_type }} ({{ sql_task_concept }})\n" + "* Data Quality: {{ data_quality_challenge }} ({{ data_quality_concept }})\n" + "* Knowledge: {{ knowledge_dependency }} ({{ knowledge_concept }})\n" ), )) ``` -**Stage 2 --- Database context:** Generate `CREATE TABLE` and `INSERT` statements that provide the schema and sample data needed to answer the request. This is where dirty data and distractor tables are introduced: +Here are example prompts generated from the same underlying SQL concept (window functions) but with different style settings: + +| Style | Example Prompt | +|-------|---------------| +| imperative / formal / none | List each sales representative alongside their quarterly revenue and the running total across the team, ordered by performance. | +| interrogative / conversational / polite | Hey, could you show me how each rep's quarterly numbers stack up against the team's running total? | +| abbreviated / direct / none | Sales rep quarterly revenue, running team total, ranked by performance | +| contextual / academic / polite | For the upcoming performance review, could you provide each representative's quarterly revenue figures alongside a cumulative team total? | + +--- + +## **Step 3: Schema and Data Generation with Distractor Injection** + +This is the most distinctive stage of the pipeline. For each record, the LLM generates a complete database schema (DDL) and sample data (INSERT statements) in the target SQL dialect. The schema must include both the tables needed to answer the prompt *and* deliberate noise: + +- **3–5 core tables** directly related to the industry/topic, connected via foreign keys +- **1–2 distractor tables** that are plausible for the domain but *not* needed to answer the prompt, each with FK relationships to core tables and 5-10 rows of realistic data +- **3–5 distractor columns per table** (e.g., `created_at`, `updated_by`, `description`, `is_active`) that are realistic but irrelevant to the query +- **Dirty data** injected according to the sampled `data_quality_concept` -- stored in TEXT/VARCHAR columns so the schema itself doesn't enforce type correctness + +In production, you rarely get just the 2 tables you need; you're more likely to get a schema with 50 tables, many of which look identical. Injecting semantically similar "distractor" tables --- `sales_orders` vs. `sales_orders_archive`, `customer_leads` vs. `active_customers` --- forces the model to perform schema linking based on column constraints and relationships, not just table names. This is the skill gap between academic benchmarks and production. + +The schema prompt requires four clearly labeled sections (`-- Core Tables`, `-- Distractor Tables`, `-- Sample Data for Core Tables`, `-- Sample Data for Distractor Tables`) and enforces determinism by forbidding real-time functions like `NOW()` or `CURRENT_DATE` in INSERT statements. ```python -config.add_column(dd.LLMTextColumnConfig( +config.add_column(dd.LLMCodeColumnConfig( name="sql_context", - model_alias="sql-gen", + model_alias="context_gen", + system_prompt="You are an expert SQL database architect who designs well-structured, normalized schemas.", prompt=( - "Generate a realistic {{ sql_dialect }} database schema to answer this request:\n" - "{{ sql_prompt }}\n\n" + "Generate {{ sql_dialect }} DDL and sample data for tables relevant to the instruction.\n" + "Instruction: {{ sql_prompt }}\n\n" "Requirements:\n" - "- Use {{ sql_dialect }}-specific syntax for CREATE TABLE and INSERT statements\n" - "- Include 3-5 tables, with at least 1 distractor table that is semantically " - "similar but NOT needed for the query\n" - "- Include realistic data quality issues: dates stored as text, currency symbols " - "in numeric fields, NULL values, inconsistent formats\n" - "- Industry: {{ industry_sector }} / {{ topic }}\n" - "- Include 5-10 sample INSERT rows per table\n\n" - "Return ONLY the SQL DDL and INSERT statements." + "* Include 3–5 core tables for {{ industry_sector }}/{{ topic }}\n" + "* Include 1–2 distractor tables (plausible but NOT needed for the instruction)\n" + "* Include 3–5 distractor columns per table\n" + "* Introduce {{ data_quality_concept }} dirty data issues\n" + "* Use section headers: -- Core Tables, -- Distractor Tables, etc.\n" + "* No NOW()/CURRENT_DATE in INSERT statements\n" ), + code_lang=dd.CodeLang.SQL_SQLITE, # or SQL_MYSQL, SQL_POSTGRES )) ``` -**Stage 3 --- SQL query with reasoning:** Write the SQL that answers the request using the provided context, including a chain-of-thought trace: +--- + +## **Step 4: Dialect-Specific SQL Generation** + +The SQL generation step receives the natural-language prompt and the generated schema context, then produces an executable query in the target dialect. The prompt enforces several constraints that are critical for training quality: + +- **Only reference defined tables/columns** -- the LLM is strictly forbidden from inventing schema elements +- **Handle dirty data** -- the query must clean data issues (CAST, REPLACE, SUBSTR, regex) before computing results +- **Ignore distractors** -- no unnecessary joins or column selections; distractor elements must be left untouched +- **Anchor relative time** -- instead of `CURRENT_DATE`, anchor to `(SELECT MAX(date_col) FROM table)` for reproducibility +- **Dialect-specific syntax** -- SQLite uses `strftime`, MySQL uses `DATE_SUB`, PostgreSQL uses `::` casting and `interval`. Each dialect also has its own explicit limitations (e.g., SQLite forbids `LATERAL` joins and `REGEXP_REPLACE`; MySQL forbids `REGEXP_REPLACE` and `CONVERT_TZ`) ```python -config.add_column(dd.LLMTextColumnConfig( +config.add_column(dd.LLMCodeColumnConfig( name="sql", - model_alias="sql-gen", + model_alias="sql_gen", + system_prompt="You are an expert SQL programmer. Return only the final SQL.", prompt=( - "Write a {{ sql_dialect }} query that answers this request:\n" - "{{ sql_prompt }}\n\n" - "Using this database:\n{{ sql_context }}\n\n" - "First, explain your reasoning step by step:\n" - "1. Which tables are relevant (and which are distractors)?\n" - "2. What data quality issues need to be handled?\n" - "3. What {{ sql_dialect }}-specific syntax is required?\n\n" - "Then write the final SQL query. Use CTEs for complex logic." + "Write {{ sql_dialect }} SQL for the instruction using only the provided database context.\n" + "Instruction: {{ sql_prompt }}\n\n" + "Database Context:\n{{ sql_context }}\n\n" + "* Handle {{ data_quality_concept }} issues with cleaning logic\n" + "* Apply {{ knowledge_concept }}\n" + "* Match {{ sql_complexity }} level using {{ sql_concept }}\n" + "* Do NOT join distractor tables or select distractor columns\n" ), + code_lang=dd.CodeLang.SQL_SQLITE, # or SQL_MYSQL, SQL_POSTGRES )) ``` -The chain-of-thought traces teach the model to *think like a Data Engineer*: decomposing complex problems, handling edge cases, and verifying logic before writing a single line of code. A typical reasoning trace looks like: +The pipeline runs independently for each dialect (SQLite, MySQL, PostgreSQL), producing ~32k records per dialect that are combined into the final 96.5k-record dataset. Separating prompt, schema, and query generation across three stages is essential --- when you ask a single prompt to generate all three, the SQL tends to reference tables that don't exist in the schema, or the schema doesn't contain the columns the SQL needs. + +The chain-of-thought traces from the reasoning model teach it to *think like a Data Engineer*: decomposing complex problems, handling edge cases, and verifying logic before writing a single line of code. A typical reasoning trace looks like: > "The user wants to filter by date, but the 'timestamp' column is stored as TEXT. I need to first normalize this column using STR_TO_DATE before I can apply the WHERE clause..." --- -## **Step 3: The Quality Waterfall** +## **Step 5: The Quality Waterfall** Generating 300,000 samples is straightforward. Ensuring they are correct is the hard part. We implemented a rigorous "Quality Waterfall" that rejected over 68% of the generated data. -### Hard Validation with SQLFluff +### Hard Validation -Data Designer's `ValidationColumnConfig` with `CodeValidatorParams` runs generated SQL through SQLFluff, a dialect-aware SQL linter: +Data Designer's built-in code validator checks each SQL query for syntactic correctness against the target dialect: ```python config.add_column(dd.ValidationColumnConfig( - name="sql_validity", - validator_type=dd.ValidatorType.CODE, + name="sql_validity_result", target_columns=["sql"], - validator_params=dd.CodeValidatorParams(code_lang=dd.CodeLang.SQL_ANSI), - batch_size=10, + validator_type=dd.ValidatorType.CODE, + validator_params=dd.CodeValidatorParams(code_lang=dd.CodeLang.SQL_SQLITE), )) ``` The validator returns `is_valid` (boolean) and `error_messages` (string). Records that fail parsing are flagged immediately. Supported dialects: `SQL_SQLITE`, `SQL_POSTGRES`, `SQL_MYSQL`, `SQL_TSQL`, `SQL_BIGQUERY`, `SQL_ANSI`. -### Multi-Dimension Judge Scoring +### Five LLM Judges -Beyond syntax validity, we evaluate SQL *quality* across four dimensions on a 0-4 scale: +Beyond syntax validity, we evaluate record *quality* across five judges, each scoring on a 0-4 scale: -``` - ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ - │ Relevance │ │ SQL Correctness │ │ Readability │ │ Efficiency │ - │ │ │ │ │ │ │ │ - │ Does the query │ │ Valid joins, │ │ Formatting, │ │ Sargable │ - │ answer the │ │ filters, │ │ aliases, │ │ predicates, │ - │ business │ │ grouping, │ │ CTEs where │ │ appropriate │ - │ request? │ │ NULL handling? │ │ helpful? │ │ joins? │ - └──────────────────┘ └──────────────────┘ └──────────────────┘ └──────────────────┘ -``` +| Judge | What It Evaluates | Scoring Criteria | +|-------|-------------------|-----------------| +| Prompt Judge | Natural-language prompt quality | Naturalness of wording, specificity and clarity, absence of SQL jargon | +| SQL Judge | Generated SQL quality | Relevance (penalizes unnecessary joins to distractor tables), readability, scalability, standards compliance | +| Context Judge | Schema + sample data quality | Relevance (penalizes missing distractors and bare-minimum schemas), readability, scalability, standards compliance | +| Data Quality Judge | Cleaning logic in SQL | Correctness of cleaning logic, efficiency of cleaning method | +| Knowledge Judge | Implicit knowledge application | Correctness of knowledge application, clarity of inference | -Each dimension has explicit scoring criteria: +The SQL judge rubric explicitly penalizes distractor usage: -| Score | Relevance | Correctness | Readability | Efficiency | -|-------|-----------|-------------|-------------|------------| -| 4 | Perfectly meets requirements | Valid SQL, correct semantics | Clean formatting, meaningful aliases | Sargable predicates, optimal plan | -| 3 | Minor deviations | Generally correct, minor issues | Generally readable | Mostly efficient | -| 2 | Moderate deviation | Noticeable semantic mistakes | Inconsistent formatting | Moderate inefficiencies | -| 1 | Significant deviations | Major errors | Poor formatting | Notable performance issues | -| 0 | Does not adhere | Invalid SQL | Unreadable | Highly inefficient | +> *"The SQL should only JOIN or reference tables that are strictly necessary to answer the prompt. The database context may include distractor tables that look relevant but are not needed -- penalize queries that unnecessarily join or reference these tables."* -The judge provides a score *and* reasoning for each dimension, making it easy to diagnose why a record scored low. We filtered to records scoring ≥ 3 across all four dimensions. +Each judge provides a score *and* reasoning for each dimension, making it easy to diagnose why a record scored low. Expression columns extract numeric scores into flat columns for downstream filtering: + +```python +config.add_column(dd.ExpressionColumnConfig( + name="sql_relevance_score", + expr="{{ sql_judge_result.relevance.score if sql_judge_result.relevance.score else ' ' }}", +)) +``` ### Waterfall Summary @@ -313,8 +368,8 @@ The combined pipeline rejected records at each stage: | Stage | Records In | Records Out | Drop Rate | |-------|-----------|-------------|-----------| | Raw generation | 300,000 | 300,000 | --- | -| SQLFluff syntax validation | 300,000 | ~180,000 | ~40% | -| LLM Judge (all dimensions ≥ 3) | ~180,000 | 96,500 | ~46% | +| Syntax validation | 300,000 | ~180,000 | ~40% | +| LLM judges (all dimensions ≥ 3) | ~180,000 | 96,500 | ~46% | | **Final dataset** | | **96,500** | **68% total rejection** | --- @@ -330,11 +385,10 @@ We didn't just generate text pairs --- we generated structured data. Unlike stan | `sql_complexity` | Difficulty tier | Beginner, Intermediate, Advanced | | `sql_concept` | Target SQL skill | Window Functions, Recursive CTEs | | `sql_dialect` | Target database | PostgreSQL, MySQL, SQLite | -| `instruction_style` | Prompt register | imperative, interrogative, contextual | -| `relevance_score` | Judge: relevance | 0-4 | -| `correctness_score` | Judge: SQL correctness | 0-4 | -| `readability_score` | Judge: formatting | 0-4 | -| `efficiency_score` | Judge: query plan | 0-4 | +| `instruction_style` | Prompt style | imperative, interrogative, contextual | +| `data_quality_challenge` | Dirty data type | Type Mismatches, Temporal Drift | +| `knowledge_dependency` | Reasoning required | Domain Knowledge, Implicit Logic | +| 15 judge scores | Per-dimension scores | 0-4 across 5 judges | This allows researchers and engineers to "slice and dice" the training data with surgical precision. If you want to fine-tune a model specifically for Finance analytics using Window Functions in PostgreSQL, you can filter for exactly that subset. @@ -349,10 +403,11 @@ This allows researchers and engineers to "slice and dice" the training data with | Rejection rate | 68% | | SQL dialects | PostgreSQL, MySQL, SQLite | | Industry coverage | 60 distinct industries | -| Topic coverage | 700 distinct subcategories | -| SQL concept coverage | 90 concepts across 3 complexity tiers | -| Syntax validation | 100% SQLFluff-verified | -| Minimum judge score | ≥ 3/4 across all four dimensions | +| Topic coverage | ~700 distinct subcategories | +| SQL concept coverage | 89 concepts across 3 complexity tiers | +| Syntax validation | 100% verified | +| LLM judges | 5 judges, 15 scoring dimensions | +| Minimum judge score | ≥ 3/4 across all dimensions | The high rejection rate is a feature, not a bug. By generating 3x more data than we needed and filtering aggressively, we ensured every record in the final dataset is both syntactically valid and semantically meaningful. @@ -368,17 +423,19 @@ The high rejection rate is a feature, not a bug. By generating 3x more data than 4. **Distractor tables teach schema linking.** Injecting semantically similar but irrelevant tables forces the model to *read* the schema instead of guessing from table names. This is the skill gap between academic benchmarks and production. -5. **Hard validators are non-negotiable for code.** LLM judges can assess quality, but they can't reliably detect syntax errors. SQLFluff catches parsing failures that the judge misses. +5. **Per-dialect generation avoids lowest-common-denominator SQL.** Rather than generating ANSI SQL and hoping it works everywhere, the pipeline produces dialect-specific schemas and queries with appropriate syntax (`strftime` vs `DATE_SUB` vs `interval`, `REPLACE()` vs `regexp_replace`). Each dialect gets its own tailored prompts, validators, and judge prompts. -6. **Multi-dimension scoring enables targeted filtering.** A query that scores 4 on Relevance but 1 on Efficiency tells you the model understood the task but wrote a bad plan. You can filter differently depending on what you're training for. +6. **Hard validators are non-negotiable for code.** LLM judges can assess quality, but they can't reliably detect syntax errors. Syntax validators catch parsing failures that the judge misses. -7. **Chain-of-thought teaches reasoning, not just syntax.** Including reasoning traces in the training data teaches models to decompose problems, handle edge cases, and verify logic --- acting as a Data Engineer rather than a translator. +7. **Multi-dimension scoring enables targeted filtering.** A query that scores 4 on Relevance but 1 on Efficiency tells you the model understood the task but wrote a bad plan. You can filter differently depending on what you're training for. + +8. **Chain-of-thought teaches reasoning, not just syntax.** Including reasoning traces in the training data teaches models to decompose problems, handle edge cases, and verify logic --- acting as a Data Engineer rather than a translator. --- ## **Looking Ahead: The Code Sandbox** -The current Quality Waterfall validates syntax (SQLFluff) and assesses quality (LLM judge), but it doesn't verify *semantic correctness* --- whether the query actually returns the right results. We are actively implementing Data Designer's Code Sandbox to close this gap. The sandbox would execute generated SQL against a ground-truth database and compare results, enabling: +The current Quality Waterfall validates syntax and assesses quality (LLM judges), but it doesn't verify *semantic correctness* --- whether the query actually returns the right results. We are actively implementing Data Designer's Code Sandbox to close this gap. The sandbox would execute generated SQL against a ground-truth database and compare results, enabling: - **Execution-based filtering:** Reject queries that parse but return wrong results. - **End-to-end verification:** Confirm that the full chain (prompt → schema → SQL → result) is semantically coherent. @@ -386,19 +443,348 @@ The current Quality Waterfall validates syntax (SQLFluff) and assesses quality ( --- +## **Try It Yourself** + +The snippet below builds a simplified text-to-SQL pipeline for SQLite using Data Designer. It covers the core stages -- seeding & diversification, prompt generation, schema generation with distractors, SQL generation, syntax validation, and LLM judge scoring. + +```python +import data_designer.config as dd +from data_designer.interface import DataDesigner + +config = dd.DataDesignerConfigBuilder() + +# --- Stage 1: Seeding & diversification --- +config.add_column(dd.SamplerColumnConfig( + name="industry_sector", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=["Healthcare", "Financial Services", "Retail"]), +)) +config.add_column(dd.SamplerColumnConfig( + name="sql_complexity", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=["Beginner", "Intermediate", "Advanced"]), +)) +config.add_column(dd.SamplerColumnConfig( + name="instruction_style", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams( + values=["imperative", "declarative", "interrogative", "contextual", "abbreviated"] + ), +)) + +# --- Stage 2: Natural-language prompt --- +config.add_column(dd.LLMTextColumnConfig( + name="sql_prompt", model_alias="nvidia-text", + prompt=( + "Write a natural-language request to a data assistant about {{ industry_sector }}.\n" + "Style: {{ instruction_style }}. Complexity: {{ sql_complexity }}.\n" + "Describe the business problem without SQL jargon." + ), +)) + +# --- Stage 3: Schema + data with distractors --- +config.add_column(dd.LLMCodeColumnConfig( + name="sql_context", model_alias="nvidia-text", + prompt=( + "Generate SQLite DDL and sample data for: {{ sql_prompt }}\n" + "Include 3-5 core tables, 1-2 distractor tables, distractor columns per table.\n" + "Use section headers: -- Core Tables, -- Distractor Tables, etc." + ), + code_lang=dd.CodeLang.SQL_SQLITE, +)) + +# --- Stage 4: SQL generation --- +config.add_column(dd.LLMCodeColumnConfig( + name="sql", model_alias="nvidia-text", + prompt=( + "Write SQLite SQL for: {{ sql_prompt }}\n" + "Database Context:\n{{ sql_context }}\n" + "Ignore distractor tables/columns. Handle dirty data." + ), + code_lang=dd.CodeLang.SQL_SQLITE, +)) + +# --- Stage 5: Validation + judge --- +config.add_column(dd.ValidationColumnConfig( + name="sql_validity", + target_columns=["sql"], + validator_type=dd.ValidatorType.CODE, + validator_params=dd.CodeValidatorParams(code_lang=dd.CodeLang.SQL_SQLITE), +)) + +config.add_column(dd.LLMJudgeColumnConfig( + name="sql_judge", model_alias="nvidia-text", + prompt=( + "Grade the SQL quality.\n" + "Prompt: {{ sql_prompt }}\nContext: {{ sql_context }}\nSQL: {{ sql }}\n" + "Penalize unnecessary joins to distractor tables." + ), + scores=[ + dd.Score(name="relevance", description="Uses only necessary tables/columns", + options={"4": "Perfect", "3": "Minor extras", "2": "Unnecessary joins", "1": "Largely irrelevant", "0": "Wrong"}), + dd.Score(name="readability", description="Code clarity and formatting", + options={"4": "Excellent", "3": "Good", "2": "Adequate", "1": "Poor", "0": "Unreadable"}), + ], +)) + +# Generate +data_designer = DataDesigner() +preview = data_designer.preview(config, num_records=10) +preview.display_sample_record() +``` + +
    +Full source: sdg_qwen_235b.py (production pipeline) + +```python +"""Text-to-SQL SDG Pipeline + +Production pipeline for generating text-to-SQL training data across +SQLite, MySQL, and PostgreSQL using Qwen3-235B-Thinking via Data Designer. + +Generates configs for each dialect with: +- 60 industry sectors, ~700 topics +- 89 SQL concept buckets across 3 complexity tiers +- Distractor table/column injection +- 5 LLM judges + per-dialect syntax validation +- 15 score columns for downstream filtering + +Requires companion files: +- text2sql_seed.json: taxonomy of sectors, topics, SQL concepts, etc. +- prompts.py: dialect-specific prompt templates for each LLM stage +- rubrics.py: Score definitions for all 5 LLM judges +""" +import json +from pathlib import Path + +import data_designer.config as dd +from data_designer.interface import DataDesigner + +# Prompt templates and judge rubrics (see prompts.py and rubrics.py) +from prompts import ( + SQL_PROMPT_SYSTEM_PROMPT, SQL_PROMPT_PROMPT, + SQL_CONTEXT_SYSTEM_PROMPT, SQL_SYSTEM_PROMPT, + TEXT_TO_SQL_LLM_JUDGE_PROMPT_TEMPLATE as SQL_JUDGE_PROMPT, + JUDGE_NATURALNESS_PROMPT, DATA_QUALITY_JUDGE_PROMPT, KNOWLEDGE_DEP_JUDGE_PROMPT, + SQL_CONTEXT_PROMPT_SQLITE, SQL_CONTEXT_PROMPT_MYSQL, SQL_CONTEXT_PROMPT_POSTGRES, + SQL_PROMPT_SQLITE, SQL_PROMPT_MYSQL, SQL_PROMPT_POSTGRES, + SQL_CONTEXT_JUDGE_PROMPT_SQLITE, SQL_CONTEXT_JUDGE_PROMPT_MYSQL, SQL_CONTEXT_JUDGE_PROMPT_POSTGRES, +) +from rubrics import SQL_SCORES, PROMPT_SCORES, DATA_QUALITY_SCORES, KNOWLEDGE_DEP_SCORES + +METADATA_FILE = "text2sql_seed.json" +MODEL_NAME = "Qwen/Qwen3-235B-A22B-Thinking-2507" + +CONTEXT_PROMPTS = {"sqlite": SQL_CONTEXT_PROMPT_SQLITE, "mysql": SQL_CONTEXT_PROMPT_MYSQL, "postgres": SQL_CONTEXT_PROMPT_POSTGRES} +SQL_PROMPTS = {"sqlite": SQL_PROMPT_SQLITE, "mysql": SQL_PROMPT_MYSQL, "postgres": SQL_PROMPT_POSTGRES} +CONTEXT_JUDGE_PROMPTS = {"sqlite": SQL_CONTEXT_JUDGE_PROMPT_SQLITE, "mysql": SQL_CONTEXT_JUDGE_PROMPT_MYSQL, "postgres": SQL_CONTEXT_JUDGE_PROMPT_POSTGRES} + +# Load taxonomy +metadata = json.loads(Path(METADATA_FILE).read_text()) + +# Model configs tuned per stage +model_configs = [ + dd.ModelConfig( + alias="prompt_gen", model=MODEL_NAME, provider="nvidia", + inference_parameters=dd.ChatCompletionInferenceParams( + temperature=0.6, top_p=0.95, max_tokens=4096, timeout=1200, + ), + ), + dd.ModelConfig( + alias="context_gen", model=MODEL_NAME, provider="nvidia", + inference_parameters=dd.ChatCompletionInferenceParams( + temperature=0.6, top_p=0.95, max_tokens=16384, timeout=1200, + ), + ), + dd.ModelConfig( + alias="sql_gen", model=MODEL_NAME, provider="nvidia", + inference_parameters=dd.ChatCompletionInferenceParams( + temperature=0.6, top_p=0.95, max_tokens=16384, timeout=1200, + ), + ), + dd.ModelConfig( + alias="judge", model=MODEL_NAME, provider="nvidia", + inference_parameters=dd.ChatCompletionInferenceParams( + temperature=0.6, top_p=0.95, max_tokens=4096, timeout=1200, + ), + ), +] + + +def build_text2sql_config(dialect_name, code_lang): + config = dd.DataDesignerConfigBuilder(model_configs=model_configs) + + # --- Metadata samplers --- + config.add_column(dd.SamplerColumnConfig( + name="sql_dialect", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=[dialect_name]), + )) + config.add_column(dd.SamplerColumnConfig( + name="industry_sector", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=list(metadata["industry_sectors"].keys())), + )) + config.add_column(dd.SamplerColumnConfig( + name="topic", sampler_type=dd.SamplerType.SUBCATEGORY, + params=dd.SubcategorySamplerParams( + category="industry_sector", values=metadata["industry_sectors"], + ), + )) + config.add_column(dd.SamplerColumnConfig( + name="sql_complexity", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=list(metadata["sql_complexity"].keys())), + )) + config.add_column(dd.SamplerColumnConfig( + name="sql_concept", sampler_type=dd.SamplerType.SUBCATEGORY, + params=dd.SubcategorySamplerParams( + category="sql_complexity", values=metadata["sql_complexity"], + ), + )) + config.add_column(dd.SamplerColumnConfig( + name="sql_task_type", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=list(metadata["sql_task_type"].keys())), + conditional_params={ + f"sql_complexity == '{c}'": dd.CategorySamplerParams(values=tasks) + for c, tasks in metadata["complexity_to_task_type"].items() + }, + )) + config.add_column(dd.SamplerColumnConfig( + name="sql_task_concept", sampler_type=dd.SamplerType.SUBCATEGORY, + params=dd.SubcategorySamplerParams( + category="sql_task_type", values=metadata["sql_task_type"], + ), + )) + config.add_column(dd.SamplerColumnConfig( + name="data_quality_challenge", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=list(metadata["data_quality_challenge"].keys())), + )) + config.add_column(dd.SamplerColumnConfig( + name="data_quality_concept", sampler_type=dd.SamplerType.SUBCATEGORY, + params=dd.SubcategorySamplerParams( + category="data_quality_challenge", values=metadata["data_quality_challenge"], + ), + )) + config.add_column(dd.SamplerColumnConfig( + name="knowledge_dependency", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=list(metadata["knowledge_dependency"].keys())), + )) + config.add_column(dd.SamplerColumnConfig( + name="knowledge_concept", sampler_type=dd.SamplerType.SUBCATEGORY, + params=dd.SubcategorySamplerParams( + category="knowledge_dependency", values=metadata["knowledge_dependency"], + ), + )) + config.add_column(dd.SamplerColumnConfig( + name="instruction_style", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams( + values=["imperative", "declarative", "interrogative", "contextual", "abbreviated"], + ), + )) + config.add_column(dd.SamplerColumnConfig( + name="linguistic_register", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams( + values=["formal", "conversational", "technical", "academic", "direct"], + ), + )) + config.add_column(dd.SamplerColumnConfig( + name="politeness_level", sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=["none", "minimal", "polite", "very polite"]), + )) + + # --- LLM generation columns --- + config.add_column(dd.LLMTextColumnConfig( + name="sql_prompt", model_alias="prompt_gen", + system_prompt=SQL_PROMPT_SYSTEM_PROMPT, + prompt=SQL_PROMPT_PROMPT, + )) + config.add_column(dd.LLMCodeColumnConfig( + name="sql_context", model_alias="context_gen", + system_prompt=SQL_CONTEXT_SYSTEM_PROMPT, + prompt=CONTEXT_PROMPTS[dialect_name], + code_lang=code_lang, + )) + config.add_column(dd.LLMCodeColumnConfig( + name="sql", model_alias="sql_gen", + system_prompt=SQL_SYSTEM_PROMPT, + prompt=SQL_PROMPTS[dialect_name], + code_lang=code_lang, + )) + + # --- Validation --- + config.add_column(dd.ValidationColumnConfig( + name="sql_validity_result", target_columns=["sql"], + validator_type=dd.ValidatorType.CODE, + validator_params=dd.CodeValidatorParams(code_lang=code_lang), + )) + + # --- 5 LLM Judges --- + config.add_column(dd.LLMJudgeColumnConfig( + name="sql_prompt_judge_result", model_alias="judge", + prompt=JUDGE_NATURALNESS_PROMPT, scores=PROMPT_SCORES, + )) + config.add_column(dd.LLMJudgeColumnConfig( + name="sql_judge_result", model_alias="judge", + prompt=SQL_JUDGE_PROMPT, scores=SQL_SCORES, + )) + config.add_column(dd.LLMJudgeColumnConfig( + name="sql_context_judge_result", model_alias="judge", + prompt=CONTEXT_JUDGE_PROMPTS[dialect_name], scores=SQL_SCORES, + )) + config.add_column(dd.LLMJudgeColumnConfig( + name="sql_data_quality_judge_result", model_alias="judge", + prompt=DATA_QUALITY_JUDGE_PROMPT, scores=DATA_QUALITY_SCORES, + )) + config.add_column(dd.LLMJudgeColumnConfig( + name="sql_knowledge_judge_result", model_alias="judge", + prompt=KNOWLEDGE_DEP_JUDGE_PROMPT, scores=KNOWLEDGE_DEP_SCORES, + )) + + # --- Score extraction (15 flat score columns) --- + for judge, rubric_names in [ + ("sql_judge_result", ["relevance", "readability", "scalability", "standards"]), + ("sql_context_judge_result", ["relevance", "readability", "scalability", "standards"]), + ("sql_prompt_judge_result", ["naturalness_of_wording", "specificity_and_clarity", "absence_of_sql_jargon"]), + ("sql_data_quality_judge_result", ["correctness_of_cleaning_logic", "efficiency_of_cleaning_method"]), + ("sql_knowledge_judge_result", ["correctness_of_knowledge_application", "clarity_of_inference"]), + ]: + prefix = judge.replace("_judge_result", "").replace("sql_", "") + for rubric in rubric_names: + config.add_column(dd.ExpressionColumnConfig( + name=f"{prefix}_{rubric}_score", + expr=f"{{{{ {judge}.{rubric}.score if {judge}.{rubric}.score else ' ' }}}}", + )) + + return config + + +# Build and run for each dialect +data_designer = DataDesigner() +for dialect, code_lang in [ + ("sqlite", dd.CodeLang.SQL_SQLITE), + ("mysql", dd.CodeLang.SQL_MYSQL), + ("postgres", dd.CodeLang.SQL_POSTGRES), +]: + config = build_text2sql_config(dialect, code_lang) + result = data_designer.create(config, num_records=32000, dataset_name=f"text2sql_{dialect}") +``` + +
    + +--- + ## **A Team Effort** This dataset builds on the foundation laid during our time at [Gretel.ai](https://gretel.ai) (creators of the [#1 trending synthetic text-to-SQL dataset on Hugging Face](https://huggingface.co/datasets/gretelai/synthetic_text_to_sql)). Today, we're proud to bring that DNA into NVIDIA, building the data infrastructure that powers the next generation of Nemotron models. **Dataset:** [Nemotron-Text-to-SQL-Internal](#) | **Scale:** 96.5k filtered records | **Dialects:** MySQL, PostgreSQL, SQLite -Key Resources: +Because this pipeline is encapsulated in Data Designer, the configuration can be shared with any team --- allowing them to fork our baseline, swap in their own schemas or industry verticals, and generate a custom, high-fidelity dataset for their specific domain in hours, not months. -1. [NeMo Data Designer on GitHub](https://github.com/NVIDIA-NeMo/DataDesigner) -2. [BIRD Benchmark](https://bird-bench.github.io/) -3. [Spider 2.0 Benchmark](https://spider2-sql.github.io/) +--- -Because this pipeline is encapsulated in Data Designer, the configuration can be shared with any team --- allowing them to fork our baseline, swap in their own schemas or industry verticals, and generate a custom, high-fidelity dataset for their specific domain in hours, not months. +**Key Resources:** + +- **NeMo Data Designer:** [github.com/NVIDIA-NeMo/DataDesigner](https://github.com/NVIDIA-NeMo/DataDesigner) +- **BIRD Benchmark:** [bird-bench.github.io](https://bird-bench.github.io/) +- **Spider 2.0 Benchmark:** [spider2-sql.github.io](https://spider2-sql.github.io/) +- **Structured Outputs Dev Note** (related pipeline): [Structured Outputs for Nemotron](structured-outputs-from-nemotron.md) +- **RQA Dev Note** (reasoning data with Data Designer): [Graduate-Level Science Reasoning Data](rqa.md) --- From 428d81c33cc929f967011b2bb1d579cd0debb612 Mon Sep 17 00:00:00 2001 From: Yev Meyer Date: Mon, 9 Mar 2026 19:16:22 -0400 Subject: [PATCH 03/12] correct inconsistencies Signed-off-by: Yev Meyer --- docs/devnotes/posts/text-to-sql.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index 18462ffb9..0c2127b0f 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -1,8 +1,8 @@ --- date: 2026-03-11 authors: - - ymeyer - dnathawani + - ymeyer - mvansegbroeck --- @@ -180,6 +180,14 @@ config.add_column(dd.SamplerColumnConfig( )) # Task type restricted by complexity via conditional_params +task_types = { + "Foundational Queries & DML": [...], + "Data Quality & Validation": [...], + "Advanced Analytics & Windowing": [...], + "Schema, DDL & Performance": [...], + # ... 12 task types total +} + task_type_conditional_params = { "sql_complexity == 'Beginner'": dd.CategorySamplerParams( values=["Foundational Queries & DML", "Data Quality & Validation", ...] @@ -386,6 +394,8 @@ We didn't just generate text pairs --- we generated structured data. Unlike stan | `sql_concept` | Target SQL skill | Window Functions, Recursive CTEs | | `sql_dialect` | Target database | PostgreSQL, MySQL, SQLite | | `instruction_style` | Prompt style | imperative, interrogative, contextual | +| `linguistic_register` | Language register | formal, conversational, technical | +| `politeness_level` | Politeness level | none, minimal, polite, very polite | | `data_quality_challenge` | Dirty data type | Type Mismatches, Temporal Drift | | `knowledge_dependency` | Reasoning required | Domain Knowledge, Implicit Logic | | 15 judge scores | Per-dimension scores | 0-4 across 5 judges | From e811e6febd2c8eae1b9fdccbe8ca93be911090e9 Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Tue, 10 Mar 2026 14:20:15 -0700 Subject: [PATCH 04/12] docs: address PR #349 feedback and add BIRD benchmark results PR feedback fixes: - Fix Window Functions contradiction: Key Takeaway #1 now uses "Geospatial SQL" (Advanced) instead of "Window Functions" (Intermediate) - Fix score-0 truthiness bug: use `is not none` instead of truthy check in Jinja2 expression columns (inline example + production pipeline) - Soften Code Sandbox language: "A natural next step would be..." instead of "We are actively implementing..." - Cut Gretel reference per mvansegbroeck: replaced with NVIDIA/Nemotron team description - Replace Qwen model references with Nemotron per mvansegbroeck: MODEL_NAME, ASCII diagram labels, Pipeline Overview prose - Rename sdg_qwen_235b.py -> sdg_ndd_text2sql.py per mvansegbroeck - Fix Try It Yourself: use MODEL_ALIAS = "nvidia-text" with default provider pattern (matches structured-outputs dev note), remove unused explicit ModelConfig - Remove placeholder dataset link (#), add "Dataset: Internal" note New content: - Add BIRD Benchmark Results section with bar chart (JPG), data table, BIRD caveat paragraph, and Jocelyn Huang acknowledgement (Nemotron Super EX: 26.77% -> 41.80%, +15 pts, beats GPT-OSS-120B) - Replace "Looking Ahead: Code Sandbox" with broader "Next Steps": Code Sandbox, RL on BIRD via NeMo Gym, schema representation, Spider 2.0 - Add Project Summary table at end of post --- .../posts/images/bird-benchmark-results.jpg | Bin 0 -> 104920 bytes docs/devnotes/posts/text-to-sql.md | 79 ++++++++++-------- 2 files changed, 44 insertions(+), 35 deletions(-) create mode 100644 docs/devnotes/posts/images/bird-benchmark-results.jpg diff --git a/docs/devnotes/posts/images/bird-benchmark-results.jpg b/docs/devnotes/posts/images/bird-benchmark-results.jpg new file mode 100644 index 0000000000000000000000000000000000000000..535bc5960549b226c2083870d4ba5db87b8da05c GIT binary patch literal 104920 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
    @O zRFpRfzh@5zw-FQiCa7BO`Oj`5F*{D0gjWyNj8WT5&4}QvQlGUHypRPsg#_g5@O8Xo z%lb)j$Se_o<;llkt2LqjA$?idp+FT)SzsFr3&xz)FPHC2vQYhj2r zdKuolMA6Y_YpO?<$|vBV#<+si>I;)fx8Rhv^I~izLR8z>s`l>kc6|e@diNg!JC^Rk zZ~geOs2SKWQIg<)uDi$LHEVkS5`ZHTS=T+4xccu1HmEyqwZg#+iB?m2a_ zMd_horCeUr$=W1G)%Iz#Z!f8Kse1ft_Z5k)ZR%1$jfIj#gkFMkNE#x1W4SJmaGFRM zoaj4Sc|GE4I;%!GkG9$U@A66e4dq;^OX%5!I71S%@h3(&(XGICl6+yKPJnK-edxvf zcJNe5iCtJnnm)A{?|Qs`;;QVf z?IgR|ScAkRMV7rYz>nBUIzOmty>CtI#QrRDir1N4Ke}t-y4@ABNVvzFiY(o@pP?R? zN*Y8BqKNXMbF4A5Gm|v!GqhfQ6~QFO**U?K#t(LNWeIu<)ZccctssMZ)-~G#&r)Mx zKX6j5m1`sY2bYN)1hbc6B)S^fp7rucWsmM?pz845N{Mk%XPAuTWC3D4M0k`!14YhI zV~F=qaHi|^L;=vaWpubKUB#FT){w)}QQk+PHp<741KKI7T-qZ_cj?OEGpVFCa-k~c z8%i$}XNG3}4!Xaknbo?-)&X5pGw9Yeb&st>T) zy7YF{^;JEkm1nCK_ef}yIbh>t1tn|B%7N*kb(j^C>RYQ;&cuf+=fCU~-CL1DZmSH?i8`l}CDv5NuHGK}3 zk&*H4N^!4aLEDauc4=E_X$>?nqKHu)@3e^^inlKY9qgTK{%UXGmK}ScVHLGAEgOza z{3Cg>KPzu@ut-gP9`s-1e|J67a#3tabrcNfVJM($DmFcNF-ug6>lyg3#L=sVWOBwH<(+Emc=8ul)D-K85t6B~3t zE5;_K-S{ReFxhv`n1)gF+@8=nOYEf3I^vVT<*J#1D8lfZq=#2%OG;Hwd~4yvVe90x z`Tph=SwfkZ%GAr_9GAo5KT60vi-+DtG`oWaCrqmopUoM*MB|JhCrH+~eWE)9!a7rvY@`%7pITF$36Csbd8#4iP5AOI!Er*+-rsZj zZB14su=WKJJP+dQXS0-N)`07QAT@G8(iq0WGPv%=nMG^!ogtr`qax=hSnX%R<#?fs zF)7?L>TJ~)_=(&p3M*yI0yrv|a|wL7Ro+sCwTK*&6tNX~#m-#+@Sn13`eE@^F0LRur@>`m_cavf3gSwO z_T>V<0CQi=HZ+Qt8f1EK(S`6>-LY_1=fmY^Z1<)M8C0CNjf0QJnq{O@T|OK?oVwdd z_(pzdgaoyzk^hV8KTo@}J$-!Za^Ni++x zy)SVjzzr<-DMmET5E3Dl_gvKl@f@u_rA}l-~BP<1bWi^q?0;N1?bID8OM~4>;^0TXfEwGaSI$IJU^UL;nkv;h<_{C%F$Q z*~@EWn#ipK{iyXh_%}|zn>$oUA;XR|1K@)=pFM1(afn5k!n}9iizKowed-xNL_YuK z4h)&Y!@#}xmh+nka5U(e?zhB`v3>?59MYJ;@92Rtl(+5tZguInCj}2fnQ2}8cX>*eMp@`+W3ABmxzkZh&7=hk^ViBvXh&}JH z<%OBfz^r$wSHnfGwb*di<3qzM`sr@#b9tcT@~sK19Q)=}Lc3 zrS|TRY4mI!l&!-7^y(M>k#jIv91|`zUU5Mk0!CKF$MXQFs5d z#AG~-aBq-AjoWNJ`F4e{7Zq84r}(o`qBbVh>Syc-oc~ng4`PqZ-0P*La}Rb&n`ehw zO;N%f;YG}aHw)%^l$Z6U67MMK6t1zb__(O1+*(4>Z8`>^hWdwzX#{P2^=jp;O0k~> zIp6=J8>+0+g&bsmq%>{ubEd25r`W7r`<*VrI@E+RmUT*<#){I)mc>fp@n^*?hN48%{n0%(e?G zdoXf14>%2fS^cpEVcr-`!cSjIx!E?d*k&u-Vnm1|I7xYq5*RLTs&SzxI?;GL|VrR0}@+q4<#g@g-=zjR+S&7P&AYUt(2SB*j6LIDnG3a{3P)=<*?rnLv_F7Ke!*N&oNB|VLBy&`SO*~k! zYn*sxZv9B$SXO!GOMkX~^$1jm%tW`#Pw}mK&Ii|}v(Hi1)aPcOn>=`0xWwy6gs6U& zSswlDVF7=)VTx~v?bIyRxEd*e_Wqvl>pmsa!^Y+r@APe2c0r}v+;2UA?bEIvfq@)X z5d+fo1Qz(iM7uEP6T!;i7Tu=P-K#B%LD5%FM}O8*q&ngHX-`NWuLaoT+R$7=+nmS9rOHgzX5mJ@<8tBBJF^e+Dge@_T0`KH=*<|aV<&@hq@YwECn0rKt7UH~> zA%ze)Xf}sBYLmw?9phH`ZL(eh zQ%z>^uK5|MAi~{&v2g@j^$`~IFiFP?+*)V2rF=MW$rZcFCXWGgTTdZqTC32xUwxz@H-ubAoU#RXu zk13**h&%XWtx%?>iz`i{IP>RQGYsDc^%oqKZIY21k76g0w4Y<&9@XTP;qiTBPi6kK z8bP-dJ$e~TjXxaHewEwVS`&Y)z5k5He%CR2p;rueMsMnL{~T$!cgg)Bf;2fXP{tbG ziAi4For5s9&+#5TrWN3p?WceBx}7F{>6OVviC*BVqd&wF98hJB6*SXRDNMH;xv1!; z*pVg1zdZD2scSp6Y7lb!9qJ@kuI?poUHwK|n~VM%lw=>^m8Y3k`8%0$3dLM4^@p?T z;X3l0MX$R$bkpZ1^9BDM$u#1Mqiwb2s{sw>5U?Trw_yYS6J-KHs#IW|F+z+@Vj-k6 z$6C;349_W20o7QEGz{XzgbfiuRo65j63#l}y)C;NmhX?<)tuM9X1gGC0WIN>^C3Gl zghyPfsHy4UaN)%$g`vxUOUnJw0b;an{VAFQz%7;hf%B*n60$R6{}uQh+Y$Fa8;l?4 zO%gCP-BQ_^qSNAiM;}q{TM6(Xs6~O?G(N`#n<0Rj5A`8Q_?Rz<$_ul6> zHNldNq-1qJu=&WOrWMA`eXp=;Ye?TEarV6OyX=5sG2@c*8r{s+!dt-v-b=_K;G*4v@AXS}ab z%aS?kq+}v$|40@kBj<^)4}J!@62n+z!BbgCbha$VvqpH#Pv5rI@^F-Ihe?>;?H;>( zrI~8>xtdck3mKz$HIGZMBr{4ab+zB#V-i3K=Fn9zGOHn}x?-K8g~~xYLW#obL1>KL zIHFaV^xzk&@YXf&nMdH~6T@vAOWzs%Hf$k)+^DoQCx??`*-dhp-J!Cp4Pj#0zUbM6 z5|YsMT-Icfgn7RYNLvc83SSuw=<~hjpsO?Sb&F(ppPX=?9AD|;Y*R}v_KJvr+bBY{ z;f(7`3FRps1k*=u)$4bkn2!dEk_*8-AtO+h2x0qJjKIDaB)W5QT57ME=!~$m-Rh7z zy?L0kOtoT3buP1Vw_W35dnVIDIyC*7RJ+~TcdqHV7at>UNd+ru@aG#yq^Cd3aY6d6 zT&!^z$&!gzt8SafS}nyeOw6=$EVWqc_2Z62=OYaZ_5GZ^gsC4M4H)>GX&aUMGgxUY z^*drV8v)>z_J-kgs9+>H%e7+nepz+BwaF?6SJh=1SsNP+ztK7dTHv;py4w-H^A;z6 zJk#Up=au_K!$mKU7u}XpopRzFyHT~ihL%%`KV0Zd%~c=zc#)j~P$2E+0y#a9kJ8UN zQ@*rjh_spLbS`MUCpRxYsCV-74N4dJVic0BrwFNxV8FOu0AyvGqSM~+{m4`if z$E!{n+MpX>^;cOszhE+~c4E)3F})bBav_t*&Oh41Y~FRhfdRv1=2S`;dx?2BOek;d zD1NK!)A-HTx3X-)>Fce^#B#W@exr3}Ra0oi0oJkVRQn?N z)8N>#dc{=LS=cT6kNk(YLo~1OYEK3ZLU8)rOxPPU71625#n|Pb&tJ6ir(v5J-t{l; zo@2bk&pH(u=MksxPp|Q$K@S5tiI;dN=22wHVEowho!{}yUbBMt2^S^qh-h|+i+jfT ziJIMzQ;u7#x5+TnC%;EHa@&F|*u|33uJ1WI4XdhIQ{^-JYnol(TZ(BN8Gl{MS8#Pc z_-HlS7Rp0nBuc&i0pVy8aO&|uIV7D@<;3)t-uQ*eso^1CuOrI|x8S~k+A;+h>O?DI zKFih!@tSa9OHb%`52IG$w-%@RW98tRazc(p9Wbnu@lL#ttY_}(F6&DI@AxR;{a1BX z%8)qzM`w|G5xH2P1s>GZnTr2>#V(TZsM+(=4JRbNMdyC=hwN)pI)IryvwRK_2@Wx& zhwq6oZPOBrYDr;k`FbaAG4NI7-?4bb-{JO&s|Z)ue$1mA%lVILgPibVYwa$6t$b$1f9EEjm(Lyy&CsXeY`=uMj$~ zI`ubPSPl9|R(*iUq_5fCo1a39f9bnZ5hvt**`x1x&Lx3t2U;l-Q9o7E? zpq;F0_$bc-)Sg?CVl26uuHZvN#2y%h|EX~9ziEOoLW_qMv3UjT73|q zyS&-FxNlGZ&1VLttQ-Kpz^A%Xz9GuSxJUq~*DU~A1M0RALA2H2AmqaUJgE#N9CMvJ5%bbzX%@kD(X=xOhA041o0ZlUaC4IRGynPQvFTlk^ZY;HIi61WvfXGuM4> zUx;Cf!aE=MQgUrzU-VgjyX0?$p+wiLaVRA``L}lk`WR{b^RrhLZu^Y<`YiBrds4aq zj?NUl5e8gX9U|t06>{RUE+VMoU?ilV85N)pj58lWp+8#wiqhR$g8FsjOemb?1T!Ef zVAc~y{nBbdptFRp=f>}&(3pp)ES;=ssp|J``yERvo*4KQck`J*D$qLY5s2R#i%wE6^gBeu*S8=(jN z6b91zlbisi^BrR0)IN|_^Cb;tG}aQ%31k!Ut87A6-z$R)1;YkJ(;V2B6P_+%k(8St zdIJo#Ld%y1k+39qKyL;ytpR(QTQbH-ZrdGYl>c(=z}d z|BvTqa^m;oaH79Zz5e6*P=XEbud5n>T|)@uc=Y!o#KQ3dBzGi`hLdaiLWlu??CoYb z`06aGcMmMB%EyxA!vNQRu(Tj$IP$>+FCQZ*RIh^NpkWC{3XB%%ehd)?12F-A_9hTE z00h+h5D;#Ie+c*Q&5xB_!|w}H_qQW{?<LJ{YK-11vwlUHm>!K&7n{ zbiryV1#<+(`(Sw?{xU9f2%#Bx1iJZ0vtq@{PwgED#9%NPjd<`%iC7Na!g=r(Fy$x7 z2XK7=CFwr-`+qLU*qmi~_)l|EIrMc9CFI#7O^fR5*Gr{U|!vCd2?j z_i5m#nXOysji5i|5eFG(qJ+;-Zo&@aJJ7-C+Mdi~(6c|~F{tO#`mc{mg2$gxK4onI z>HF<@ux|e88_~_H;ZVF-!?FJ~E8X0`3S{`f9ToB5k`l2NjNVD0-y@BIm^33ENbZSd z?Oq;+fCktdh@>R-e-=p@hJat+kW5l#BU}Ze_m3B#NX(pstH*?}OO%@cuPp^lNjOlN zJs%POL8v}w|EjN3L2WG%fUFlqAJn$X6GMb+9bor0e1J?I;L`a<7tL58crkylqW=`D zBS|-{p$97pMN;J>TmjYB|K9%C?_dO81b%{SnIkry0i3&9;KPGO!At!gChy9^>)%v< zI-<1&*swsDj_Ayv^+ONv`x<`#s9){h<{?hqlfp3}*8d^t6Tgiqf}|=*fPf}7{?Vl6 z9&jK$NshVPOa$L09mFqu+TQ*5`BU>Kkyb|#JAbI2=RKG9e;p{GHCkH{wljNRq3ps| zcu6r@Bvl218mI?I-5>7^(~u-4NdWEfr|t_SxSaZJTgO9Yvu8?Y`vQT~EP%L-4K)=C z&-q_L{7``K{xvM(390!&d;Y~6_W!j!1cT)T(0rizNY&d6;0pPfLj;n`K!x57`$Kah z?7sZ`b>A>V|5M@Ie|;aQAFQ-vK#zVg06qPEbC(bORfjx9ANWMSp9;K$_^ktyBvn0v z5*UK!e+)su!D{28IS>}qA3Er_nOR}@m*QJRU}l)e(O0^Nt^at1-(SB%h@@&xPyjXl zT09p_u6N7+hfskULz)uY}FPmA0JvtCeaInGuIRZvtxX`6&GAl0_EnbQi zI3~2V1NnpPi9vT^PQO0Qe6Us;Kk{xdfyMdTv99;GwE}AUr_w+Kpagl)8t{@N!a-}c zcilkaMZba7`mg;5y0%#pVS8DL*!f5KEi?{~8XKZS@KP)%Vh&c@La}4O^C8L^hBZUc z9YF78W1dn&?w3^TG^jwdl{}_7&_m|G?W;jO4idi|eC8-Ta{C;J0b3wQexL*MPrxSg zJc`nBcb@c*??@FOXh^{4Ddf8l5SU+2jeL~fJC{HL7q;iQl-@vA-0CQTp;B*#*~v~? zTx@m-SrvhRN$U*Aqe{MXPM}r%{pJv-{dMsLg>&mH)^wHJHUz!2YNOz9or*@|mp{^c zpt_~OvS&{XpvBYNnngX#3&!~gNTWi79y1n)4iTvJg_1Sz)#4#727}NRV4w_)bp5Z) zl=^==0UzY=ve6+?!WFd^|L?I12>;(;BKUjH6vynog8Y;MFs&kArQ2*@|8GSQzzX$ME4L<7go{x{*`Em2h&f)(`H2?TN7KJehV0!>Od8(*y zzSCgE29WH}{usU698LX}qPiOrWy$tv<^$B~yp2-N>~x&P z9xoj=J!SYhsCJGf?jkZckkuhIG(^nbY!1pT7<#lgK%gWp*U&jgM)1pqI=i=K{;+*~ zI=HPVY1c(9FLFBYapt9Gs$ULz+$Zx&QLwgHSM;nL-RzJg4|ZJeVRcO$uXx^N z`2AWH9j-Ycp2{@^g7WA~S6GE8`RYj(DBhFN*+#PQ0l%ZNv1Dq}zE*EswsrDztt4bE zN(ql_oszkR8wrhS5W)r(EwhapPoylA$`3ZXoxLTz+}L@s`Pm6~W$e2s9}x?~YLXgh zyE+bSWRQ^*Dz3q7e&;0sto&8@8TGOa6_Ei0S&-rz)zGlL*V? z0=@_*ORL!Ar}A@Xd#Y+)c}>NxtzyYGTvJQ|@fWHaxY4nk!8u9?F(9vBF=esQM_gdC z)a>Mkrqwn2##e4ZR!iYcC&nz=u}202&qrBW;;<=|KLkHGj8eDg4s`eVPep%}H}mLX zM;g={>%u5JWS5+(Au;PP~4R&|S;SS6PQhqF5IR3L+TFChmU)Q7|Fb+mRv|FP9#7 z9qpSVVVDwQ05Qt+!5~{z`d|7ej57XU-Lpx~n;_@j8gWf1v+PW#V)6C1O&9(VWStc( z&P0IYqB^7e^*4yQHbXo!R|fhS91o|<4Yv~AkFppFWd&6F(}NwZelDxb{xjw4P}68N z#n(5;HK5wACZO1i-NM{lM@_k2Eit3cv38(~v#9vdq^3edAfsa{BFGZU_SD~v;iYGq zUw+jvKdYn*04VS1b{Ao{aN{$c0ToZHe=iAWZ^!y%48p^A&)k{fr!S;J*YEEd^$%rV<;fNFMTE`kb4Rq zb8EPGyJ)W9_V=X0-uE-A>h|L;+}VeIa!zH@7RAN|M0td=&*CTLR#Q8JbK*6J19_&1 znJV-y?3%@MWIILG#UzRr9e3G=I0JI>|+_8=HQ%`Q#0dBB#`;e@^*6u zP5Vm0uSF9)J^9xjK0Fs0J9M-%-`c>UkpQmnKXh0VraF|%b++;!A!aN7@B z;b@Wn=3@C9#dAgO@9EgN%am4*Y4CoOWLP$K++&Cd6uaY)Nn88|qV*JB>nsHZKJw(oA)I0= zK{O07Ik8Pt!}hOR%8bHdd1i)Kx(xE28cG+-%VEyn*IcKY{5W+l1y7->u_!>1@o*V> z%wGf2X1N}ky4Gg#DD{SkVUdk4eJ2dY2=l$nRU`Vm=0}a^+Xffhx*@PrhkAm92XM=F zn%jeN^kFXTt>c`&_cAZhYvPk0J-mJT8dr?&mSJ?0k~%dx+to`iLtHZHN9%`i=PF5& zYmeh5kHjia=~hkUadDj%g|s%E$3^V~V@F0?+{fWsEeeL-Ny$6UeZ2yVZyq+1Ieew! z@R8>z+EAr$BASgpXNR3NlU>nK>&~9Xj{CT+JXV*-DUi+)Qmr_W3hPaq%Gk_P9fFQ_ z@xD$>^O5MOV1rj^T^Cl-9QlA*IewvH=q|J0P`1otC zIn~U((W9cwg>Iw8>3aY2!t!?lq`KYZHgROan30Bfw3f6qdjIL?1OF=W=UV zPoTl~Bei+5ol;A5ja)W%=0&Pq*6dfH-g&vMVYvmTmt899jzmoAJMsk#;%gzIo+lVg z!e?+*S-yFcUi4|%!n+PA@yZ_BO5x@%jXRI2JMYd8Lx5FnK9ZyljzWG2fS>C(ROo|A z;`>$QF~=OTRV*oJuQ(C(ZN^cy@m9 zJ@ciU-|o&e21!2=`e4`b_Pay{%+%=1Z5Q1cizelV(P1uP6TO?Qivj89Cr(RX8pm>;AU3 z3BA?8KU}xxh|=>f4nz$z-{ViEpi!Uj<&ik}TB>L+F=$q}fuqh2nfD{2aM_|arDh1# z)OXMB_yRXKoywg%+I;+;%_Z*je8PPSn&OJ}mvX`{zW8U^`Qz^=Y@to3;jFMwWuG=l zE`PIljTn={V1AJyk$X4yiw3T4U1I?=3R75WI15T$d2Q2n@vp`U-Dx>eqtM;kU5$>oFnP=N|+ zx{!qx-)Zgj#)`}93yL5|Py$Ehs;k2k8s40;VrjPW`lfsfxn@KFg{(5y~Q~&hcalTE) za@U1%_4_rPS8QtMnsDnc{rLhg@JcUSdX>!?T-4B1em;3N(;8};K+Sxk`Lqi)_1&VD z^L;+Y3$eT}%x#46C+9hq+N2;+DA~o45>M};$sYdprPtT@ar_&*^yLoAbtQ5O>=v$H z(IomwjfX{nnfE=1Y*r{u_DR4RGI9405&1v;Crcx44tuH`*Wb2`wdN4E`z(26D!=<@ z_~Nm%@NYiHV%lhK%bIperCU8L=WtQUMUOPezyteRIg&$~*!^XLT7xXEuon4{kpjbI z*V13Vs^PKVnM;qBu|fvPHHx+d3YCvmW>9-+iwkT9wruV?iatv`;hp~W5o68nQ$9YW z_jMO-HP1wZ|5#k#`Kh2JpE3;hz*aTp5((>_PZ~tt=@jPSod~01X0F*Ox}Q?G-Zsy1 zUs5??OdP`Uq@m!ht<5$pxN3rWtgVOm=&PLq?41&>Bho5~HsRTqk6%)APRfaSXqciq ziLgATT6`B^`>tO7FN_HcIz)4PE@r1yMe>sWxwsvZ)D}ycH&KONzS17X03E^XoD5~zWq;94M3&)sUH7CVojKl@qk$JjJ=d;j zlu~-i2kwS*vo;HE9(k8NRZ}(4IKHtu2DI(1rI!>1$GZH2T90h_A#NFSJU}p2zb$#Q zQB?SNgEr@)YUApg^m4!Z4U};1;|3Ehz;M608#7^e6AYX2U)o^m7=ovz2T0U&mWHf9 z0-0hg!apZRcR0t0-*~+XRk8e;dHLLiXjV>vkx4|vc$5O0=Mz}Cx)g~QAA<71awBG~ z7uv~lY)Oky_CAB3-+XUVJ*MKKqT(`_!3|*_F17Zg{qU{u3oy|gDGux}ax}kTCc)Qt zo8;W_v;g^Ld+CG|3sX~{I8$B&TiWt7s|99q zg3|69YAYzystR0-D*iH$sc0pj|6mCAej;9yft`8Ix|csv@$lq!Q>|L=4QXwOx3og( z5ANcv%vhLSIEg}uC)%h z8C6ZYz?zx@bP4f|y}WGjA`5(H7|j0;mh+kT!q(!Qu@h8JjsR0U)v>!rZ19HBh-!bO zT%wllAf*}Uc!}{Y({2cMc{d5uHxM^Qb%Oidn?t@rhr*k*9SbIzK5uWTohA8KOY<@z zTIktG0zz7pe&zMaNxK=*u1)`_8bIuptWvczY2%^6oUO}DVOG*L{su0UU;Z)=SxMGM zkVyz^eT;JV2C73 zO!38SEbdLa@XVMFRysq=S0>DcSoB_QzPctU-0cyTedpRO1!xF?49m4mF@?x8vMtU=2&b$qR())3_4Xk`57%2pkiIM;bp1gYN3!2 z$|x3b?r>32wAwX2G%=ki8Op{EP?X&oq zL$%?e0-C8=5a=z+kF^c)J_C6*admYf;#OR%4Sv1FSsVr(x)-e|=QEriYzMBhBNcdI zQ4y{O^Y&<#7Giz7#b~suo*%aV^fx+~BvQKX<6W9B!rV`(s8py#mBY_pO;muR`f+O; z%t#SY8AQ9f5@iav7=z&!)!RRsk@r#Oso^4L1ai?bR7F$oF4ZOPcTef&Gt>X3pq&a9 z5tSpWQSk5LZ-CJne)?Be(*OPb@41rxcbxuroc^DafvwhkN#cCqXFfvu#^k=@59ot^ z$>hy|w4VV*kZ+r4uNa#r<{7W;#=Xr}o2rejP4vlP5S2>MB+=gSu@qgY%Dqf`V35uM z`2hSR*TVJ{;f4gyVUp-Wj6Te$(b})I2jT8@H1hSlcvMlT`NH1({%Cwe--okYqbHNi zU=vuSU6zW#UJ>2(f+)*c2{&V-07H(PBze*RBn_@9g}BUknI&55>zpi!>_>Sxi} zg_su=y^Mo&_o4?M2;N`q>DJ=7cvtdDW~1}Gzt-HNp=Z)DYhvm)fD1kCE&09UJ12Z3 z4Bl<*?mnO?@zrIlyV21oR61&4H&MeIcw_rX>7i}B``p_wvRG2nCLnh5nwtrQ;0)Jk ziCGv_Yhi;~krrJvH_y?Bjw~pF6XRz5N4U1utiIV}xm{U4U1AUBx=^fYwcLEw%uImI z_>^N^Ttrmj`$;2Q0y84jv~#%E0b3B zC6+TLx+aO*)4DS%!7S^%I78_8QtJ#aMM2g^u6*Ah^v&(GA3rpOT!zzHH0W)KIsz|$ z^6@nWK!nyZX3rv=r1sAXHLvke&LGy#FUDDOl0zt`Odr ze_ENK{@mKoX}41ygFyO6%EGKInYx?C{!BWoWN)Rm6m|_Z~M!ax_e@RyuYVNSfuE8}#dy zgiWz&zAM((KL{BP+8yTilJ=in=nJjR~bLhSxCO|JE(%E;6 zj~`qb&>$qSQZm$^O(CI8)ZT}^X^2K+nL$D<{m?eoBQ0|R z!Nso!gSC5y+!ErP9LJFX@3&yi+e|186(zo zl$Hd)?}u~2LcKS|8&tIC&Yn!qe7zLP){e_)Hh~^`1tY!P zT>iLGBju{Xvn5UTUBl)Bz_v_c1P=Ju108X)qhI7aiVV(ZrUb}~o80pd>lG7z`}D+P zkcp34ur_OghQLN#-dBR(hj75VPXgDzuH!9{^$N@CM3;;jqjR2`Hw~$uil(2Kk9^I0 z2F@naKG=dO2LaP&m9&MTT}WsCy{h-|Q)_OTjqI`sNyw-H=o=8!&pUpsl@&_Ik4FQz z5Di?b&5f8Mj;grkTOcrB^?~_O?k?W{Mck>=ALfevXYexwYT_i$fLqdNxMWM*tlb$W_kq#=8JI?K?7C_eEPMk|aJn z^5Z)9l)n<5{QmUHtuW5+s+~io7gyM|@2$}8px$;V&b?5KXBQJRk3w4HnYc>Dxpw8v zq}E#$6&t-5HGaFs=8=+9>|h}WNKv=zAq+rG)}ia7r^nf!hs2Iud~Qe+r-aITkDiT3 zR4j~SP1t|+7kISqLGaza)3Y=rLL-6Tn1sxoV#7FIRjQI;wp#DbTb-(Qggp$nZBVR? zU@G0@W|<-xkki#g{dtHHwzwWFYeKgOM&%SE(T^5RsYOPs5NY+u_ zzdD13jiU*0C_P+83-^9nO{zzruh830K3S$B50!GULs06y-{qURi96y@_Rc`@2dbP2 z_uLY=+@#yOE;^bTMZ`?JU9r%)sw_D8q_Tj}T_wnzllpaO!G&ed88=FJgkOqQSB8gT z(Q9`wlA+2=X?d2*RaMF^3Dq}S`TZU+9&UKK)~!x|v=81Px(J!%Brp)4;mQoz{C%n$ zah27<=&A`zZlN1-rm3_-wRFtRr=Qtc*AKItd`jKn92!D$#`y23MVs6*LV|zY!@C&e zMDhI^y(9^J1?P%*!AyztrS2_tyPU=u3>%3l4TOF-V_0!k7xhhq>-onA?$We!o&JI3#3t#$-s&VgN$1ObR-b6&ezOm0eN`z>yKashvE*92 zoA*@vFb&lA#auK)=i>UsR@-I6(`i=Wj@>^z>nn=~>u>p3$aq;K_Prz#&*mePxiD!_AXAXnGdJvy;b z)k8&-pIMv?tg44MEQC?OaWk9mGXs|UQKB*AWhNW0H|o{bT=}x^b=&R3C159tryjJt z{XD8x>4d>!sp<0mngU#6@{QrM-~F`30| zWP?W{01uagnjgkB3UA)B;gFi&RDb0CS7qzOZ!^y0>QnixZKZE+j^Bq;9ddU>v!Q1* zvMLOlQB?hSPU|48;YVUQn_g$P{Fag|wfF0bI#P_jWj{I*|B?TpVVlj7qR41gr6@^9 zkvb>UE(O^^xAGr84+k1q#uA^1Pp0rNX?V`iHJu`95;52|9JE#Pq+TIZnw_7vneX|f z%hKAbAQ$?xIA4D1xXUP)QIJ*xoJRVBG0P2?_dbGoERjjece)lte$rvpx4q;a%Yx&>%D!AbkcqG)92oH_;&W+ZP4uz zNLgZ*p?$B$Rp*&|u`FY_v3PZ2!K!ZDVxw`7{rz>{g8ZB)G*gdo$vP%kdmMvx!-QDrWU9rPs3uxSu6o5908SgEJv z^3$c*Q@BKY@hXZr;t`D~&8KtEY1L>^&p!KGVd{MQXe7H=Oxjg7V75ZXBX-Ou^o4s; z)Lh;f^bJZSUCdIo<#t^S3^al|lX#nmZCN0C&tg;uhYopwTOROo6W{J=e4LzpV#xQ! z<*H)#b4xV6R8OVN6?x9=t5e!}Shn;LxaXhteCMTACP|m6x8K0MB>e|ZuBe*1J z&wm7uR6p7Jz;j_CF2vSSX1;Z>#oSYgoRb=F(AA|WI$lL-t+(!ug75cP@UOzjEL)mU zz}0~!7jDNKMMa!S&b7FK^DX_JoEodwarTq(p|c|~xr%(*%_#aIe>Q9{v>i{R(Z`X8 z>xQdm?(0k4SNEAvcqEmmM*Aoz^R*HxryE`$yg6#Q4`DYzl@fRDvLyDZC$-jHa!0Su z-AZ5YCP;rrWs|`EbGQYtRViSYu;oaH(S9zQ2YUtwCmA=C$;RszC7LoBrf6!p?!ZAP z&<_mb9@>N3sFxgsXTGe(9{j95xl@LGq8CC08a~-l-6aS%km}ncXnXMqA6|>KBtE$PhiA>eiiXG7KgMLJfu@RmUfeGq%gBvD7Us8Wif;~9nXEl6) zJ}R$>`S!rKx91{XQJ+Zc3) z8`<>Y`w6VX(S0?CTa=6V?dcHD!gXwg%he9@ymrRs^X`G7x#K$L4Rw+G8k7z+3&hTa zUI(ub<>kU)^x>-@ytt%7wD95e$JxV5al(|1ICJ*Cj^z&j&kS6TlOC$7KCT(l$8sgA zsBCuADdiCwO!SfV?|$kQ>)tB=wqYSU>QA%JM!Jay5akH4r3+5B@$e4$Ly)arqEW^x zo|zAxaxbu)_j>d}_{|4_XIx%IStoy?y88=N6oQ3voFQ8MMB{+#qX#;@O^JlC-mNv} zDE8|bFS6|(s%Vnjr8UG1xp2`ZO}$EAg(J<3;$hk&j!l|tuFgV%Uxy7U1?o3;GsQIm z=&^vj3$mtxLDA^XIc}|SEU&FaZhrr25upPQKYIJf7@s$ds%WX=$F6o5qFEMV_kx%| z=i77@<((Kb+fQnO{^FdhE>E)_-prK zmnX!%NDO`NM5mg-F%b~cJ7fg~QfFc1>tVSotgJ@9b&*fhHhbjq0;WdhZoK_@v+AhM zETd{CMyMJ65&%XTEHaN1A7W~~I2W(+*Wc!UtVw%Rhx?_e(JN^~{-@H~EPLwK?cXHR z9(u`$2}-AbH$kfoCyTihEy7$lo=j?az(+|NQW zw{>OLjCYU;2KIBlr5Bi1IWx!K!$2w{m(f5;e^1R3&t8%Ds(gqO)BJ;S#M>#k65j`C zBOks0Sa<~LfZ_?{fBa}e%*Hvm!=%WNfwMnJr(!x*-?et(XM3ex7h$WGE50%2SWeR( zxfJYo982wz9OLlZS<$0*KKWJy> zY&?Z7x5#2yoelRnlUrG$M4+i=w1jc%d@AhHOV*KGey&;HH>Z#4F44^6C^8RfvluWQ zTyCeuzVw(BBwWrQwBJ` zO-QyfoaD@}JPt!46Et8>oQl(H-)1qIw`X5nI{5_B4hTj2*XVG`A5%ly#9=paQ)|)5 zPNQsHNGIbIz9`MxSnXF_PY&q^5bkw+<4d&r&?5z3dEBOx_h!BpB^fL?P+w#-+7z-; ztSh|$Gg;abMtuRK`Z23PmO+v$L^{R-G^A>mETM0&P0`Z>rMxR2(bt2m>d zi^9$N3|PT5!ZU)S#oRCQ5+~6lX)>g96iSV_7r=InoKz`!6#k>x=J<%}oub>*O^GE< zspXZmnI|mcWnak64K|0@h$6w0mT@mumKn2fWRPEG6x#>EOvqGIz zVR*iQLgRKRU^sXZx+c0WNYW%HxqA9RUn+kMgHKEt5RjU+sh6K$cvig|s};E$5ow>j zY~zQ?IJDVr!#_llMCvhGIf1L^$4x0(6yFQu|Es+BifXF+yGF61fPg5yDj?DoL^`p8 zfPnN)1Vow;spMNyK*)B4Vd^F_U0#_JZO@Cb`mMoNMXeq}w0lSlN%H8Xk z6_7NV|2!no1@u!b&69LXx>H>5vOlj1RO0q$VlGKh-N7>DYwq4{CgpD(R(k^@N~S#+ z7QlNo7Vx2x*}|L~9~rX2GnUw;z5lW)Ga&T#p)>m*X9Lw=hqF}zcX^U#_%C!&rEm%C zQ{Cf*77y0djadtY4-AWve3QoRD*p{MU+7I0OR?N>g_){UN1s_Emy=<2SH=KP*|QNI zi+qugmUufRa20edf?fl1?u6A4b`NBY6G=+u|*~SYf zSLAmALZ{X}2G{P7=rQ$JToht{BGhPm^MKB>6K(drI|%J0;pPACEvpH_a$kR8V3)%>aPd=id#q_3wF^`el1G1382bUOBjB3m12A$zJ1xw3<@;yJ{QLWl!o>KMc zqsG+-rkm`2Fmx^ecH>qfiTt=v%kR^DGG2OCmb$H5D%ih&v}6z#7gIldDZ4rGipT?? z7Z7mqRimTMW2(uywekQ7^*EmxkI~E7f7tNRK2h`a;)aDT^EpxF7aD>pKbBdT`fbT} zec07cy&Ig*Up}N|zuTMbXL5u1_fz(RITyioFB7C{(HV@dfIYf4eh< zGJ61T356hhLA8yfr!V7sVgv)nAtGKBm66|4>RR9Mz7f z>t697s;KPDWP}N1CKrrrN?N*YCR*0J%xmp-=C#!jfpYgnJS8uLj%<&U@8MFq|3xsaOtBSF8#FQ}|quUW!Dg^SSkM zsHBN|bQ>b*5`As;)iiYE2eE_ui%o+{%5(XbqQXjxH7s)l#=x3H`+twjm;RaRpDf(8 zJEyOD(+%;MHkB6=eqMAO4DWloV`GayAy@(yw-3SdXsFicilysH=a6Al?npy=T4_YP zSeN2_JBuPs^qB-Afhex@8(D)>I5QS^bt(~WhCu$*Wxj8VCb4rJJ4%@i8IEis#xNg{ zKigt{P=_qiKB@RFBQCk*NKBPOz*;k49rO7G)Md$mj29P+^*@8|DhF1&u3@5(Kf%4o z@PBBSp^~_vSCh5ZG>q{z$}jDErl`+3XhNJ~cn(T)OW{H(3g->W;i<5_r}3q*oNQoTL>RKB^3r0~jJ&e!a(<7OFfmEEfsL|9W`0I7E^HkGB`UQ13; zUZ>YUvjpzQ9)eOQAYb`z!X1U6f1k5%VXBZ_OblduN&)#k@Xhy%B40K&W?1&iryNal z2xSiTZ!p-?d5&D|3Fd>OW2;}nuYX&S-rel<6?Owl++N#lo^!G)_`xnRdc-Au>_^C^ zRLU{U@ppSbRe)@SzMD(D(SwTY2Cv-Stx0C}am2HHa;H&L93cJb00~fM_-m!RF!SPO zV=8*fsPHj=oBjE5v%mhfFQQR`3SvudT#8;Y#8!ujA1%?XE(xw|jUrTjjCY#o^j0Hu z3lnuJ13k6$z3M6|GHdP?S`=EUS&B?=e9;HPk=NA3hH+1+SGT@HjT*+-^@I64>#Hl0 z76P7FkBixRnDi~7o{qP95C?$HP4y|N6j^FUjT42lo9~b-qpfr8p0Rj(TFWb-CS7IODiL()*>azZ%#Rh;kiYk%e^sWn~lK- zrnCRh(14cVN(~Xm(wE6>;7|2O8jhDD;^l5sRHt5eqvnnhT0TMNzMB~X*Zb{3f=G9r z&KOG^m(A+B$`?>Kgql7!9JbUw%?b;iTihFO^iE(^z}#KY;*=l;EB%TD*;8k9ynET* z!CfwV`}IkBMdgOw)8Wq2uF~hQAZRMzi)|De&sVB094T~u!l=tP zCazlXJ8#C4m(eRuv#_#iY;7jXny?wW5?Hz$DJZs6VZoK4Nz1q2c zAqTU|oU|MQxlEs0G_jRZUAFnUtqOLf6NWyl&qaH;_uRN^>s$uVCW*IGZ)Y3TO&u$U zi65ZmX{q|!*aH%c6Znir?l7U9e~y0DZ%-fzOja4arSotJEEWtl%pIsVzsK0_VLp5Q zDqTfv?5dy&S$0L&G;7WO_sl*0PJ^zQlE;mcI%>L>TKo5F(&UogVcz!WUFYl=1lWdv zIMzL&Vg*{x1=s4eqv(fMt-W<7eBGp`Yr30_ zXD1XjP3=T7LF)+VOZ>FzmA{k6WPS|`F7v>6Z%gz!dymeY`Rv{B_!e=j$T9U1!l zXk$RtwNCq7OmaS=buta`*zjJ|UHPgn_5jNgM5#X}?TJvYj$w7gjcQVt{>;xjiC$TH zBZhxb-!Ai01prZ>Mx%+p`+7#W;aSTvDxP}HvE zsQ3Q#e&5FWO?_|~@2&rqVEq43BiR4tf70sUAlQ&*eEv#E46d)M^!W%Pu!{5j+EeD! zg5-o}kAA}z5i^&G&zDVz07FElO}Yic@&m~lLnLX=LzUL_5j8-Q@4nNVQ-|*(vtYV_ zE*>(yLmAnb7>TFvY6>aw*UinJcTxI%U7LX>BGn*%Ic}Hral1lXvs~~eK<2lz>_}lt zxC)Rz8m|A)^vvK;<4jTBEhjN0>!-m=IenLE^Eu6@-+LuG2glvcRWEcy@$(vZmksd( zbxbX?J<+z3%t6eqfXd*xa%;EPE3TxuUmT-su3s1%En|9H`L=BYXr36Fa7Ha@^vqBWIwbtuYS12`xy_4cBwk)Z7ogh6@6k#c{e7g4p^LIMji7YbDOGd+gb&39_m= z-7cNnD`q6Q`x+XqaYd1K2do}4$0tMiTq~*98AW;wkffLE9xU-`jAC9krd(vp{H1~R zW3yCiZmT;*+mw*>sT2IT@r=kwX(aY4Fx>59?0R#QLP9QxR{3bX2m=RM5OV}@eb>Kv zrqXh2vqux;yR`~Z#hk~zqt}emWRe9%{Oc~xh-uCV*{dk07)`vNsqB-)BaMjK6;R#D zI_Zx&+^yp(k^+$=S-r_OZ!;vGgzEGZe90Q*jU4e8gg-t8igMR6R1FX}5Jo5kbmggQ zg1Khqn)u1AX`NIq2`WD&sa(S5IlcHCG48e$?aRGt&dLPVYIl)7ob*|9;_HoQUt12X zg0jb2d?Q8+R*U8$28K1wx+gkAo-4KnM!{LERL5b^e=pBBXI~)9QA(-T{AnKn+)LSP zi!ywRKrfa1XH&nn!9%OpAvrTVc(CJ;ljf3Vg2g1I805}GPaO+62f5-5>`i;Xc)gjj zZ_PB1G}K)G@`04RGB4xDJ|NueBZtHR)`5=2L~Se~26q6=+__qQmibLCA2ti0qRq}u z1$(oxZ<;*qZBv{AQhK(A(LcHaBCjr&yya15c)6u!{;I?xra?l{-b4mExp*KvxH#_j zOU}S3O->nIICgB@@cG~$8sHg-A`xY){BcYC^`VDgMi+Kh`8jg!kz`mAeXZe%Y?U4l zPraH+Pe_2jG#1puAH}TajXS}PG*)W3Y&Xa_a~aKu-(Y^hU~gFag;93P21U|@bv&nv zK%uxWB;zscnmN(_Nz*xq+nyAc^FA~4GdEGX^KTeRi%0HhahtF88;0^Wu~yod=4ymp&f@fRwM!5f0VIM}|X~(gOVQpFYt4)pebr$I5$w z(=-9%vbx`LedWf#$b(Co0BwVjCAuf;-zkznIZ_S(&@`_@=Z+C9IQE_d4zd(634+&d z5Byj)33Ti@X>w1NIr_MRqRcf7lt0bROypDPuoc0{E(s*n&B*TC=mF|1b=>XOPF#)& zC4B>uNu0uK(0f)|_bQM#ggZ5E@Pu&cC;AHNj2GwS6`j^5O91bWZksk0GpyjM&SE`H zX{G1KnFgz?LRP?`Q1*iM6Q%IB6mMm8d-$68gVN%AibCJO(W{`hFydWAH`B+qYoj68 zI&edJQ^&1JD=#LW9Tx5``F0Hs!iBZnzkGOj^g(rJz#Zg-`rL%*D+AAqbT=@&Sgco; zUE9|12z#WG_wX6(3vmt_nsX>(N| zLBts~kx=h<@Q*T7jMgrP`_M|HMdoo zj+46eTXT21>iFF&{k;9GodEeNO!fov5|*U!5$P*T*Ifcrzoatj?!kPHBuw3I(LMHh zUsHMLIrDnNL%fEP+5)a5112${4p#oFUF_nF`2}0^t&7PBj@Q+~zkfHiqcWi3RE0B@sr@*n!siZ^_s?)6J?e9#kEJAXxh z>kL@59TtuZzLS*92ai`SK-PI3Nk+%VeP59flA7ZxI4H}5pM8z|IHqU$=d0hhqC1~5 z1sH|#iayD5Zj>|h*G|hWZmvJGwBArJzcX(&W1^HmyvrLA$+Q=T^V6?;(VMUK<84Fu zqXj$bC!o8zJ%tyx%z%qJ;*_%mIDl=~0ka<-)}zQMpj8C}1cedtaB?6qVyhTq=2G9F z=|CTFU+9%qwPXuaJ~iul?zi$}uxl4(f^5oD#6cb`5hxER}&8g{%w&`lV`<%>nT-`A{D6k5y6h#9k<_1QEE z+rs4esZ|3bn+DayCjfwA4*s|n=icgDG*GrZO_)i0Xjtp@KpZ0YtxNRc`N77%SNBIV zP?0v%Dggle&-^t_2A2Sy5y(jQi)r#+oIx2!7 z#-RQCGQE!W4^=)*ge*WdIQzH2;;H`TJsfIR2k&9@^?SyC3))l^YNs3Mnx-jb=Vaw< zC#A+Ljt+9Te9gb)W>iU-JwXtK7=Hu>EK75s7ctsmk4xqyM1{h`T-QN#OplKdiE36mJ30Eyf3R{C!9$G>>W z;u+@oi@j-TXL{N)rJ(H= z5@)Mw^?Pmt41KFZ_0UEivG&o#uc>V@zztBf4@KkF7nAhvGE!t(#)a zG4HBAiNE+JaA2%1-oM7EVR5#z(hv@^XPV1jiAcaQaalltsF+v?3wLG^iPyzkO1mXo z@GVS@**shK{HKHIHgRIWDux9rg>Os8(|5AFG8PsrR`irL?Hgzq+b){16!=}78DCNW zmP3&%pZLV<$p;4?)Oc&~&ucF$>)o){k}9YXDSL!qc0vh#u>PR>)CXbM{q9q|Y>03t zN-B0El;9P+s@vkEY2-FF_HNDPD3hd2yFBkKwT0r z6{y_i{zK5R0_GrR3fBmUBy0B4<5~)-`2ojr%wacmKCR8}t zvfQdIO1^tK`fNHV^&TY)WBbv-Gp@1Hp74f}Pc|jpBde>a;YQLSA!%%G&c)6ry2g&- z>6Ygr?{<8B@s4lx;tiW{l3vI{4jUyON-rM)u%V9G%8#c++9Fo0LsWG{vO^ukUev2A z_EXgsclOFW`dA#6MD1!M9$qu*T-h=#*jD#h*;JTQJk%`Fnr>P%MO$Vx`3gpPX{)!b z?j)cqndbHnp5O=xq(@|PykmInOwRkN$S!?kir?+e|IkeDH6%NnJ3WU!`S!uHFDYac z14O}x%M@=(FCmLOM`=&!@YzXcOt<{fA76|L)eqP58dZMPU7E zkNcLzh&V8?80UD!K3>ND^u(~@9Al^wWPRdCmv>NKJiFzzfIQfl*(I=`CT}QIKK%VH zU5?mT4^NxcWe7Tr%8Z&*Iw1faJKzJsw#k_EJ43O+U)46ED&mEPrQ>x@-;E}a1+&l`fFhpSICujD3 z0_}p>sfpU)b2G>gU^O&IlYufo*D!ZG7+3ZW%})ReNl$O=!O$@0BTssbhJTyWTeH@V zdzEJ#xjp{)X5#yp{%~knO?uRnZx3aNr|90(fA6Mf4adRV>v>(gQ=Bv2apirYcXf-c%Eq$a;Dw1HouUa(**l4IJh5wDV#r;QmE7y(N0bOC zm_N?9x#ATXRc79Oa#UL`@KC>P__wB@42bXV5v-dD7@!+~bG07j8xm_uN!w*(W5b|x z(LpDaZ$B2-PA_oR`z(3p6r~Y7DUC>MZX2yD>@o~%3Ip!s@2nT~D22f32oo7;i026i zdAi@1)~p=i9e+QA9N!S0Whix}*Eatn*s|oC68@ybTS?v|4Wyb#Y+Z7Y1UHuq|8>df zDRUhT$>amtq%Vg49J42yuTU(;@5YziY34D#NI4LGeT`Y9m^%YJ-KL7y0FnUD>wP|p zuR-{qbem9b1#Q{4#6gPUR+BtUB44ZARRl|O^l|i6k*i#s_zSMDhM< zNxhe?Pe!f33so*(xs@j3dj875_Ep-&f7LCQbnB-pq#*BLZ>{MtR!w#OV2d;Z7KMdO z?`}E@lg?j4oq}tOf_K8v%b9DbPw(Z&8|{ghWC?30s#MAt-)I4!Knm;&k1a?_wL61a zDg#v7JXnV~a&49j-1=-uxs=-xjR!Nl(VGJ0>o9y zmly0>?f9f1#n^2R@^u$fB@*E~hg{C%>R#1JmP&$EXcn`C1qh_uakt9s=i@7DR)$mK zieViVEg%R&?7?~0tIV1cBic{!A!>F-s(7;#5Y7a1BZ14pwMnl-QfcVrCA7)U7^C6d z?@N|KL6s^ADMnvr4+oSVEnI$#L(J0?5~f1r$i5(6A4wKHMjQAX*9ZrMeA1A5=~eaB zha!rvFn$SvGtyWoRn)JxO52Rr(=6F9o6L-+%#1uU1HmavC+^xQ3dM8Y-qs>qzHs9~ zt);yNwU5AQRRMiMEW^TLmpCS%sw;7(FURvoO}6`Itq15@H|B*|9=?igD(%|&(8aOf zIu1BHvS(29NmrfDBBNK|Oo`-bCK;$(7rJxZesl4?a@0yoG=wP56#W-;#d6j^ZP_vM zuVmoZQ%hHN`HSsI=RV$TxSv>oS^pAb*QhryNTs7MrH%p;VM(>?uDREGDs~O#bpk5m zUTYH4?F@LyU(a7$>aM@Q+}I~~GzX%=FDfl4M<7z3BztWSPnL1jW@cF>ZRqPLJHOBL z_L@oI?2L1r(0#Zbv~a@z5px(d>`HCt!cY@(;J|C@EY)X|l!y)bMhvg<662Rt3GaW;o7#KeoBR(`~M54&7mc4HYSGvDE zEcAqj(vqR~5w=`9y?NQ$;3SgvZnM1h&CHVk zFGq^W{f{R#If~klSlD$n!H}7IP-~(NTqZ@wj;?t$#$ptH&e2*+=ha{b{kK03+Bh<>}O!_ z0E^08-Undx66Pfi`PtX$TK05m4%g56UtjIgh2n3w3n+LT)>ww~2<$6*}flP0Gg$#E7;bq9VyW556az}iSy$~ude#<~TU=Lpy%!w-_oQ{z>aTpDvGY~HL z4%Zh`@jw|;GiL>sDbJK=+Zc}4&uVy0TNgrE@nf=6_$1!d#}r;-Qz%yI=~MP3T+2{`mQL003DAr1 z8kXIzg2#8Pgj7Xtq^O0wIHc|uY!&wwtn;}ZE)I^_XlHnq@PHni=x$;t&2ri>AQwRn z2j1-~uoAOz@p#Hta2ph&>`^_k;Dhn#5AMYd`+}-xVtf+-7t)UV2o(qH7P*WfuQ9z* zoymE)enYPc*jzplO@}bJSGlp*$<~y@zkU;tXY+4Alof34#-%{+CW$k6c#CU>DivEG z|8wADl7!n({oQhJaPvuIUAIZkM9+$$XMBp{!b0ObQo@1bS6PGO8@^7jt{&m{i*pAU zoF?RRh$6l+X0?o;!@og)%3z$(>*`&+q_W37*uZCdX+Y2~wSW|Ts7DkbA8lb8RHwro zy@gEdbj;|DzI+}TU52(Y(on<`C~*LSI3T_$R(Z-q7KagEfEse9YA96%J;8w+unA6i z$6-S6(&=gh(HoEM#?Vm}H1K_$CLR@Qfhj%x)s1%e7HOQanH)VR(E>-GV)>k@h>Wmbo#yOwxr2$J!c&3g7o1f@D zGg2B}d!OKHr}n#nQBYv6D>qG{Lvc7*#5+TjfT?>9mBXX3OJ!I|Q-aHcq_4GB zw`JeT<*7txx1a6%uiT#6f9l20RCptqLGECpF492~M6mlWXbS#mX7*pu^Z-M!iv%`n z2KTv%fZo6id|^imIBU&H@nf%pOYWrWn6Y7rx{Fasr1mrP245)uW%6KL^XJ%$^MU^Y5+#G)ET*$~aAB z_?PFP&QNEYn{r9oB*-pRFB`(6a7d0^Opt!>$FRX;FV{gGfz|ePC(I@FR1AyEMc|SX3ZBOG*hxW7Df&ey)Gv zC(aPB&crJtKJo{D5(;$yrdVbS3dZFdHFD|JRXQIoFxBX|{u#7=Mautb{MkgPV~~=M$oqMh?RkI$77C^Xp1^sgjv~Gak6fOR%N%klz$H5*(nmhG zCzO5gI@h7l1DGxyoId+g2S|diLH?o9K-u`Nf{0>LF?jY)@68-}O4@PE&X&)q+v?<- zsi`oAO;f0|a831c)+)@sbteKR|1Z|O;<%d~M3RPeB1n2@3F!)C1E`+xj`S>^)RHT( z;ZC-PDQt@mL|(!#Nq>+jPpmZG-Co8UiHPhu)hT%rDh*9ivs%WiDjJnHv(wcEYkqJj zY-emI6aZ&jR}dCM6sfFQVTxeuAgjC8WhOKC@-9(Wy9N2X(FQz>etD~OUXLcq1)*;k+IlTY63^S zb%3>mm1QU)H(m&rTsH=gKN5Dwwgi`f?!eNt3W0oXwnAxKcL!X zh|Qg+xf~vB;*vvog*Lj3qP2)2g@LkWp?TdIXR!KMrC3(!m}mSta*pkktVeoH1Zm-W zD?EK2`9Is3VOxJW>MIGwF)?`N-n%2d13?D^f;iM?iw7Wnsxm-|%cnNEpbE|WgWs^t z9)V>;>#Gyw1uyRR(*b>NGrrNHTuVmIp^P}U2|6A#=2lgo5HGfcKz5kz|! zfj}t$IqJoOYp7{IpsM)nKXqlB^TUl1gaeJns5xjli_T%oi_C9scKMv*UldkL0N86b zunJshIq~ulA-A31&xD-Q)N*8 z>yZXZtsel2RE-tp4xYCxo%1hn%`qC&;d>_g?Ke|nXg1;~Zn;6A{yBI~o^XKI*hOLi z9^!(|auE2sQ$vHBPkoI|X27kKulhI=59{l)6!A$%l?)VTyOlk-vy}6u2eVlgtN);w zY*D@qb5h8-$3fB&`4byx zp&ILc6YqxCeCivV8|Zk~QJC{AXgP-fX6Qlfc9mNpqi-05eYY)%eS8EFSSWt<7>!X& zX%CqM*YX2uIVbS-t&D?kD$}gLnlk;JP*+R(urF5kgV6&o>^gXXTDc7vT!#JS$ep$N zvvEnPO@!7!)Z5n9hB2~Pq+s>RFH}0zB(-!%Jw8QeM9ZyiJ(y|K+Rt2nErt5LH)@;qTSN#`a#8y{!RLvQtHQn$=IEpMUj}wg33Rv;Taf zsvn^je<^a08ClEJfw*KweB6`#zS_y7Y1mEWHO-d5ixq~-M#iF{MzCGjq@PQEJ$6Ejlfbi(y+ zV8#44%K=HOIpEo;K!3=4kB6~%t1)1G)sArNl#m`eed@l98B{_MO18EV1VbqYnV>{Xp+rrQQS3hL%I}G24}WsV zHHS&uFLPTo+=L}tQ%j0x)T1dh?lgbck5f2*b8DxOyBQ0=);&p`z;CoC$2VQLe@SpSRw2?XT3qrVI$iob;`OdMlk zVV8aOUTP=>!wo0gW8JvcE{Jv9R*<4qVEmr5gSMyAfmabXq3T5YJivLuuSZhc04F@@ z3B>7H_;%8N5><>gSKm9}7kJk`yX<~(8Ijh_;rcLBK6!4G&gCi&M;|IKYWelpXsBn}ue!U2ByXBg&; z6X8io_=mV&W_3Zz+PR zr%FUh)I`A4r-+KK*U)EJ5OYoW#JQwk_xStc>uJ+>$E)FNnYEdz6?LVSzKwZtfyNtm zJGV{?pr&8|@ptg;);a@{qapoYMoM8ya<%UZC|G)}UaKJY7d1rFK{XKmiT`R}1}4sa z;(6i@SL^WhTzO{qd2GzlSnya!HR=;mq!p>0@i5NlvG0F|k-JaA#_?++LUg3W8 zTjjDH{j+6ej~5146fZsA0~dNyAE$dpp0hjrty(fuap}!cv}UhWytcNoS3`Zn>?Y!> zao$RUBa#SP@$1tBEf9fn`faJd8QYnpmEY5Q2+{IB3Tc@>A+u_C znJ&pvzN_*3gI@YrW?OW;+naxS7@2xtm$aA4nt}jc)65r5dD~@!J86&O*KLVk;oo!p zgS=t2h!%_p^7+!K@_m_gfa!zoWe<%M>QrtW)S{d zdx5my<`)9=_XJjB`BF|nOt>^2qg5#40V1V~mO+ip$I@67g?W`2Tkw5i-K|Xc_c&5k z-TtnneP1Tbt6ZB!H$c_37ofbv z;t?x)SLe=1+b6m-RPw6pVWnY)J?uGP&V` zY={to>zb>kv@f=tmh|!`VubqW;}gictjo8&<6SpoDrxW!D+7{NWtCWkRUQgvl&?p@ z?|OMdjY{qS^ylXINhV2@vo}I8hf&+H5}ByFN_aRWr;Q?t07b<+lkUR5;)krSYfZ>1 ztxT-bYzXp}tpj?kRV*wT>4ZuMgoSSqW6GVQ;B%;8?^5%nUriCL^RYjxK!W#ut&VAu zKE?7v{wMe$w+Ge`-UWU4uc$g93`SdvxT>8$tL+?6^i*kxF`p+cl_kKVC;tAYflH53 z9Ehq;9Fli!u8(=F{q^cloOg-Fb(CHzi$_Y{R`bYSo8{plysSmXSZOqQ(u5?7Q2{xU zILYjkQlH!~HSW<60T(reNTY@rl7Xa&X}IuLhsMaNgrx!0@r7CQh92(06^gquAP zfmMBeOCM0vB`OMCNHxliPH1lq@wMy*wEcnCZR)xsqdSO>X3IVipk(UT-~Eg>DxCG=)R=25M@?N$E#Cinxu0>JGHgT(B z5ygiZ0aUX(n!C zbEJc=btlK|Ok{1)veu|20^%9Va(^c3)wqCFX(qjO@K%#rgKF|DD(!AYZ~~Eszq1>rFjlp zHae-oy||eh6A^SW-79#PLfT>N45KNh!EIfW$fmVD5%w~Z<|>qms)lY+Mgx2)K)RdT zNunjF(j2YMqEHu<9Cy>BRQNURx=GtjWcOz^fvq&mm5PIPJa56UchQ~ntBJv5f-ibr zT|izb*IHgXf6qI52>%dB0J+Nk`7aZ5aOMEX_qc&imx7jWbZcxMk&Rt8!F0f4Y=nrw ztwWnwf)%&a{CiD!{oYd;w~DS%)XM7)bG^m)o9c|>XCQWMu3sUAN=B;&4b{$1U>D&7 z4xFvQbE?8^aoNM#bEmUs4cI<1YfSHSMjSFML);oLfv7wQ= z=`gSrpA73TX}d(0#YIGZhnnCbBPEV2wEm$n3X)V;=6I(0zUbkX7yZAuCx2Y}Fn}5H zxNm}@(&2qNr0bA#LoXXA?X84&m9PoUglq1*wDsFK$UKZtLj=~!&a@v@vZ3zhL~V~} z(bhxdmR~We-Zl4!8t3y>XlQBPY@8m1tAJKiMEJ3?FYg#sm)@MDG{p-W$GP^7#oDs( z7yPZ!^d0K~M`zPTS0^Tj?Nsas&){ZO$}txKjGsZS+7VG_A z;`RqXgB|#O2(b4VELyJ4bY8Q^%Aq>BgYV1vhRGee>WIb+l5|R|aIF-ybs7G{>yh(nFhij&owNqZgDmM{jak|tBVQS%TfAt%mj$mGPi#8jW z`XTLv`Blg{ky0|bPORLM3yCu;FnAJg#ra6xThc~zm;!*k1KjAR#r2H~bH z)FTUFoi)^UYENShSeE3tXXE#+_t9BP`-aESl#Ak*I}Z1`L#)F>8yRGt2hi@BlWd76gp#RUwAIAx zai8FOHO^e1~pZ$_;F27i<1&O01BJtL`@N2|$O!M9xd=!VqXik;e+I^~4}IT-S5pV&miF zNsQ?^LqzbFo!KpfQ-1^1 zd+HE@o}M1EhuUi;QGdVMKZJgaLn}cPP=>~^w=gtnMQ?Wp+o;BG<@C@-2satOo1vSx z&UNins;d9oIgUiF>YoEb_L4bVR94R-kudmkgY^o%`#E9{D1{HU4P8VPP?#`Bq;#!` z#gSxEZkdTs#gx{@crFdnDRRKY-rpwxK7wd*qHm3h1IHqYhBtdTu|xnYvKD%v>N zuCvrurymt{F`1#SH9xc`TYeibIXLWBt+ImeT?Z!g(iF@I_Axd0N*yX4>IjQycrw*}|+YTbu!0akv01GfHGhNl0!{hpT^Nz#Y<;xL`g)XSS~iic21Pl(D5 zXV_e7MU!HB#^XN^)E_7Q_Tm;)vHL}Lw~~j?Jazr3OhxjFq3@dwd5&Hwub@F4;bD=f z=7t5W`*FLWKxPIu{6ENI`@bCti!r$h%dWs-#AhE~bxZ9X?y#JZZQ6Od)|nJz!OO^Sz^-%fJe2L@)v&kpy}A9QLQY|KFxg6Ir8D|& z+5ggW`u{T{^8bq2t!{Bez$3_Vz9j)@;ln{o`-|z8;q59szJjA%=_3!8*CoHKvWp5O z2;-6|Hse4Pyy?0;3jhEB literal 0 HcmV?d00001 diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index 0c2127b0f..4e91d321a 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -12,7 +12,7 @@ authors:
    -While LLMs have mastered generic coding, Text-to-SQL remains one of the most challenging frontiers in enterprise AI. In many ways this is due to (i) SQL tasks relying on both code and data and (ii) real-world data and databases being quite messy. Focusing on careful data design that accounts for real-world diversity and complexity, we built a [NeMo Data Designer](https://github.com/NVIDIA-NeMo/DataDesigner) pipeline that includes conditional sampling, three-stage LLM generation, code validators, and multi-dimensional judge scoring to generate 300,000 reasoning-heavy text-to-SQL samples across PostgreSQL, MySQL, and SQLite, and automatically filter down to the highest quality 96.5k records. Each sample pairs a natural-language prompt and a fully synthetic database schema context with a target SQL query. To improve robustness and mimic the messiness of production databases, the pipeline injects distractor tables and columns into the schema context, forcing the model to learn to ignore irrelevant schema elements. The final dataset is validated and filtered through per-dialect syntax validators and five LLM-as-a-critic judges. +While LLMs have mastered generic coding, Text-to-SQL remains one of the most challenging frontiers in enterprise AI. In many ways this is due to (i) SQL tasks relying on both code and data and (ii) real-world data and databases being quite messy. Focusing on careful data design that accounts for real-world diversity and complexity, we built a [NeMo Data Designer](https://github.com/NVIDIA-NeMo/DataDesigner) pipeline that includes conditional sampling, three-stage LLM generation, code validators, and multi-dimensional judge scoring to generate reasoning-heavy text-to-SQL samples across PostgreSQL, MySQL, and SQLite, and automatically filter down to the highest quality 96.5k records. Each sample pairs a natural-language prompt and a fully synthetic database schema context with a target SQL query. To improve robustness and mimic the messiness of production databases, the pipeline injects distractor tables and columns into the schema context, forcing the model to learn to ignore irrelevant schema elements. The final dataset is validated and filtered through per-dialect syntax validators and five LLM-as-a-critic judges. @@ -36,7 +36,7 @@ The key insight: **domain diversity and complexity coverage matter more than dat ## **Pipeline Overview** -The pipeline generates text-to-SQL training data through a five-stage process. Each record flows through seeding & diversification, three LLM generation steps, and a validation + quality scoring layer. All three LLM generation stages use Qwen3-235B-A22B-Thinking, a reasoning model whose internal chain-of-thought improves schema design and SQL correctness. The pipeline runs independently for each SQL dialect, with dialect-specific prompts, validators, and judge prompts. +The pipeline generates text-to-SQL training data through a five-stage process. Each record flows through seeding & diversification, three LLM generation steps, and a validation + quality scoring layer. All three LLM generation stages use a reasoning model whose internal chain-of-thought improves schema design and SQL correctness. The pipeline runs independently for each SQL dialect, with dialect-specific prompts, validators, and judge prompts.
    ASCII version of the pipeline diagram @@ -59,7 +59,7 @@ The pipeline generates text-to-SQL training data through a five-stage process. E │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────────┐ - │ STAGE 2: PROMPT GENERATION (Qwen3-235B-Thinking) │ + │ STAGE 2: PROMPT GENERATION (Reasoning LLM) │ │ │ │ Generates a natural-language request to a data assistant. │ │ Grounded in sampled metadata; no SQL jargon; realistic thresholds. │ @@ -68,7 +68,7 @@ The pipeline generates text-to-SQL training data through a five-stage process. E │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────────┐ - │ STAGE 3: SCHEMA + DATA GENERATION (Qwen3-235B-Thinking) │ + │ STAGE 3: SCHEMA + DATA GENERATION (Reasoning LLM) │ │ │ │ Generates dialect-specific DDL (CREATE TABLE) + sample data (INSERT). │ │ ├─ 3–5 core tables with PKs, FKs, and realistic constraints │ @@ -79,7 +79,7 @@ The pipeline generates text-to-SQL training data through a five-stage process. E │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────────┐ - │ STAGE 4: SQL GENERATION (Qwen3-235B-Thinking) │ + │ STAGE 4: SQL GENERATION (Reasoning LLM) │ │ │ │ Generates dialect-specific SQL (SQLite / MySQL / PostgreSQL). │ │ ├─ References only tables/columns from the schema context │ @@ -365,21 +365,10 @@ Each judge provides a score *and* reasoning for each dimension, making it easy t ```python config.add_column(dd.ExpressionColumnConfig( name="sql_relevance_score", - expr="{{ sql_judge_result.relevance.score if sql_judge_result.relevance.score else ' ' }}", + expr="{{ sql_judge_result.relevance.score if sql_judge_result.relevance.score is not none else '' }}", )) ``` -### Waterfall Summary - -The combined pipeline rejected records at each stage: - -| Stage | Records In | Records Out | Drop Rate | -|-------|-----------|-------------|-----------| -| Raw generation | 300,000 | 300,000 | --- | -| Syntax validation | 300,000 | ~180,000 | ~40% | -| LLM judges (all dimensions ≥ 3) | ~180,000 | 96,500 | ~46% | -| **Final dataset** | | **96,500** | **68% total rejection** | - --- ## **Rich Metadata for Precision Training** @@ -423,9 +412,27 @@ The high rejection rate is a feature, not a bug. By generating 3x more data than --- +## **BIRD Benchmark Results** + +This dataset was shipped in the SFT stage of **Nemotron Super v3**. On the [BIRD SQL benchmark](https://bird-bench.github.io/) (1,534 dev samples, 5-run average), Nemotron Super achieves **41.80% EX** (execution accuracy) --- outperforming GPT-OSS-120B at 38.25%. Including our synthetic dataset in the SFT blend raised Nemotron Super's EX on BIRD by **15 points**, from 26.77% to 41.80%. + +BIRD SQL Benchmark Results — Nemotron Super EX improves from 26.77% to 41.80% + +
    + +| Model | BIRD EX (%) | +|-------|-------------| +| Nemotron Super (before synthetic text-to-SQL SFT data) | 26.77 | +| GPT-OSS-120B | 38.25 | +| **Nemotron Super (after synthetic text-to-SQL SFT data)** | **41.80** | + +**Caveat on BIRD:** BIRD measures *execution accuracy* (EX) --- whether the query returns the correct result set when run against the ground-truth database. This is stricter than exact-match or string similarity, but it can also be inflated by semantically different queries that happen to produce identical result sets on small test data. BIRD's dev set includes dirty data, external knowledge requirements, and multi-table schemas, making it more representative of production SQL than earlier benchmarks like Spider --- but it does not cover all production challenges (e.g., multi-statement transactions, DDL, stored procedures, or the hundreds-of-tables schemas common in enterprise warehouses). Results here are on the 1,534-sample dev split averaged over 5 runs. + +--- + ## **Key Takeaways** -1. **Conditional sampling prevents incoherent records.** `SubcategorySamplerParams` ensures "Window Functions" only appears with "Advanced" complexity, and "EHR Systems" only appears with "Healthcare". Independent samplers would produce nonsensical combinations that confuse training. +1. **Conditional sampling prevents incoherent records.** `SubcategorySamplerParams` ensures "Geospatial SQL" only appears with "Advanced" complexity, and "EHR Systems" only appears with "Healthcare". Independent samplers would produce nonsensical combinations that confuse training. 2. **Three-stage generation beats one-shot.** Separating prompt, schema, and query generation ensures the SQL actually references the tables that exist. One-shot generation frequently hallucinates tables. @@ -443,13 +450,12 @@ The high rejection rate is a feature, not a bug. By generating 3x more data than --- -## **Looking Ahead: The Code Sandbox** +## **Next Steps** -The current Quality Waterfall validates syntax and assesses quality (LLM judges), but it doesn't verify *semantic correctness* --- whether the query actually returns the right results. We are actively implementing Data Designer's Code Sandbox to close this gap. The sandbox would execute generated SQL against a ground-truth database and compare results, enabling: - -- **Execution-based filtering:** Reject queries that parse but return wrong results. -- **End-to-end verification:** Confirm that the full chain (prompt → schema → SQL → result) is semantically coherent. -- **Harder negative mining:** Queries that execute but return incorrect results are valuable hard negatives for preference training. +- **Code Sandbox for semantic correctness.** The current Quality Waterfall validates syntax and assesses quality (LLM judges), but it doesn't verify whether the query actually returns the right results. A natural next step would be adding Code Sandbox support to Data Designer --- executing generated SQL against a ground-truth database and comparing results to enable execution-based filtering, end-to-end verification, and hard negative mining for preference training. +- **RL on BIRD.** Run reinforcement learning experiments using the [NeMo Gym](https://github.com/NVIDIA-NeMo/Gym) RL environment for BIRD, training models to improve execution accuracy through reward signals from actual query execution. +- **Schema representation.** Improve how schemas are represented in prompts to close the gap with SOTA approaches that use richer structural encodings (e.g., foreign key graphs, column descriptions, value examples). +- **More benchmarks.** Incorporate additional SQL benchmarks --- [Spider 2.0](https://spider2-sql.github.io/), [LiveSQLBench](https://livesqlbench.github.io/) --- to evaluate generalization beyond BIRD and drive the next iteration of the pipeline. --- @@ -461,6 +467,10 @@ The snippet below builds a simplified text-to-SQL pipeline for SQLite using Data import data_designer.config as dd from data_designer.interface import DataDesigner +MODEL_ALIAS = "nvidia-text" + +# Build the pipeline (uses default NVIDIA provider via NVIDIA_API_KEY) +data_designer = DataDesigner() config = dd.DataDesignerConfigBuilder() # --- Stage 1: Seeding & diversification --- @@ -481,7 +491,7 @@ config.add_column(dd.SamplerColumnConfig( # --- Stage 2: Natural-language prompt --- config.add_column(dd.LLMTextColumnConfig( - name="sql_prompt", model_alias="nvidia-text", + name="sql_prompt", model_alias=MODEL_ALIAS, prompt=( "Write a natural-language request to a data assistant about {{ industry_sector }}.\n" "Style: {{ instruction_style }}. Complexity: {{ sql_complexity }}.\n" @@ -491,7 +501,7 @@ config.add_column(dd.LLMTextColumnConfig( # --- Stage 3: Schema + data with distractors --- config.add_column(dd.LLMCodeColumnConfig( - name="sql_context", model_alias="nvidia-text", + name="sql_context", model_alias=MODEL_ALIAS, prompt=( "Generate SQLite DDL and sample data for: {{ sql_prompt }}\n" "Include 3-5 core tables, 1-2 distractor tables, distractor columns per table.\n" @@ -502,7 +512,7 @@ config.add_column(dd.LLMCodeColumnConfig( # --- Stage 4: SQL generation --- config.add_column(dd.LLMCodeColumnConfig( - name="sql", model_alias="nvidia-text", + name="sql", model_alias=MODEL_ALIAS, prompt=( "Write SQLite SQL for: {{ sql_prompt }}\n" "Database Context:\n{{ sql_context }}\n" @@ -520,7 +530,7 @@ config.add_column(dd.ValidationColumnConfig( )) config.add_column(dd.LLMJudgeColumnConfig( - name="sql_judge", model_alias="nvidia-text", + name="sql_judge", model_alias=MODEL_ALIAS, prompt=( "Grade the SQL quality.\n" "Prompt: {{ sql_prompt }}\nContext: {{ sql_context }}\nSQL: {{ sql }}\n" @@ -535,19 +545,18 @@ config.add_column(dd.LLMJudgeColumnConfig( )) # Generate -data_designer = DataDesigner() preview = data_designer.preview(config, num_records=10) preview.display_sample_record() ```
    -Full source: sdg_qwen_235b.py (production pipeline) +Full source: sdg_ndd_text2sql.py (production pipeline) ```python """Text-to-SQL SDG Pipeline Production pipeline for generating text-to-SQL training data across -SQLite, MySQL, and PostgreSQL using Qwen3-235B-Thinking via Data Designer. +SQLite, MySQL, and PostgreSQL using a reasoning LLM via Data Designer. Generates configs for each dialect with: - 60 industry sectors, ~700 topics @@ -580,7 +589,7 @@ from prompts import ( from rubrics import SQL_SCORES, PROMPT_SCORES, DATA_QUALITY_SCORES, KNOWLEDGE_DEP_SCORES METADATA_FILE = "text2sql_seed.json" -MODEL_NAME = "Qwen/Qwen3-235B-A22B-Thinking-2507" +MODEL_NAME = "nvidia/nemotron-reasoning" CONTEXT_PROMPTS = {"sqlite": SQL_CONTEXT_PROMPT_SQLITE, "mysql": SQL_CONTEXT_PROMPT_MYSQL, "postgres": SQL_CONTEXT_PROMPT_POSTGRES} SQL_PROMPTS = {"sqlite": SQL_PROMPT_SQLITE, "mysql": SQL_PROMPT_MYSQL, "postgres": SQL_PROMPT_POSTGRES} @@ -757,7 +766,7 @@ def build_text2sql_config(dialect_name, code_lang): for rubric in rubric_names: config.add_column(dd.ExpressionColumnConfig( name=f"{prefix}_{rubric}_score", - expr=f"{{{{ {judge}.{rubric}.score if {judge}.{rubric}.score else ' ' }}}}", + expr=f"{{{{ {judge}.{rubric}.score if {judge}.{rubric}.score is not none else '' }}}}", )) return config @@ -780,9 +789,9 @@ for dialect, code_lang in [ ## **A Team Effort** -This dataset builds on the foundation laid during our time at [Gretel.ai](https://gretel.ai) (creators of the [#1 trending synthetic text-to-SQL dataset on Hugging Face](https://huggingface.co/datasets/gretelai/synthetic_text_to_sql)). Today, we're proud to bring that DNA into NVIDIA, building the data infrastructure that powers the next generation of Nemotron models. +This dataset is the result of a cross-functional effort across the NeMo Data Designer and Nemotron teams at NVIDIA, combining expertise in synthetic data generation, SQL engineering, and large-scale model training. -**Dataset:** [Nemotron-Text-to-SQL-Internal](#) | **Scale:** 96.5k filtered records | **Dialects:** MySQL, PostgreSQL, SQLite +**Scale:** 96.5k filtered records | **Dialects:** MySQL, PostgreSQL, SQLite | **Dataset:** Internal (Nemotron training) Because this pipeline is encapsulated in Data Designer, the configuration can be shared with any team --- allowing them to fork our baseline, swap in their own schemas or industry verticals, and generate a custom, high-fidelity dataset for their specific domain in hours, not months. From ad7fdd12b843a038d9a1a4f186558dafda5678f9 Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Wed, 11 Mar 2026 18:29:45 -0700 Subject: [PATCH 05/12] docs: address second round of PR #349 feedback - Fix "EHR Systems" -> "Electronic Health Records" in Key Takeaway #1 to match the exact taxonomy string in the code example (greptile) - Add admonition clarifying code snippets are illustrative, not runnable, with link to Enterprise Text-to-SQL Recipe (nabinchha) - Add context before score extraction snippet referencing the five LLMJudgeColumnConfig columns and linking to full recipe (nabinchha) - Add companion file note and recipe link to production pipeline details block for prompts.py, rubrics.py, text2sql_seed.json (nabinchha) --- docs/devnotes/posts/text-to-sql.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index 4e91d321a..87f2d0afb 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -124,6 +124,9 @@ Rather than relying on LLM creativity alone for diversity, the pipeline samples Standard categorical samplers draw independently from their value lists. Data Designer's `SubcategorySamplerParams` creates hierarchical dependencies --- what we call "Semantic Blueprints" --- that ensure internally consistent records. When `industry_sector` samples "Healthcare", `topic` is drawn only from healthcare-specific subcategories. When `sql_complexity` samples "Beginner", `sql_concept` is restricted to foundational SQL operations. This is the difference between realistic training data and random noise. +!!! note "Code snippets in this post are illustrative" + The code blocks below show the key configuration patterns for each pipeline stage. Model aliases (`prompt_gen`, `context_gen`, etc.) and companion files (`prompts.py`, `rubrics.py`) are referenced but not fully defined inline. For a complete, runnable pipeline, see the [Enterprise Text-to-SQL Recipe](../../recipes/code_generation/enterprise_text_to_sql/). + ```python import data_designer.config as dd @@ -360,7 +363,7 @@ The SQL judge rubric explicitly penalizes distractor usage: > *"The SQL should only JOIN or reference tables that are strictly necessary to answer the prompt. The database context may include distractor tables that look relevant but are not needed -- penalize queries that unnecessarily join or reference these tables."* -Each judge provides a score *and* reasoning for each dimension, making it easy to diagnose why a record scored low. Expression columns extract numeric scores into flat columns for downstream filtering: +Each judge provides a score *and* reasoning for each dimension, making it easy to diagnose why a record scored low. After configuring the five `LLMJudgeColumnConfig` columns (see the [full recipe](../../recipes/code_generation/enterprise_text_to_sql/) for complete judge definitions), expression columns extract numeric scores into flat columns for downstream filtering: ```python config.add_column(dd.ExpressionColumnConfig( @@ -432,7 +435,7 @@ This dataset was shipped in the SFT stage of **Nemotron Super v3**. On the [BIRD ## **Key Takeaways** -1. **Conditional sampling prevents incoherent records.** `SubcategorySamplerParams` ensures "Geospatial SQL" only appears with "Advanced" complexity, and "EHR Systems" only appears with "Healthcare". Independent samplers would produce nonsensical combinations that confuse training. +1. **Conditional sampling prevents incoherent records.** `SubcategorySamplerParams` ensures "Geospatial SQL" only appears with "Advanced" complexity, and "Electronic Health Records" only appears with "Healthcare". Independent samplers would produce nonsensical combinations that confuse training. 2. **Three-stage generation beats one-shot.** Separating prompt, schema, and query generation ensures the SQL actually references the tables that exist. One-shot generation frequently hallucinates tables. @@ -550,7 +553,9 @@ preview.display_sample_record() ```
    -Full source: sdg_ndd_text2sql.py (production pipeline) +Full source: sdg_ndd_text2sql.py (production pipeline — references companion files prompts.py, rubrics.py, text2sql_seed.json) + +For a self-contained, runnable version with all prompts and rubrics inline, see the [Enterprise Text-to-SQL Recipe](../../recipes/code_generation/enterprise_text_to_sql/). ```python """Text-to-SQL SDG Pipeline From 66d4970b4e5c5cc1e5f3b52f14dbd6e71dc2a04e Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Wed, 11 Mar 2026 18:49:02 -0700 Subject: [PATCH 06/12] =?UTF-8?q?docs:=20address=20round=202=20PR=20#349?= =?UTF-8?q?=20feedback,=20replace=20production=20block=20with=20recipe=20-?= =?UTF-8?q?=20Fix=20"EHR=20Systems"=20->=20"Electronic=20Health=20Records"?= =?UTF-8?q?=20in=20Key=20Takeaway=20#1=20=20=20to=20match=20the=20exact=20?= =?UTF-8?q?taxonomy=20string=20in=20the=20code=20example=20(greptile)=20-?= =?UTF-8?q?=20Add=20admonition=20clarifying=20inline=20code=20snippets=20a?= =?UTF-8?q?re=20illustrative,=20=20=20with=20link=20to=20runnable=20Enterp?= =?UTF-8?q?rise=20Text-to-SQL=20Recipe=20(nabinchha)=20-=20Add=20context?= =?UTF-8?q?=20before=20score=20extraction=20snippet=20referencing=20the=20?= =?UTF-8?q?five=20=20=20LLMJudgeColumnConfig=20columns=20and=20linking=20t?= =?UTF-8?q?o=20full=20recipe=20(nabinchha)=20-=20Replace=20production=20pi?= =?UTF-8?q?peline=20
    =20block=20(230=20lines=20with=20phantom=20?= =?UTF-8?q?=20=20imports=20from=20prompts.py,=20rubrics.py,=20text2sql=5Fs?= =?UTF-8?q?eed.json)=20with=20=20=20snippet=20include=20of=20enterprise=5F?= =?UTF-8?q?text=5Fto=5Fsql.py=20recipe=20=E2=80=94=20self-contained=20=20?= =?UTF-8?q?=20and=20runnable,=20consistent=20with=20other=20merged=20dev?= =?UTF-8?q?=20notes=20(nabinchha)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/devnotes/posts/text-to-sql.md | 233 +---------------------------- 1 file changed, 3 insertions(+), 230 deletions(-) diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index 87f2d0afb..b6615903a 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -553,239 +553,12 @@ preview.display_sample_record() ```
    -Full source: sdg_ndd_text2sql.py (production pipeline — references companion files prompts.py, rubrics.py, text2sql_seed.json) +Full recipe: enterprise_text_to_sql.py (self-contained, runnable) -For a self-contained, runnable version with all prompts and rubrics inline, see the [Enterprise Text-to-SQL Recipe](../../recipes/code_generation/enterprise_text_to_sql/). +[Download Code :octicons-download-24:](../../assets/recipes/code_generation/enterprise_text_to_sql.py){ .md-button download="enterprise_text_to_sql.py" } ```python -"""Text-to-SQL SDG Pipeline - -Production pipeline for generating text-to-SQL training data across -SQLite, MySQL, and PostgreSQL using a reasoning LLM via Data Designer. - -Generates configs for each dialect with: -- 60 industry sectors, ~700 topics -- 89 SQL concept buckets across 3 complexity tiers -- Distractor table/column injection -- 5 LLM judges + per-dialect syntax validation -- 15 score columns for downstream filtering - -Requires companion files: -- text2sql_seed.json: taxonomy of sectors, topics, SQL concepts, etc. -- prompts.py: dialect-specific prompt templates for each LLM stage -- rubrics.py: Score definitions for all 5 LLM judges -""" -import json -from pathlib import Path - -import data_designer.config as dd -from data_designer.interface import DataDesigner - -# Prompt templates and judge rubrics (see prompts.py and rubrics.py) -from prompts import ( - SQL_PROMPT_SYSTEM_PROMPT, SQL_PROMPT_PROMPT, - SQL_CONTEXT_SYSTEM_PROMPT, SQL_SYSTEM_PROMPT, - TEXT_TO_SQL_LLM_JUDGE_PROMPT_TEMPLATE as SQL_JUDGE_PROMPT, - JUDGE_NATURALNESS_PROMPT, DATA_QUALITY_JUDGE_PROMPT, KNOWLEDGE_DEP_JUDGE_PROMPT, - SQL_CONTEXT_PROMPT_SQLITE, SQL_CONTEXT_PROMPT_MYSQL, SQL_CONTEXT_PROMPT_POSTGRES, - SQL_PROMPT_SQLITE, SQL_PROMPT_MYSQL, SQL_PROMPT_POSTGRES, - SQL_CONTEXT_JUDGE_PROMPT_SQLITE, SQL_CONTEXT_JUDGE_PROMPT_MYSQL, SQL_CONTEXT_JUDGE_PROMPT_POSTGRES, -) -from rubrics import SQL_SCORES, PROMPT_SCORES, DATA_QUALITY_SCORES, KNOWLEDGE_DEP_SCORES - -METADATA_FILE = "text2sql_seed.json" -MODEL_NAME = "nvidia/nemotron-reasoning" - -CONTEXT_PROMPTS = {"sqlite": SQL_CONTEXT_PROMPT_SQLITE, "mysql": SQL_CONTEXT_PROMPT_MYSQL, "postgres": SQL_CONTEXT_PROMPT_POSTGRES} -SQL_PROMPTS = {"sqlite": SQL_PROMPT_SQLITE, "mysql": SQL_PROMPT_MYSQL, "postgres": SQL_PROMPT_POSTGRES} -CONTEXT_JUDGE_PROMPTS = {"sqlite": SQL_CONTEXT_JUDGE_PROMPT_SQLITE, "mysql": SQL_CONTEXT_JUDGE_PROMPT_MYSQL, "postgres": SQL_CONTEXT_JUDGE_PROMPT_POSTGRES} - -# Load taxonomy -metadata = json.loads(Path(METADATA_FILE).read_text()) - -# Model configs tuned per stage -model_configs = [ - dd.ModelConfig( - alias="prompt_gen", model=MODEL_NAME, provider="nvidia", - inference_parameters=dd.ChatCompletionInferenceParams( - temperature=0.6, top_p=0.95, max_tokens=4096, timeout=1200, - ), - ), - dd.ModelConfig( - alias="context_gen", model=MODEL_NAME, provider="nvidia", - inference_parameters=dd.ChatCompletionInferenceParams( - temperature=0.6, top_p=0.95, max_tokens=16384, timeout=1200, - ), - ), - dd.ModelConfig( - alias="sql_gen", model=MODEL_NAME, provider="nvidia", - inference_parameters=dd.ChatCompletionInferenceParams( - temperature=0.6, top_p=0.95, max_tokens=16384, timeout=1200, - ), - ), - dd.ModelConfig( - alias="judge", model=MODEL_NAME, provider="nvidia", - inference_parameters=dd.ChatCompletionInferenceParams( - temperature=0.6, top_p=0.95, max_tokens=4096, timeout=1200, - ), - ), -] - - -def build_text2sql_config(dialect_name, code_lang): - config = dd.DataDesignerConfigBuilder(model_configs=model_configs) - - # --- Metadata samplers --- - config.add_column(dd.SamplerColumnConfig( - name="sql_dialect", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams(values=[dialect_name]), - )) - config.add_column(dd.SamplerColumnConfig( - name="industry_sector", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams(values=list(metadata["industry_sectors"].keys())), - )) - config.add_column(dd.SamplerColumnConfig( - name="topic", sampler_type=dd.SamplerType.SUBCATEGORY, - params=dd.SubcategorySamplerParams( - category="industry_sector", values=metadata["industry_sectors"], - ), - )) - config.add_column(dd.SamplerColumnConfig( - name="sql_complexity", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams(values=list(metadata["sql_complexity"].keys())), - )) - config.add_column(dd.SamplerColumnConfig( - name="sql_concept", sampler_type=dd.SamplerType.SUBCATEGORY, - params=dd.SubcategorySamplerParams( - category="sql_complexity", values=metadata["sql_complexity"], - ), - )) - config.add_column(dd.SamplerColumnConfig( - name="sql_task_type", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams(values=list(metadata["sql_task_type"].keys())), - conditional_params={ - f"sql_complexity == '{c}'": dd.CategorySamplerParams(values=tasks) - for c, tasks in metadata["complexity_to_task_type"].items() - }, - )) - config.add_column(dd.SamplerColumnConfig( - name="sql_task_concept", sampler_type=dd.SamplerType.SUBCATEGORY, - params=dd.SubcategorySamplerParams( - category="sql_task_type", values=metadata["sql_task_type"], - ), - )) - config.add_column(dd.SamplerColumnConfig( - name="data_quality_challenge", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams(values=list(metadata["data_quality_challenge"].keys())), - )) - config.add_column(dd.SamplerColumnConfig( - name="data_quality_concept", sampler_type=dd.SamplerType.SUBCATEGORY, - params=dd.SubcategorySamplerParams( - category="data_quality_challenge", values=metadata["data_quality_challenge"], - ), - )) - config.add_column(dd.SamplerColumnConfig( - name="knowledge_dependency", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams(values=list(metadata["knowledge_dependency"].keys())), - )) - config.add_column(dd.SamplerColumnConfig( - name="knowledge_concept", sampler_type=dd.SamplerType.SUBCATEGORY, - params=dd.SubcategorySamplerParams( - category="knowledge_dependency", values=metadata["knowledge_dependency"], - ), - )) - config.add_column(dd.SamplerColumnConfig( - name="instruction_style", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams( - values=["imperative", "declarative", "interrogative", "contextual", "abbreviated"], - ), - )) - config.add_column(dd.SamplerColumnConfig( - name="linguistic_register", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams( - values=["formal", "conversational", "technical", "academic", "direct"], - ), - )) - config.add_column(dd.SamplerColumnConfig( - name="politeness_level", sampler_type=dd.SamplerType.CATEGORY, - params=dd.CategorySamplerParams(values=["none", "minimal", "polite", "very polite"]), - )) - - # --- LLM generation columns --- - config.add_column(dd.LLMTextColumnConfig( - name="sql_prompt", model_alias="prompt_gen", - system_prompt=SQL_PROMPT_SYSTEM_PROMPT, - prompt=SQL_PROMPT_PROMPT, - )) - config.add_column(dd.LLMCodeColumnConfig( - name="sql_context", model_alias="context_gen", - system_prompt=SQL_CONTEXT_SYSTEM_PROMPT, - prompt=CONTEXT_PROMPTS[dialect_name], - code_lang=code_lang, - )) - config.add_column(dd.LLMCodeColumnConfig( - name="sql", model_alias="sql_gen", - system_prompt=SQL_SYSTEM_PROMPT, - prompt=SQL_PROMPTS[dialect_name], - code_lang=code_lang, - )) - - # --- Validation --- - config.add_column(dd.ValidationColumnConfig( - name="sql_validity_result", target_columns=["sql"], - validator_type=dd.ValidatorType.CODE, - validator_params=dd.CodeValidatorParams(code_lang=code_lang), - )) - - # --- 5 LLM Judges --- - config.add_column(dd.LLMJudgeColumnConfig( - name="sql_prompt_judge_result", model_alias="judge", - prompt=JUDGE_NATURALNESS_PROMPT, scores=PROMPT_SCORES, - )) - config.add_column(dd.LLMJudgeColumnConfig( - name="sql_judge_result", model_alias="judge", - prompt=SQL_JUDGE_PROMPT, scores=SQL_SCORES, - )) - config.add_column(dd.LLMJudgeColumnConfig( - name="sql_context_judge_result", model_alias="judge", - prompt=CONTEXT_JUDGE_PROMPTS[dialect_name], scores=SQL_SCORES, - )) - config.add_column(dd.LLMJudgeColumnConfig( - name="sql_data_quality_judge_result", model_alias="judge", - prompt=DATA_QUALITY_JUDGE_PROMPT, scores=DATA_QUALITY_SCORES, - )) - config.add_column(dd.LLMJudgeColumnConfig( - name="sql_knowledge_judge_result", model_alias="judge", - prompt=KNOWLEDGE_DEP_JUDGE_PROMPT, scores=KNOWLEDGE_DEP_SCORES, - )) - - # --- Score extraction (15 flat score columns) --- - for judge, rubric_names in [ - ("sql_judge_result", ["relevance", "readability", "scalability", "standards"]), - ("sql_context_judge_result", ["relevance", "readability", "scalability", "standards"]), - ("sql_prompt_judge_result", ["naturalness_of_wording", "specificity_and_clarity", "absence_of_sql_jargon"]), - ("sql_data_quality_judge_result", ["correctness_of_cleaning_logic", "efficiency_of_cleaning_method"]), - ("sql_knowledge_judge_result", ["correctness_of_knowledge_application", "clarity_of_inference"]), - ]: - prefix = judge.replace("_judge_result", "").replace("sql_", "") - for rubric in rubric_names: - config.add_column(dd.ExpressionColumnConfig( - name=f"{prefix}_{rubric}_score", - expr=f"{{{{ {judge}.{rubric}.score if {judge}.{rubric}.score is not none else '' }}}}", - )) - - return config - - -# Build and run for each dialect -data_designer = DataDesigner() -for dialect, code_lang in [ - ("sqlite", dd.CodeLang.SQL_SQLITE), - ("mysql", dd.CodeLang.SQL_MYSQL), - ("postgres", dd.CodeLang.SQL_POSTGRES), -]: - config = build_text2sql_config(dialect, code_lang) - result = data_designer.create(config, num_records=32000, dataset_name=f"text2sql_{dialect}") +--8<-- "assets/recipes/code_generation/enterprise_text_to_sql.py" ```
    From 89fc459409227cede513308d2bf016c61ab906fe Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Wed, 11 Mar 2026 19:05:16 -0700 Subject: [PATCH 07/12] docs: polish Try It Yourself and Summary sections - Wrap minimal inline example in collapsible
    dropdown - Rename "A Team Effort" section to "Summary" - Remove redundant Scale/Dialects/Dataset line --- docs/devnotes/posts/text-to-sql.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index b6615903a..de9cb0dcd 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -466,6 +466,9 @@ This dataset was shipped in the SFT stage of **Nemotron Super v3**. On the [BIRD The snippet below builds a simplified text-to-SQL pipeline for SQLite using Data Designer. It covers the core stages -- seeding & diversification, prompt generation, schema generation with distractors, SQL generation, syntax validation, and LLM judge scoring. +
    +Minimal example: text-to-SQL pipeline for SQLite + ```python import data_designer.config as dd from data_designer.interface import DataDesigner @@ -552,6 +555,8 @@ preview = data_designer.preview(config, num_records=10) preview.display_sample_record() ``` +
    +
    Full recipe: enterprise_text_to_sql.py (self-contained, runnable) @@ -565,12 +570,10 @@ preview.display_sample_record() --- -## **A Team Effort** +## **Summary** This dataset is the result of a cross-functional effort across the NeMo Data Designer and Nemotron teams at NVIDIA, combining expertise in synthetic data generation, SQL engineering, and large-scale model training. -**Scale:** 96.5k filtered records | **Dialects:** MySQL, PostgreSQL, SQLite | **Dataset:** Internal (Nemotron training) - Because this pipeline is encapsulated in Data Designer, the configuration can be shared with any team --- allowing them to fork our baseline, swap in their own schemas or industry verticals, and generate a custom, high-fidelity dataset for their specific domain in hours, not months. --- From 83dee2dc7c4a3acb27a6d593d66fc16e7cc0376a Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Wed, 11 Mar 2026 19:11:25 -0700 Subject: [PATCH 08/12] docs: add missing sql_dialect sampler to Step 1 code snippet The Step 3/4 prompt templates reference {{ sql_dialect }} but the Step 1 seeding code never defined it, leaving an unresolved Jinja2 variable for readers following along. Add the sql_dialect sampler with a comment explaining the pipeline runs once per dialect. Made-with: Cursor --- docs/devnotes/posts/text-to-sql.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index de9cb0dcd..855f54c6f 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -182,6 +182,13 @@ config.add_column(dd.SamplerColumnConfig( ), )) +# Dialect control (one value per run; the pipeline runs once per dialect) +config.add_column(dd.SamplerColumnConfig( + name="sql_dialect", + sampler_type=dd.SamplerType.CATEGORY, + params=dd.CategorySamplerParams(values=["SQLite"]), # or "MySQL", "PostgreSQL" +)) + # Task type restricted by complexity via conditional_params task_types = { "Foundational Queries & DML": [...], From 5412153c0ff7bcffb63b3c223de9026eeabedb8d Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Wed, 11 Mar 2026 19:14:45 -0700 Subject: [PATCH 09/12] fix ascii diagram --- docs/devnotes/posts/text-to-sql.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index 855f54c6f..dc77db0b3 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -79,7 +79,7 @@ The pipeline generates text-to-SQL training data through a five-stage process. E │ ▼ ┌─────────────────────────────────────────────────────────────────────────────────────┐ - │ STAGE 4: SQL GENERATION (Reasoning LLM) │ + │ STAGE 4: SQL GENERATION (Reasoning LLM) │ │ │ │ Generates dialect-specific SQL (SQLite / MySQL / PostgreSQL). │ │ ├─ References only tables/columns from the schema context │ From 0b66f9625e215b3a87d930df974deac75a62eeef Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Wed, 11 Mar 2026 19:21:34 -0700 Subject: [PATCH 10/12] docs: fix BIRD score framing and MySQL dialect wording - Remove specific "60-70%" BIRD claim from intro to avoid contradiction with the 41.80%/38.25% direct-generation results shown later (those higher figures come from specialized systems with schema linking) - Reword MySQL "forbids" to "prompts exclude" -- REGEXP_REPLACE and CONVERT_TZ are valid MySQL functions; the pipeline excluded them for portability, not because the dialect forbids them --- docs/devnotes/posts/text-to-sql.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index dc77db0b3..127ae0765 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -20,7 +20,7 @@ While LLMs have mastered generic coding, Text-to-SQL remains one of the most cha ## **The "Real-World" Gap: Why Academic Data Wasn't Enough** -The gap between academic benchmarks and the messy reality of enterprise data warehouses is massive. On academic benchmarks like Spider (where schemas are clean, tables are few, and queries are straightforward), frontier models score above 85%. On [BIRD](https://bird-bench.github.io/) (which introduces dirty data, larger schemas, and external knowledge requirements), the same models drop to 60-70%. On [Spider 2.0 Lite](https://spider2-sql.github.io/) (which uses real enterprise databases with hundreds of tables, multiple dialects, and complex business logic), even the best models score below 50%. +The gap between academic benchmarks and the messy reality of enterprise data warehouses is massive. On academic benchmarks like Spider (where schemas are clean, tables are few, and queries are straightforward), frontier models score above 85%. On [BIRD](https://bird-bench.github.io/) (which introduces dirty data, larger schemas, and external knowledge requirements), performance drops significantly --- and on [Spider 2.0 Lite](https://spider2-sql.github.io/) (which uses real enterprise databases with hundreds of tables, multiple dialects, and complex business logic), even the best models score below 50%. The problem isn't model capability --- it's **training data**. Most open-source text-to-SQL datasets assume a "happy path": intuitive column names, perfect data types, and straightforward questions. Production SQL is different: @@ -307,7 +307,7 @@ The SQL generation step receives the natural-language prompt and the generated s - **Handle dirty data** -- the query must clean data issues (CAST, REPLACE, SUBSTR, regex) before computing results - **Ignore distractors** -- no unnecessary joins or column selections; distractor elements must be left untouched - **Anchor relative time** -- instead of `CURRENT_DATE`, anchor to `(SELECT MAX(date_col) FROM table)` for reproducibility -- **Dialect-specific syntax** -- SQLite uses `strftime`, MySQL uses `DATE_SUB`, PostgreSQL uses `::` casting and `interval`. Each dialect also has its own explicit limitations (e.g., SQLite forbids `LATERAL` joins and `REGEXP_REPLACE`; MySQL forbids `REGEXP_REPLACE` and `CONVERT_TZ`) +- **Dialect-specific syntax** -- SQLite uses `strftime`, MySQL uses `DATE_SUB`, PostgreSQL uses `::` casting and `interval`. Each dialect also has prompt-level constraints to ensure portability (e.g., SQLite prompts exclude `LATERAL` joins and `REGEXP_REPLACE`; MySQL prompts exclude `REGEXP_REPLACE` for pre-8.0 compatibility and `CONVERT_TZ` to avoid unpopulated timezone table issues) ```python config.add_column(dd.LLMCodeColumnConfig( From a2dc4ca114de712ba542cf29a04d490043b52fc2 Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Mon, 13 Apr 2026 14:58:50 -0700 Subject: [PATCH 11/12] docs: move text-to-sql images to assets/ convention and update refs --- .../text-to-sql}/bird-benchmark-results.jpg | Bin .../text-to-sql}/text-to-sql-pipeline.jpg | Bin docs/devnotes/posts/text-to-sql.md | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename docs/devnotes/posts/{images => assets/text-to-sql}/bird-benchmark-results.jpg (100%) rename docs/devnotes/posts/{images => assets/text-to-sql}/text-to-sql-pipeline.jpg (100%) diff --git a/docs/devnotes/posts/images/bird-benchmark-results.jpg b/docs/devnotes/posts/assets/text-to-sql/bird-benchmark-results.jpg similarity index 100% rename from docs/devnotes/posts/images/bird-benchmark-results.jpg rename to docs/devnotes/posts/assets/text-to-sql/bird-benchmark-results.jpg diff --git a/docs/devnotes/posts/images/text-to-sql-pipeline.jpg b/docs/devnotes/posts/assets/text-to-sql/text-to-sql-pipeline.jpg similarity index 100% rename from docs/devnotes/posts/images/text-to-sql-pipeline.jpg rename to docs/devnotes/posts/assets/text-to-sql/text-to-sql-pipeline.jpg diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index 127ae0765..3d958dfd0 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -8,7 +8,7 @@ authors: # **Engineering an Enterprise-Grade Text-to-SQL Dataset with NeMo Data Designer** -Text-to-SQL Synthetic Data Pipeline +Text-to-SQL Synthetic Data Pipeline
    @@ -426,7 +426,7 @@ The high rejection rate is a feature, not a bug. By generating 3x more data than This dataset was shipped in the SFT stage of **Nemotron Super v3**. On the [BIRD SQL benchmark](https://bird-bench.github.io/) (1,534 dev samples, 5-run average), Nemotron Super achieves **41.80% EX** (execution accuracy) --- outperforming GPT-OSS-120B at 38.25%. Including our synthetic dataset in the SFT blend raised Nemotron Super's EX on BIRD by **15 points**, from 26.77% to 41.80%. -BIRD SQL Benchmark Results — Nemotron Super EX improves from 26.77% to 41.80% +BIRD SQL Benchmark Results — Nemotron Super EX improves from 26.77% to 41.80%
    From 741401eff504cd76fa8825be88c4cfd702a502e3 Mon Sep 17 00:00:00 2001 From: Dhruv Nathawani Date: Tue, 14 Apr 2026 10:42:45 -0700 Subject: [PATCH 12/12] docs: address text-to-sql devnote review comments - Add devnote to mkdocs nav after Async All the Way Down - Swap Recursive CTEs to Advanced, CASE Expressions to Intermediate (matches recipe) - Fix score extraction truthy check to use 'is not none' (preserves score-0 values) - Drop REPLACE() vs regexp_replace from dialect takeaway (REPLACE is cross-dialect) - Tighten prose: remove 'The key insight:', use actual BIRD number, trim X-not-Y - Fix knowledge dependency count: 8 -> 9 concepts (3x3 in recipe) --- .../code_generation/enterprise_text_to_sql.py | 2 +- docs/devnotes/posts/text-to-sql.md | 14 +++++++------- mkdocs.yml | 1 + 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/assets/recipes/code_generation/enterprise_text_to_sql.py b/docs/assets/recipes/code_generation/enterprise_text_to_sql.py index e58a3969a..b38fca1de 100644 --- a/docs/assets/recipes/code_generation/enterprise_text_to_sql.py +++ b/docs/assets/recipes/code_generation/enterprise_text_to_sql.py @@ -543,7 +543,7 @@ def build_config(model_alias: str, dialect: str = "sqlite") -> dd.DataDesignerCo config_builder.add_column( dd.ExpressionColumnConfig( name=f"{prefix}_{rubric}_score", - expr=f"{{{{ {judge_name}.{rubric}.score if {judge_name}.{rubric}.score else ' ' }}}}", + expr=f"{{{{ {judge_name}.{rubric}.score if {judge_name}.{rubric}.score is not none else '' }}}}", ) ) diff --git a/docs/devnotes/posts/text-to-sql.md b/docs/devnotes/posts/text-to-sql.md index 3d958dfd0..00bf1df27 100644 --- a/docs/devnotes/posts/text-to-sql.md +++ b/docs/devnotes/posts/text-to-sql.md @@ -20,7 +20,7 @@ While LLMs have mastered generic coding, Text-to-SQL remains one of the most cha ## **The "Real-World" Gap: Why Academic Data Wasn't Enough** -The gap between academic benchmarks and the messy reality of enterprise data warehouses is massive. On academic benchmarks like Spider (where schemas are clean, tables are few, and queries are straightforward), frontier models score above 85%. On [BIRD](https://bird-bench.github.io/) (which introduces dirty data, larger schemas, and external knowledge requirements), performance drops significantly --- and on [Spider 2.0 Lite](https://spider2-sql.github.io/) (which uses real enterprise databases with hundreds of tables, multiple dialects, and complex business logic), even the best models score below 50%. +The gap between academic benchmarks and the messy reality of enterprise data warehouses is massive. On academic benchmarks like Spider (where schemas are clean, tables are few, and queries are straightforward), frontier models score above 85%. On [BIRD](https://bird-bench.github.io/) (which introduces dirty data, larger schemas, and external knowledge requirements), the best open models reach roughly 70% execution accuracy --- and on [Spider 2.0 Lite](https://spider2-sql.github.io/) (which uses real enterprise databases with hundreds of tables, multiple dialects, and complex business logic), even the best models score below 50%. The problem isn't model capability --- it's **training data**. Most open-source text-to-SQL datasets assume a "happy path": intuitive column names, perfect data types, and straightforward questions. Production SQL is different: @@ -30,7 +30,7 @@ The problem isn't model capability --- it's **training data**. Most open-source - **Industry-specific schemas.** Healthcare EHR tables look nothing like financial trading systems. The column names, relationships, and business logic are domain-specific. - **Complexity gradients.** Junior analysts write simple SELECTs; senior engineers write recursive CTEs with window functions. Training data needs the full spectrum. -The key insight: **domain diversity and complexity coverage matter more than dataset size**. +**Domain diversity and complexity coverage matter more than dataset size.** --- @@ -117,7 +117,7 @@ Rather than relying on LLM creativity alone for diversity, the pipeline samples | SQL complexity | 3 tiers | 89 concepts | Difficulty level (Beginner → Advanced) | | SQL task type | 12 categories | 94 concepts | What the query does (analytics, transformation, ...) | | Data quality | 5 challenges | 12 concepts | Dirty data to inject and clean | -| Knowledge dependency | 3 categories | 8 concepts | Implicit reasoning required | +| Knowledge dependency | 3 categories | 9 concepts | Implicit reasoning required | | Instruction style | 5 styles | -- | imperative, declarative, interrogative, contextual, abbreviated | | Linguistic register | 5 registers | -- | formal, conversational, technical, academic, direct | | Politeness level | 4 levels | -- | none, minimal, polite, very polite | @@ -176,8 +176,8 @@ config.add_column(dd.SamplerColumnConfig( category="sql_complexity", values={ "Beginner": ["Basic SELECT Statements", "WHERE Clauses", "Simple Aggregations", ...], - "Intermediate": ["Window Functions", "Recursive CTEs", "Correlated Subqueries", ...], - "Advanced": ["Frame Clauses", "Pivot/Unpivot", "Geospatial SQL", ...], + "Intermediate": ["Window Functions", "CASE Expressions", "Correlated Subqueries", ...], + "Advanced": ["Recursive CTEs", "Frame Clauses", "Pivot/Unpivot", ...], }, ), )) @@ -450,7 +450,7 @@ This dataset was shipped in the SFT stage of **Nemotron Super v3**. On the [BIRD 4. **Distractor tables teach schema linking.** Injecting semantically similar but irrelevant tables forces the model to *read* the schema instead of guessing from table names. This is the skill gap between academic benchmarks and production. -5. **Per-dialect generation avoids lowest-common-denominator SQL.** Rather than generating ANSI SQL and hoping it works everywhere, the pipeline produces dialect-specific schemas and queries with appropriate syntax (`strftime` vs `DATE_SUB` vs `interval`, `REPLACE()` vs `regexp_replace`). Each dialect gets its own tailored prompts, validators, and judge prompts. +5. **Per-dialect generation avoids lowest-common-denominator SQL.** Rather than generating ANSI SQL and hoping it works everywhere, the pipeline produces dialect-specific schemas and queries with appropriate syntax (`strftime` vs `DATE_SUB` vs `interval`). Each dialect gets its own tailored prompts, validators, and judge prompts. 6. **Hard validators are non-negotiable for code.** LLM judges can assess quality, but they can't reliably detect syntax errors. Syntax validators catch parsing failures that the judge misses. @@ -581,7 +581,7 @@ preview.display_sample_record() This dataset is the result of a cross-functional effort across the NeMo Data Designer and Nemotron teams at NVIDIA, combining expertise in synthetic data generation, SQL engineering, and large-scale model training. -Because this pipeline is encapsulated in Data Designer, the configuration can be shared with any team --- allowing them to fork our baseline, swap in their own schemas or industry verticals, and generate a custom, high-fidelity dataset for their specific domain in hours, not months. +Because this pipeline is encapsulated in Data Designer, the configuration can be shared with any team --- allowing them to fork our baseline, swap in their own schemas or industry verticals, and generate a custom, high-fidelity dataset for their specific domain. --- diff --git a/mkdocs.yml b/mkdocs.yml index aeccf8c83..fc4eaf383 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -75,6 +75,7 @@ nav: - Dev Notes: # NOTE: Order is most recent -> oldest (so sidebar shows recent first!) - devnotes/index.md + - "Text-to-SQL for Nemotron Super": devnotes/posts/text-to-sql.md - "Async All the Way Down": devnotes/posts/async-all-the-way-down.md - Owning the Model Stack: devnotes/posts/owning-the-model-stack.md - Data Designer Got Skills: devnotes/posts/data-designer-got-skills.md