agentleFS
svngokusvngoku/coding-agents-skills/skills/adaption-ai/SKILL.md

adaption-ai

Skill12 starsChanged 23 days agoMITView on GitHub

Adaption AI SDK for synthetic data augmentation and dataset adaptation. Use when building data pipelines with the Adaption Python SDK, uploading datasets (local files, Hugging Face, Kaggle), running augmentation/adaptation jobs, configuring brand controls (hallucination mitigation, safety categories, length), recipe specifications (reasoning traces, deduplication, preference pairs, prompt rephrase), evaluating dataset quality, downloading results, or any workflow involving `pip install adaption`, `from adaption import Adaption`, Adaptive Data, or the adaptionlabs.ai API. Also trigger when the user mentions synthetic data generation for fine-tuning, dataset augmentation pipelines, DPO preference pair generation, or grounding-based hallucination reduction on training data.

  • Reads credentials
  • Installs packages

The file

We split this skill into the rules it gives an agent

1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Evaluation lags adaptation: run may show succeeded before eval finishes — poll get_evaluation separately

    line 144

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Adaption AI SDK Skill

Build dataset augmentation pipelines with Adaption's Adaptive Data platform. This skill covers the full lifecycle: ingest → adapt → wait → evaluate → export.

Quick Reference

pip install adaption
from adaption import Adaption
client = Adaption(api_key="pt_live_...")  # or set ADAPTION_API_KEY env var

Async client: from adaption import AsyncAdaption

Core Lifecycle

  1. Ingest — Upload local file, import from HuggingFace, or import from Kaggle
  2. Adapt — Start an augmentation run with column mapping + optional controls
  3. Wait — Poll for completion with exponential backoff
  4. Evaluate — Fetch quality metrics (score_before/after, improvement %)
  5. Export — Download augmented dataset via presigned URL

Ingest Methods

Local file upload

Supported formats: .csv, .json, .jsonl, .parquet

result = client.datasets.upload_file("training_data.csv")
result = client.datasets.upload_file("data.csv", name="my-dataset")  # custom name
dataset_id = result.dataset_id

Hugging Face import (async on server — poll before running)

resp = client.datasets.create_from_huggingface(
    url="https://huggingface.co/datasets/org/repo",
    files=["train.csv"],
)

Kaggle import (requires Kaggle API creds registered in Adaption settings)

resp = client.datasets.create_from_kaggle(
    url="https://www.kaggle.com/datasets/org/dataset-name",
    files=["data.csv"],
)

Running Adaptation Jobs

datasets.run() — the central method

Required: dataset_id, column_mapping with at least "prompt" key.

run = client.datasets.run(
    dataset_id,
    column_mapping={
        "prompt": "instruction",       # required
        "completion": "response",      # optional
        # "chat": "conversation",      # optional — alternative to prompt+completion
        # "context": ["source", "ref"],# optional — list of context columns
    },
    # --- Optional controls (see references/ for details) ---
    brand_controls={...},
    recipe_specification={...},
    job_specification={...},
    estimate=True,  # dry-run: get cost quote without starting
)

Response fields: run.run_id, run.estimated_credits_consumed, run.estimated_minutes

Brand Controls (brand_controls)

KeyTypePurpose
hallucination_mitigationboolWeb-search grounding to reduce fabricated content
length"minimal"│"concise"│"detailed"│"extensive"Target verbosity
safety_categorieslist[str]Content categories to enforce (e.g. ["harassment","hate"])

Recipe Specification (recipe_specification)

recipe_specification={
    "recipes": {
        "reasoning_traces": True,          # chain-of-thought in completions
        "deduplication": True,             # remove near-duplicates
        "preference_pairs": True,          # DPO chosen/rejected pairs
        "prompt_rephrase": True,           # rephrase prompts for variety
        "prompt_metadata_injection": True, # inject context into prompts
    },
    "version": "...",  # optional schema version
}

Job Specification (job_specification)

job_specification={
    "max_rows": 500,           # subsample for pilots
    "idempotency_key": "...",  # safe retries
}

Wait, Evaluate, Export

from adaption import DatasetTimeout

# Wait (exponential backoff 2s→30s, default timeout 1hr)
try:
    status = client.datasets.wait_for_completion(dataset_id, timeout=600)
except DatasetTimeout as e:
    print(f"Still running after {e.timeout}s")

# Evaluate quality
ev = client.datasets.get_evaluation(dataset_id)
# ev.status: pending | running | succeeded | failed | skipped
# ev.quality.score_before, ev.quality.score_after, ev.quality.improvement_percent

# Download
url = client.datasets.download(dataset_id)  # presigned S3 URL

When to read more

NeedRead
Full run parameters, all API endpoints, HTTP/curl examplesreferences/api-reference.md
Hallucination mitigation, safety, length, reasoning traces guidesreferences/guides.md
End-to-end scripts (upload→adapt→evaluate→download)scripts/e2e_pipeline.py
Async patternsscripts/async_pipeline.py

Key Patterns

  • Always estimate first on large datasets: estimate=True before real run
  • Poll after HF/Kaggle import: ingestion is async; wait for row_count is not None
  • Evaluation lags adaptation: run may show succeeded before eval finishes — poll get_evaluation separately
  • Combine controls freely: brand_controls + recipe_specification + job_specification all compose on one datasets.run() call

Anti-Patterns to Avoid

  • Running a real job without estimating first — on large datasets, always call with estimate=True and check estimated_credits_consumed before spending budget
  • Reading results right after HF/Kaggle import — ingestion is async; wait until row_count is not None before running a job, or you'll process an empty dataset
  • Treating run completion as evaluation completion — the run can show succeeded while the evaluation is still running; poll get_evaluation separately
  • Retrying without an idempotency_key — naive retries on network errors create duplicate jobs; set job_specification.idempotency_key
  • Missing the prompt key in column_mapping — it is required; jobs fail with confusing errors when the mapping is incomplete

When to Use / Not Use

Use this skill when:

  • Generating synthetic training data or augmenting existing datasets for fine-tuning
  • Building DPO preference pairs, reasoning traces, or grounded (hallucination-mitigated) training data
  • Working with the Adaption Python SDK (pip install adaption) or the adaptionlabs.ai API

Do NOT use this skill when:

  • The data only needs simple cleaning/formatting — a local pipeline is cheaper
  • The work must stay fully on-premises with no external platform dependency
  • You are not using Adaption's platform — use the generic dataset pipelines of the framework you're already on

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.