BAAI/bge-reranker-v2-gemma

BAAI
Clasificación de texto

BAAI/bge-reranker-v2-gemma es un modelo de clasificación de texto multilingüe desarrollado para proporcionar puntajes de relevancia entre consultas y documentos. Este modelo es particularmente adecuado para entornos multilingües, destacándose en la competencia en inglés y en capacidades multilingües. Es fácil de desplegar y ofrece una inferencia rápida.

Como usar

Usando FlagEmbedding

pip install -U FlagEmbedding

Para un reranker normal:

from FlagEmbedding import FlagReranker
reranker = FlagReranker('BAAI/bge-reranker-v2-gemma', use_fp16=True) 

score = reranker.compute_score(['consulta', 'documento'])
print(score)

Para un reranker basado en LLM:

from FlagEmbedding import FlagLLMReranker
reranker = FlagLLMReranker('BAAI/bge-reranker-v2-gemma', use_fp16=True)

score = reranker.compute_score(['consulta', 'documento'])
print(score)

Usando Huggingface transformers

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained('BAAI/bge-reranker-v2-gemma')
model = AutoModelForCausalLM.from_pretrained('BAAI/bge-reranker-v2-gemma')
model.eval()

pairs = [['qué es un panda?', 'hola'], ['qué es un panda?', 'El oso panda gigante (Ailuropoda melanoleuca), a veces llamado oso panda o simplemente panda, es una especie de oso endémica de China.']]
with torch.no_grad():
    inputs = tokenizer(pairs, padding=True, truncation=True, return_tensors='pt', max_length=512)
    scores = model(**inputs, return_dict=True).logits.view(-1, ).float()
print(scores)

Funcionalidades

Modelo ligero optimizado para entornos multilingües
Proporciona puntajes de relevancia que miden la similitud entre consultas y documentos
Funciona bien tanto en inglés como en otros idiomas
Implementación rápida y eficiente
Capaz de utilizar funciones de normalización como la función sigmoide para mapear puntajes a un rango de [0,1]

Casos de uso

Clasificación de la relevancia de documentos en búsqueda de información
Reranqueo de resultados de búsqueda para mejorar la precisión
Aplicaciones multilingües de procesamiento de lenguaje natural
Evaluaciones rápidas y eficientes en entornos multilingües