BAAI/bge-reranker-v2-m3
BAAI
Clasificación de texto
Modelo de reranking multilingüe ligero, fácil de desplegar, con capacidades multilingües robustas y rápida inferencia.
Como usar
Instalación y uso del modelo:
pip install -U FlagEmbedding
from FlagEmbedding import FlagReranker
reranker = FlagReranker('BAAI/bge-reranker-v2-m3', use_fp16=True) # Configurar use_fp16 a True acelera el cálculo con una ligera degradación del rendimiento
score = reranker.compute_score(['consulta', 'pasaje'])
print(score) # -5.65234375
# Se pueden mapear los puntajes en un rango de 0 a 1 configurando "normalize=True", lo cual aplicará la función sigmoide al puntaje
score = reranker.compute_score(['consulta', 'pasaje'], normalize=True)
print(score) # 0.003497010252573502
scores = reranker.compute_score([['qué es un panda?', 'hola'], ['qué es un panda?', 'El panda gigante (Ailuropoda melanoleuca), a veces llamado oso panda o simplemente panda, es una especie de oso endémica de China.']])
print(scores) # [-8.1875, 5.26171875]
# Se pueden mapear los puntajes en un rango de 0 a 1 configurando "normalize=True", lo cual aplicará la función sigmoide al puntaje
scores = reranker.compute_score([['qué es un panda?', 'hola'], ['qué es un panda?', 'El panda gigante (Ailuropoda melanoleuca), a veces llamado oso panda o simplemente panda, es una especie de oso endémica de China.']], normalize=True)
print(scores) # [0.00027803096387751553, 0.9948403768236574]
# Uso del modelo con Huggingface transformers
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained('BAAI/bge-reranker-v2-m3')
model = AutoModelForSequenceClassification.from_pretrained('BAAI/bge-reranker-v2-m3')
model.eval()
pares = [['qué es un panda?', 'hola'], ['qué es un panda?', 'El panda gigante (Ailuropoda melanoleuca), a veces llamado oso panda o simplemente panda, es una especie de oso endémica de China.']]
con torch.no_grad():
inputs = tokenizer(pares, padding=True, truncation=True, return_tensors='pt', max_length=512)
scores = model(**inputs, return_dict=True).logits.view(-1, ).float()
print(scores)
Funcionalidades
- Reranker ligero
- Capacidades multilingües
- Fácil despliegue
- Rápida inferencia
Casos de uso
- Reclasificación de resultados relevantes
- Mejorar la puntuación de relevancia entre consulta y pasaje
- Adecuado para contextos multilingües
- Despliegue eficiente y rápido