Unified data platform
for physical AI
Powering agentic systems with millisecond queries at petabyte scale and billions of records.
Search: construction zones where v42 disengagd
Compiled in 4 ms
near embedding("construction zone")
where software = 'v42'
and disengaged = true
limit 44 nearest matches
- 1d = 0.214in view
- 2d = 0.229
- 3d = 0.241
- 4d = 0.256
Search: palets in the aisles at reno-2 this week
Compiled in 5 ms
near embedding("pallet in the aisle")
where site = 'reno-2'
and ts >= date_trunc('week', now())
limit 44 nearest matches
- 1d = 0.197in view
- 2d = 0.213
- 3d = 0.224
- 4d = 0.238
Search: frnaka arms failing to grasp clear cups
Compiled in 3 ms
near embedding("grasping a clear cup")
where robot = 'franka'
and success = false
limit 44 nearest matches
- 1d = 0.188in view
- 2d = 0.205
- 3d = 0.219
- 4d = 0.233
What we can do
Fig. 1 A failure's nearest neighbors in embedding space. Rows that fail the filter drop out. Triage a failure
Start from a disengagement or failed grasp and find every event like it on the same platform, software, and conditions, and send the set to labeling.
near clip(:event) where platform = 'a' and software = 'v42'Fig. 2 A hit on camera, lidar, and CAN streams, widened to two seconds before and five after. Pull the context
Expand every hit to the seconds around it and hand the source references to the viewer you already use.
near clip(:hit) expand window 2 s before, 5 s afterFig. 3 The same six situations: v41 handled five, v42 missed three. Catch a regression
Search the same situations under two releases and compare what each one did before you ship.
near clip(:miss) where software in ('v41', 'v42')Fig. 4 How often each scenario occurs. The matches sit in the rare end. Mine the long tail
Describe a rare scenario in words and get the closest real examples, even when the conditions leave one row in a million.
near embedding("unprotected left, heavy rain") where time_of_day = 'night'Fig. 5 The best one or two frames per episode, balanced across three cities. Build an eval set
Assemble test sets that cover the scenarios you care about: the best few per episode, spread across cities, weather, and sites.
near clip(:scenario) where city in ('sf', 'phx', 'aus') top 5 per episode_idFig. 6 Teleop trajectories; the three closest to the new task are highlighted. Pick demonstrations
Find the teleop episodes closest to a new task, on the right robot and gripper, to fine-tune a policy.
near embedding("insert peg into hole") where robot = 'franka' and success = true
Illustrations. Each figure is drawn from its query, not from a measurement.
Works on the data you already have.
Bring your datasets and logs
FiftyOne or LeRobot datasets, MCAP or rosbag logs. Falcon keeps an embedding per frame, clip, or episode, the fields you filter on, and a reference back to the source.
Ask with meaning and conditions
Start from an example or a sentence. Filter on any column and time range, and group results by episode or run.
Get exactly what matches
Every result passes your filter, and you get the k you asked for whenever that many exist.
EXPLAIN SEARCHshows the plan that ran.
The filter decides the plan.
Falcon estimates how many rows pass, and where they sit, picks a plan, and switches when the estimate was wrong.
Plan
Graph traversal
- Rows that pass
- 75%
- Near the query
- 72%
Most rows pass, so walking the similarity graph toward the query finds matches almost immediately.
EXPLAIN SEARCH
- rows pass
- 75% (675 of 900)
- plan
- graph traversal, ef = 24
- visited
- 45 rows, 33 pass
- result
- k = 5 d 0.003–0.015 recall 5/5
Top matches at distances 0.003, 0.009, 0.012, 0.014, 0.015.
Plan
Partition search
- Rows that pass
- 13%
- Near the query
- 60%
13% pass, and they cluster around the query. Probing the three closest partitions covers them.
EXPLAIN SEARCH
- rows pass
- 13% (115 of 900)
- plan
- partition search, probe 3 of 16
- scanned
- 181 rows, 71 pass
- result
- k = 5 d 0.003–0.019 recall 5/5
Top matches at distances 0.003, 0.005, 0.009, 0.011, 0.019.
Plan
Exact scan
- Rows that pass
- 0.6%
- Near the query
- 0%
Only 5 rows pass. Scoring every one is the fastest plan, and it’s exact.
EXPLAIN SEARCH
- rows pass
- 0.6% (5 of 900)
- plan
- exact scan of rows that pass
- scored
- 5 rows
- result
- k = 5 d 0.192–0.319 recall 5/5
Top matches at distances 0.192, 0.209, 0.257, 0.271, 0.319.
Plan
Partition search, then exact scan
- Rows that pass
- 7.8%
- Near the query
- 0%
7.8% pass, but they sit far from the query. The probe found 1 of the 5 needed, so the planner switched to scoring all 70.
EXPLAIN SEARCH
- rows pass
- 7.8% (70 of 900)
- plan
- partition search, probe 3 of 16
- scanned
- 181 rows, 1 pass: too few
- switch
- exact scan of 70 rows that pass
- result
- k = 5 d 0.089–0.288 recall 5/5
Top matches at distances 0.089, 0.159, 0.231, 0.288, 0.288.
Most fixed strategies have a cliff