Match Score
Semantic Search
Score Vehicles Against an Intent
Score an LLM-supplied shopper intent against a caller-supplied list of VINs using each vehicle’s already-stored internal service vector — no re-embedding of vehicles. One embedding call (the intent), one internal service retrieve, cosine similarity in Python.
Scores are in the natural-language low range (~0.2–0.4), NOT the 0.9+ of /similar (which compares two rich vehicle vectors). That’s expected: short intent vs full vehicle vector. Do not normalize or inflate.
POST
Match Score
Takes a shopper intent (a question or short description) and a caller-supplied list of VINs. Returns each VIN’s match score against the intent, an
in_stock flag, and an optional price_fit against price_min / price_max. The vehicles are not re-encoded; Vault reuses each one’s already-stored vector for the comparison.
Use this endpoint when an LLM holds a shortlist from a prior turn (a /v2/search result, a hand-picked set, a previously-shown group) and wants to re-rank just that shortlist as the shopper adds a constraint or shifts intent. For ranking against a dealer’s full inventory, use POST /v2/search instead.
Scores fall in the natural-language low range (typically 0.20 to 0.40), which is expected for question-vector versus vehicle-vector comparisons. Treat the relative ranking, not the absolute value, as the signal.
For a worked end-to-end example showing /v2/search and /v2/match-score together in an agentic flow, see the Semantic Search guide.