Skip to content
Euler Docs

Search and saved slices

Search turns readiness into customer-facing value: a model team can find the exact failure modes, robot states, or high-quality examples needed for the next training or eval loop.

Structured filter first

from euler.index import EpisodeSearchIndex, SearchQuery
 
query = SearchQuery(
    text="failed grasp recovery with object slip",
    task="pick-place",
    outcome="failure",
    min_readiness_score=0.55,
)
 
response = EpisodeSearchIndex(episodes).search(query)

Typed filters run before vector ranking. The response includes evidence so a reviewer can see why each episode matched.

Save the result

from euler.index import save_slice_definition
 
saved = save_slice_definition(
    slice_id="failed-grasp-recovery",
    search_response=response,
    created_by="ml-lead",
)

Saved slices preserve membership, coverage, rank, score, evidence, and the original query hash.

Promote to an eval set

eval_set = saved.to_eval_set(locked_by="ml-lead")

The eval set is deterministic and content-addressed, so model comparisons can refer to a stable data contract.