Text Ranking
Transformers
ONNX
Safetensors
sentence-transformers
Transformers.js
modernbert
text-classification
reranker
cross-encoder
mmbert
text-embeddings-inference
Instructions to use Horizon-Labs/multilingual-reranker-base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Horizon-Labs/multilingual-reranker-base with Transformers:
# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("Horizon-Labs/multilingual-reranker-base") model = AutoModelForSequenceClassification.from_pretrained("Horizon-Labs/multilingual-reranker-base", device_map="auto") - sentence-transformers
How to use Horizon-Labs/multilingual-reranker-base with sentence-transformers:
from sentence_transformers import CrossEncoder model = CrossEncoder("Horizon-Labs/multilingual-reranker-base") query = "Which planet is known as the Red Planet?" passages = [ "Venus is often called Earth's twin because of its similar size and proximity.", "Mars, known for its reddish appearance, is often referred to as the Red Planet.", "Jupiter, the largest planet in our solar system, has a prominent red spot.", "Saturn, famous for its rings, is sometimes mistaken for the Red Planet." ] scores = model.predict([(query, passage) for passage in passages]) print(scores) - Transformers.js
How to use Horizon-Labs/multilingual-reranker-base with Transformers.js:
// npm i @huggingface/transformers import { AutoTokenizer, AutoModelForSequenceClassification } from '@huggingface/transformers'; const tokenizer = await AutoTokenizer.from_pretrained('Horizon-Labs/multilingual-reranker-base'); const model = await AutoModelForSequenceClassification.from_pretrained('Horizon-Labs/multilingual-reranker-base'); const query = 'Which planet is known as the Red Planet?'; const documents = [ 'Mars, known for its reddish appearance, is often referred to as the Red Planet.', 'Venus is often called the twin of Earth because of its similar size and proximity.', ]; const inputs = tokenizer(new Array(documents.length).fill(query), { text_pair: documents, padding: true, truncation: true }); const { logits } = await model(inputs); console.log(logits.sigmoid().tolist()); // one relevance score per document - Notebooks
- Google Colab
- Kaggle
File size: 1,022 Bytes
286c4ad | 1 2 3 4 5 6 7 8 9 10 11 12 13 | """Pick queries for teacher scoring. python rerank/subsample.py MINED.parquet PASSAGES.parquet OUT.parquet [PER_LANG] [ENG] [K]
Stratified by the source passage's language: up to PER_LANG queries per language (ENG for English), keeping the
question/keywords/english mix; candidates cut to the top K (source first, then the hardest retrieved negatives)."""
import sys
import pandas as pd
m, p, out = sys.argv[1:4]
per, eng, K = (int(sys.argv[4]) if len(sys.argv) > 4 else 3200), (int(sys.argv[5]) if len(sys.argv) > 5 else 20000), (int(sys.argv[6]) if len(sys.argv) > 6 else 16)
df = pd.read_parquet(m); lang = dict(pd.read_parquet(p)[["pid", "lang"]].values); df["plang"] = df.pid.map(lang)
df = pd.concat([g.sample(min(len(g), eng if l == "eng_Latn" else per), random_state=0) for l, g in df.groupby("plang")])
df["cands"] = df.cands.map(lambda c: list(c)[:K])
df.sample(frac=1.0, random_state=0).reset_index(drop=True).to_parquet(out)
print(len(df), "queries", len(df) * K, "pairs", df.qtype.value_counts().to_dict())
|