Skip to content

Number Resolver ≥0.1.0

The number resolver maps a numeric value to a radial embedding. It is designed for fields that contain a continuous numeric value within a known range (e.g. a price, a rating, a distance).

How It Works

The input value is normalised to a [0, 1] range with respect to the configured min and max values. The normalised value is then mapped to an angle covering 1.5π radians (not a full circle), ensuring that values at opposite ends of the range are not given similar embeddings. The output is a two-dimensional vector of (cos θ, sin θ) coordinates, scaled by an optional multiplier.

Settings

Setting Type Default Description
min number 0.0 Lower bound of the value range.
max number — (required) Upper bound of the value range. Must be greater than min.

Embedding Size

The number resolver always produces 2 dimensions.

Validation

  • min must be strictly less than max.
  • Input values must be within the [min, max] range (inclusive).

Example

{
  "name": "price",
  "type": "number",
  "path": "$.price",
  "settings": {
    "min": 0.0,
    "max": 1000.0
  },
  "multiplier": 1.0
}