--- title: Adaptive Data | Adaption description: Adaptive Data analyzes your data's structure and learns how to adapt and optimize it, so you walk away with a model-ready dataset instead of a raw export. This guide walks through the no-code path. --- ## Before you start Sign in at [adaptionlabs.ai/app](https://adaptionlabs.ai/app). You don’t need an API key for the app walkthrough below. ## Step 1 | Bring in your data With Adaptive Data, you can build either - Instruction datasets: prompts paired with their expected completions, for supervised fine-tuning - Preference pairs, where two completions are compared to indicate which one is better or more preferred There are three ways to start a dataset, all available from the app: - **Local file**: *CSV, JSON, JSONL, Parquet, PDF, DOCX, PPTX, XLSX, HTML, ZIP, TXT files*. - **Hugging Face**: point at a dataset URL and pick the files you want. - **Kaggle**: point at a dataset page URL - \*Note:(If a dataset is locked on huggingface, you need to first enable access on huggingface, then import it.) If your local file is document-style (PDFs, scans, slide decks, email threads) the app detects that automatically and asks two questions: whether to extract and split the content, and whether to split by whole document or by page. [Processing unstructured documents](/guides/processing-unstructured-documents/index.md) for the full detail. ## Step 2 | Dataset Expansion Within the **expansion** step, you’re first asked how you want to expand your dataset size: - **Translate**: expands language coverage to 242 languages. Your original dataset size will increase. - **Localize:** expands your dataset by adapting it to both a country *and* language (not just translating text, but adapting it for a specific locale). Your dataset size will increase. ## Step 3 | Map your columns This is the **column** step of the adaptation application. - **Prompt column**: the question or instruction each row asks. - **Context columns**: background material the model should see alongside the prompt in order to answer the prompt correctly; can include images. There can be multiple context columns. See [Multimodal context.](/guides/multimodal-context/index.md) - **Completion column**: the expected answer to the prompt. - **Chat column**:The chat column carries multi-turn conversational exchanges or dialogue history You need **at least a prompt or a completion column**. Adaptive Data can create whichever one you’re missing. Make sure that you select context columns if additional columns are required to give the background context necessary to answer the prompt. Don’t have a prompt column at all? Check **“I don’t have prompt”** under the Prompt column card, then choose **“Write universal prompt”**. Read more here: [Universal prompts](/guides/universal-prompts/index.md). ## Step 4 | Data Evaluation After columns, the adaptive Data has four more steps before you launch: 1. **Data Evaluation:** assigns you a letter grade, quality score (0–10), and percentile alongside detected domain, language, and tone. The percentile is computed based upon all datasets in the domain stored in our database. ## Step 5 | Recipes **Recipes**: toggles like deduplication, prompt rephrasing, reasoning traces, hallucination mitigation, and freeform brand voice. ## Step 6 | Job Progress A run moves through several states: - **Job launched**: queued or just submitted; not yet actively processing. - **Job Completed**: results and a quality score become available. - **Running**: actively processing. - **Job Failed**: the run aborted **Troubleshooting: stuck at “pending” or “job launched”** Before contacting support: 1. Check how long it’s actually been; large imports commonly take several hours once queue time is included. 2. Check your dataset format; only OpenAI-style chat format is supported (or prompt and completions as separate columns). 3. If it’s genuinely stuck, contact support and include your dataset ID Occasionally a retry after a backend fix shows 100% progress but a **failed** status, worth retrying once before escalating. ## Step 7 | Results & Understand your quality score When processing finishes, open the dataset and switch to the **View** tab. Each row lays out the adapted output side by side with your source data — original vs. enhanced prompt, original vs. enhanced completion, and any context rendered inline. After a run finishes, the platform can produce a Quality score before / after pair (0–10 scale) with a letter grade and a before / after pair for percentile (0 - 100). ## Common issues - **Stuck at “Job Launched” for hours** — usually queue time not shown in the estimate; wait past the displayed estimate first. - **Stuck at pending for a Kaggle/HF image dataset specifically** — known multimodal ingestion hang; don’t wait indefinitely, contact support with the dataset ID. - **Generic “Processing Failed” on a large JSONL** — usually a backend issue; retry once, then contact support with the dataset ID if it recurs. - **Row count drops after adaption** — expected: duplicate rows are discarded during processing. - **Dataset rejected for format** — not OpenAI-style chat format; reshape to prompt/completion/chat as described in Step 2. - **Strict Prompt Fidelity**\ For datasets where the original prompts must be preserved exactly, we recommend disabling **Rephrasing** and **Metadata Injection**. This prevents Adaption from modifying prompt wording or adding contextual metadata, giving you greater control over how closely the adapted dataset matches the source while reducing the risk of unintended prompt changes.