post
https://api.mbd.xyz/v3/studio/ranking/feed
Rerank a list of items through an optional 3-stage pipeline: sort → diversity → limits_by_field.
Each item must have item_id; other fields are used by the pipeline stages. The final order is returned with position-based scores in [0, 1] (first item = 1.0, last = 0.0 for n > 1).
Sort Stage (optional):
sort: Multi-field sort.params.fields(array of field names),params.direction(array ofascordesc, same length as fields).linear: Weighted sum.paramsis a list of{ field, weight }. Items are scored bysum(field_i * weight_i)and ordered descending.mix: Interleave by percentage.paramsis a list of{ field, percentage, direction }. Percentages are normalized; items are taken in round-robin from each sorted list.
Diversity Stage (optional):
fields: Round-robin over groups.params.fields= list of field names. Items are grouped by field values and interleaved.semantic: MMR-style diversity.params.lambdain [0, 1] (trade-off between relevance and diversity),params.horizon>= 5 (window size). Items should have anembedfield (numeric array).
Limits-by-Field Stage (optional):
params.every_n: Slot size (>= 2).params.rules: list of{ field, limit }. Within each slot of sizeevery_n, at mostlimititems per distinct value offieldare allowed.
