Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Structured-output parsing drops valid dictionary entries

Chiusa
#1,043 2 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@nabinchha ci sta già lavorando.

Dal 16/10/2026.

  • #1046 di @nabinchha — integrata

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

bug
Priority Level

Medium (Annoying but has workaround)

Describe the bug

Data Designer 0.9.3 removes valid dictionary entries during structured-output parsing with LLMStructuredColumnConfig. This occurs whether output_format is supplied as a Pydantic model or JSON Schema.

Both dict[str, int] and dict[str, JsonValue] are affected:

Input:
{"name": "first", "fields": {"alpha": 1}}

After parsing:
{"name": "first", "fields": {}}

DD rewrites the dictionary schema’s additionalProperties declaration to forbid additional properties, then prunes valid entries.

The resulting empty dictionaries can subsequently cause Parquet writing to fail with:

Cannot write struct type 'fields' with no child field to Parquet.

That downstream error is a consequence of the parser removing the entries.

Steps/Code to reproduce bug

The attached script mocks model generation while retaining DD’s actual response parser, schema validation, structured-column generation, and storage. No credentials or model calls are required.

uv run --script repro_structured.py --case typed-map
uv run --script repro_structured.py --case json-map

Each command tests both Pydantic and JSON Schema declarations. Inspect Parsed before storage to see the removed entries.

Tested with:

data-designer==0.9.3
pydantic==2.14.1
pandas==2.3.3
pyarrow==24.0.0

repro_structured.py

Expected behavior

Structured-output parsing should preserve dictionary entries permitted by the declared schema. Typed dictionaries should retain their keys and validate their values against the declared value schema.

Agent Diagnostic / Prior Investigation

Bug was encountered when making changes to a DD pipeline. Issue content and reproduction scripts are AI generated and human reviewed.

The reproduction records parsed values before storage, confirming that entries are removed during parsing.

Additional context

The original description document a separate but related Parquet storage problem that is now tracked independently in #1045.

Checklist
  • I reproduced this issue or provided a minimal example
  • I searched the docs/issues myself, or had my agent do so
  • If I used an agent, I included its diagnostics above
Lingua principale
Python
Stelle
2.4k
Fork
234
Merge medio
20h 48m
PR unite (30g)
78

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di NVIDIA-NeMo/DataDesigner

Tutte le issue di NVIDIA-NeMo/DataDesigner

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.