Skip to main content
Build a labeled dataset from scratch and auto-classify new data using taxonomy-based matching.
Auto-labeling uses the warehouse’s enrichment layer (taxonomies) to classify documents at query time, the multimodal equivalent of a SQL JOIN.
This tutorial shows how to:
  1. Start with unlabeled data
  2. Use feature extraction to find relevant items
  3. Manually label a small reference set
  4. Automatically classify new items based on the reference set
  5. Create a self-improving system that gets better over time
Bootstrap Labeled Dataset Workflow

Overview

This tutorial demonstrates two approaches to building an auto-labeling system:
  • Option A: Unified Approach (Recommended) - Single bucket/collection that grows smarter over time
  • Option B: Separate Approach - Dedicated reference set with production data separated
Both approaches follow the same core workflow:
  1. Upload unlabeled data with feature extraction
  2. Manually label a small reference set (10-20 examples per category)
  3. Configure taxonomy to auto-label new items based on similarity
  4. Review and label unknowns to continuously improve

Use Cases

  • Product Recognition: Label product images, auto-tag new inventory
  • People Identification: Build a face recognition system from photos
  • Document Classification: Categorize documents by type or topic
  • Object Detection: Label objects in images for training data

The unified approach uses a single bucket and collection that references itself. As you label items, they immediately become part of the reference set for future matches.

Step 1: Create Bucket and Collection

Create a bucket and collection with self-referencing taxonomy:

Step 2: Upload Initial Unlabeled Data

Upload 50-100 images. Feature extraction happens automatically, but no auto-labeling occurs yet (no labeled examples to match against).

Step 3: Manually Label Reference Set

Query documents and label them:
Labeling tips:
  • Label 10-20 examples per category minimum
  • Include diverse examples (angles, lighting, backgrounds)
  • Use consistent naming conventions

Step 4: Upload New Items - Auto-Labeling Works!

Now that you have labeled examples, new uploads auto-label automatically:
What happens automatically:
  1. Feature extraction runs on the new image
  2. Taxonomy searches your labeled items for similar matches
  3. If similarity > 0.30 → Auto-labels (e.g., "Red Running Shoes")
  4. If similarity < 0.30 → Leaves as null for manual review
Check the result:
Matched:
Unknown (needs manual review):

Step 5: Review and Label Unknowns

Find items that need manual labeling:
Label them via bucket (automatically syncs to collection):
Self-improvement in action: This newly labeled item becomes part of the reference set for future uploads!

Option B: Separate Approach

For more control, keep reference data separate from production data:
  • Reference bucket/collection: Curated, high-quality labeled examples
  • Production bucket/collection: All data with auto-labels
When to use:
  • Need strict quality control on reference set
  • Want to prevent noisy auto-labels from affecting matching
  • Prefer to manually review before promoting items to reference

Step 1: Create Reference Bucket and Collection

Step 2: Upload and Label Reference Set

Upload 50-100 curated images to the reference bucket and manually label them:

Step 3: Create Production Bucket and Collection

Step 4: Upload Production Data

New uploads auto-label based on the reference set:

Step 5: Promote High-Confidence Items to Reference

Periodically review production data and promote high-confidence matches:

Real-World Examples

Example 1: Face Recognition System

Example 2: Document Classification


Advanced Configuration

Tuning Confidence Thresholds

The confidence_threshold determines how conservative auto-labeling is: Finding the right threshold:
  1. Start with 0.30
  2. Monitor false positive rate (wrong auto-labels)
  3. Check coverage (% of items auto-labeled)
  4. Adjust based on cost of errors:
    • High cost of errors (e.g., medical imaging) → Higher threshold
    • Low cost of errors (e.g., photo organization) → Lower threshold

Monitoring & Analytics

Track performance with these queries:
Key metrics:
  • Auto-label coverage: % of new items auto-labeled
  • Manual review queue: # of items with label: null
  • Confidence distribution: Are matches clustered around threshold?
  • False positive rate: Sample and manually verify auto-labels

Best Practices

Reference set quality:
  • Include diverse examples (angles, lighting, backgrounds)
  • Use consistent naming conventions
  • Aim for balanced distribution across categories
  • Maintain high-quality, unambiguous images
Labeling guidelines:
  • Create a labeling style guide
  • Consider hierarchical labels: "Shoes > Running > Red"
  • Define rules for edge cases
  • Version your taxonomy as it evolves
Continuous improvement:
  • Review unknowns regularly
  • Audit auto-labels periodically
  • Add corrected examples when system makes mistakes
  • Expand categories as needed
Production deployment:
  • Start with conservative threshold (0.40+)
  • Implement human-in-the-loop for critical applications
  • Enable feedback mechanism for corrections
  • A/B test threshold changes

Troubleshooting

Too many unlabeled items

Causes: Threshold too high, insufficient reference examples, new categories Solutions:
  • Lower confidence_threshold to 0.25-0.30
  • Add 20+ examples per category to reference set
  • Review and label new categories

False positives (wrong labels)

Causes: Threshold too low, similar categories, poor quality references Solutions:
  • Raise confidence_threshold to 0.40+
  • Add diverse examples to distinguish categories
  • Clean up reference set

System not self-improving

Causes: Labels not syncing, configuration issues Solutions:
  • Verify field_passthrough includes label field
  • Check retriever filters for non-null labels
  • Confirm bucket-to-collection sync is working

Summary

Workflow:
  1. Create bucket and collection with feature extraction
  2. Upload unlabeled data (50-100 items)
  3. Manually label reference set (10-20 per category)
  4. Create taxonomy retriever pointing to labeled items
  5. New uploads auto-label based on similarity
  6. Review and label unknowns to improve system
Key benefits:
  • Start with zero labels, build incrementally
  • Automate repetitive labeling
  • Self-improving with each manual correction
  • Scales from dozens to millions
Next steps:
  • Choose unified (simpler) or separate (more control) approach
  • Start with 50-100 reference items
  • Test different confidence thresholds (start at 0.30)
  • Monitor auto-label quality and adjust

Discover Clusters

Use clustering to find new categories before defining them manually:
Clusters reveal groups you haven’t labeled yet — “sandals”, “boots”, “athletic wear” — without predefined categories. Once a cluster stabilizes, promote it to a taxonomy node so future items auto-classify into it. See Clusters.

Set Up Alerts

Get notified when items fail to auto-label (unknown categories needing manual review). An alert runs a retriever and fires on its results — so first create a retriever that surfaces unlabeled items, then point an alert at it.
See Alerts for system-metric alerts and Slack/email channels.

Set Up Webhooks

Forward ingestion and labeling events to your own systems:
event_types accepts object/collection/cluster/taxonomy/alert lifecycle events (e.g. object.created, object.updated, object.deleted, collection.created). See Webhooks for the full event list and Slack/email channels.