FAQ
Frequently asked questions about Adaptive Data, the Adaption API, and the Python SDK.
What is Blueprint?
Section titled “What is Blueprint?”Blueprint is Adaption’s specification layer for Adaptive Data: you define goals—length, safety, custom policies—and the platform steers adapted data toward those objectives so requirements are explicit and persistent, not one-off prompt tweaks.
In the SDK, the brand_controls.blueprint field on datasets.run is the freeform-prose surface for that layer: a system prompt injected into every generated completion for tone, persona, language, or any guideline that does not fit the structured length/safety/grounding fields. See Brand controls.
How do I authenticate?
Section titled “How do I authenticate?”Create an API key in the Adaption app and either pass it to Adaption(api_key=...) or set ADAPTION_API_KEY. See Create API keys.
What are the ways to create a dataset?
Section titled “What are the ways to create a dataset?”Three ingestion paths:
- Local file —
datasets.upload_file()(CSV, JSON, JSONL, Parquet). - Hugging Face —
datasets.create_from_huggingface(); server-side import is asynchronous—wait before you adapt. - Kaggle —
datasets.create_from_kaggle(); add Kaggle credentials under API keys settings.
Details: Getting started.
When should I use file upload vs Hugging Face vs Kaggle?
Section titled “When should I use file upload vs Hugging Face vs Kaggle?”- Upload when files are already local or exported from another system.
- Hugging Face when the canonical dataset lives there and you want specific files without manual download.
- Kaggle when the source of truth is a Kaggle dataset and credentials are registered in API keys settings.
Can I use PDFs and other unstructured documents as input?
Section titled “Can I use PDFs and other unstructured documents as input?”Yes. Adaptive Data accepts raw, document-style inputs—PDFs, OCR’d scans, spreadsheets, slide decks, email threads, and similar formats—via any of the ingestion paths (local upload, Hugging Face, or Kaggle). When document-style data arrives, the app detects that it is unstructured and walks you through a short flow that turns it into a dataset without bespoke preprocessing pipelines. This capability is powered by the Adaptive Data Forge feature. See Processing unstructured documents.
What’s the difference between structured and unstructured data?
Section titled “What’s the difference between structured and unstructured data?”This distinction is independent of how you bring data into Adaption. Structured data—CSV, JSON, JSONL, Parquet, or Hugging Face / Kaggle datasets in those formats—flows through ingestion as-is and you map columns directly. Unstructured data—PDFs, scans, slide decks, layout-heavy spreadsheets, and similar document-style files—triggers an additional flow that extracts the content and lets you choose how it splits into rows before column mapping. Either kind can arrive via local upload, Hugging Face, or Kaggle. See Processing unstructured documents.
What is column mapping?
Section titled “What is column mapping?”column_mapping tells Adaptive Data which columns hold the prompt, optional completion, chat, or context. prompt is required for a real run. Examples: Getting started.
How do credits and estimates work?
Section titled “How do credits and estimates work?”Call datasets.run(..., estimate=True) to validate the request and read estimated credits and duration without starting a full run—so you can budget jobs and gate CI. Actual usage can still vary with data volume and options.
How do I wait for a dataset or run to finish?
Section titled “How do I wait for a dataset or run to finish?”Use datasets.wait_for_completion(dataset_id, timeout=...) (exponential backoff) or handle DatasetTimeout for long jobs. You can also poll get_status / get manually.
What is hallucination mitigation?
Section titled “What is hallucination mitigation?”With brand_controls={"hallucination_mitigation": True}, the platform applies grounding (including web search where applicable) to reduce fabricated content. See Mitigating hallucinations.
What are reasoning traces?
Section titled “What are reasoning traces?”recipe_specification={"recipes": {"reasoning_traces": True}} requests adapted completions that include explicit reasoning—useful for auditing and certain training setups. See Reasoning traces.
How do length and safety relate to Blueprint?
Section titled “How do length and safety relate to Blueprint?”brand_controls exposes length (minimal | concise | detailed | extensive), safety_categories, and blueprint (a freeform system prompt for tone, persona, or brand voice) as part of run-level specification—the same philosophy described in Blueprint. See Brand controls.
Where are terms and privacy?
Section titled “Where are terms and privacy?”How do I get help?
Section titled “How do I get help?”See Support or email support@adaptionlabs.ai.
Do you support async Python?
Section titled “Do you support async Python?”Yes. Use AsyncAdaption with await / async for as in Getting started.