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