Skip to content

jevector

Profile matching that encodes preference criteria as Clef or Jev decision vectors, retrieves with HNSW and checks rules both ways.

BenchmarkresearchMIT

Overview

Jevector addresses profile matching, where similar text alone does not show whether two people meet each other's preferences. It uses Clef or Jev to encode specific criteria as decision vectors of 64 or 256 numeric values, retrieves candidate profiles with HNSW, checks mandatory conditions in both directions, and ranks remaining profiles by preference coverage.

On a benchmark of 52 synthetic profiles with eight held-out queries, each with one intended partner, measured before rule filtering, Clef 256 placed the partner first every time, Jev 64 and Jev 256 each reached 87.5% top-1 and 100% top-5, while BM25, BGE-small embeddings and their combination found the partner first at most 12.5% of the time. The README is careful to note that the profiles were built around the selected criteria and the test is small, so the results do not establish better performance on real profiles or general search. A full report covers methods, rule-filtered results and HNSW recall. MIT licensed.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this profile satisfy criterion X? (one of 64 or 256 decision dimensions)(inferred)—

How it works

  1. Encode each profile's criteria as a decision vector with Clef or Jev
  2. Retrieve candidates with HNSW
  3. Check mandatory conditions in both directions
  4. Rank by preference coverage

Strengths

  • Large advantage over BM25 and embeddings on this synthetic test
  • Interpretable vector dimensions
  • Supports Clef and Jev

Caveats

  • Small synthetic benchmark built around chosen criteria
  • Not shown to generalise to real profiles

Getting started

git clone https://github.com/lalalune/jevector.git, create a Python 3.11+ venv and install, then run the benchmark.

At a glance

Type
Benchmark
Status
research
Language
Python
Runtime
CLI
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • Decision-vector profile retrieval with Clef and Jev, HNSW search, and BM25/BGE benchmark comparisons.

    hellogumbo/awesome-jev

Frequently asked questions

How does it beat embeddings?

It encodes specific criteria as decision values rather than general text similarity.

How large is the test?

52 synthetic profiles and eight held-out queries.

Does it work on real dating or hiring data?

The README says the results do not establish that.

Related projects

  • Jev as a calibrated reranker: query plus up to 30 documents in one call, one relevance Noul per document, benchmarked on BEIR.

    ProjectbetaPython
  • Milvus-based multi-hop graph RAG library where two-stage Jev Noul scoring selects relations and reranks passages.

    LibrarybetaPython
  • Compares Jev's zero-shot reranking with specialist rerankers on MS MARCO passage and document benchmarks and a TREC WSJ transfer test.

    ProjectresearchPython
  • Pull request adding Jev to station-suggestion reranking in the TrainLCD transit app's Cloudflare Worker backend.

    AppTypeScript
  • Local-first knowledge search with BM25 shortlisting and Jev Noul reranking by default, seven selectable pipelines and cited answers.

    AppbetaPython
  • Open Jev-style 0.6B decision model plugged into BlitzRank and Reranker-Guided Search, scoring k candidates per match in one pass.

    ServiceresearchPython