{"record":{"id":"3b0c4b7935a8b948","repo":"unslothai/unsloth","slug":"unable-to-resolve-seed-dataset-path","errorCode":null,"errorMessage":"unable to resolve seed dataset path","messagePattern":"unable to resolve seed dataset path","errorType":"http","errorClass":"HTTPException","httpStatus":422,"severity":"error","filePath":"studio/backend/routes/data_recipe/seed.py","lineNumber":388,"sourceCode":"            raise log_and_http_error(\n                exc,\n                422,\n                \"seed inspect failed\",\n                event = \"data_recipe.seed.hf_preview_failed\",\n                log = logger,\n            ) from exc\n\n    if not preview_rows:\n        raise HTTPException(status_code = 422, detail = \"dataset appears empty or unreadable\")\n    preview_rows = _serialize_preview_rows(preview_rows)\n    columns = _extract_columns(preview_rows)\n\n    if not data_files:\n        resolved_path = f\"datasets/{dataset_name}/**/*.parquet\"\n    else:\n        resolved_path = _resolve_seed_hf_path(dataset_name, data_files, split)\n        if not resolved_path:\n            raise HTTPException(status_code = 422, detail = \"unable to resolve seed dataset path\")\n\n    return SeedInspectResponse(\n        dataset_name = dataset_name,\n        resolved_path = resolved_path,\n        columns = columns,\n        preview_rows = preview_rows,\n        split = split,\n        subset = subset,\n    )\n\n\ndef _extract_text_from_file(file_path: Path, ext: str) -> str:\n    \"\"\"Extract text from an uploaded file by extension, to markdown where possible.\"\"\"\n    if ext in {\".txt\", \".md\"}:\n        raw = file_path.read_text(encoding = \"utf-8\", errors = \"ignore\")\n    elif ext == \".pdf\":\n        import pymupdf4llm\n        raw = pymupdf4llm.to_markdown(","sourceCodeStart":370,"sourceCodeEnd":406,"githubUrl":"https://github.com/unslothai/unsloth/blob/203007d19051dcd2ae33876786d117c99f6b0368/studio/backend/routes/data_recipe/seed.py#L370-L406","documentation":"HTTP 422 raised in POST /seed/inspect when data_files were supplied but _resolve_seed_hf_path(dataset_name, data_files, split) could not map them to a concrete path pattern. The resolved path (e.g. datasets/{name}/**/*.parquet or a specific file glob) is what downstream recipe execution reads, so an unresolvable mapping aborts the inspect.","triggerScenarios":"POST /seed/inspect with data_files entries whose names do not exist in the repo, or whose layout does not let the resolver correlate data_files + split to a repo path (wrong split segment, renamed files, case mismatch).","commonSituations":"User copies data_files names from an older dataset revision; repo restructured (files moved/m renamed); split name embedded in the file path differs from the split argument.","solutions":["List the repo files on huggingface.co (Files tab) and pass exact, current data_files paths.","Drop data_files and let the default 'datasets/{name}/**/*.parquet' resolution apply.","Verify the split argument matches the split directories embedded in the file paths."],"exampleFix":"# before\ninspect(dataset_name='org/repo', split='train', data_files=['data/train-0001-of-0002.parquet'])\n\n# after\ninspect(dataset_name='org/repo', split='train', data_files=['data/train-00000-of-00002.parquet'])  # exact current filename","handlingStrategy":"validation","validationCode":"// Verify data_files exist in the repo before inspect\nconst tree = await fetch(`https://huggingface.co/api/datasets/${encodeURIComponent(name)}/tree/main`).then(r => r.json());\nconst paths = new Set(tree.map(f => f.path));\nconst missing = dataFiles.filter(f => !paths.has(f));\nif (missing.length) throw new Error(`not in repo: ${missing.join(', ')}`);","typeGuard":null,"tryCatchPattern":"On 422 'unable to resolve seed dataset path', fall back to calling inspect without data_files; if that succeeds, the file list was wrong — refresh it from the repo.","preventionTips":["Copy data_files paths verbatim from the repo's Files tab.","Re-validate stored data_files whenever a recipe is re-opened, since repos get restructured."],"tags":["huggingface","dataset","http-422","path-resolution"],"backgroundTag":null,"analyzedSha":"203007d19051dcd2ae33876786d117c99f6b0368","analyzedAt":"2026-08-15T02:48:39.846Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}