cmarkea/bloomz-3b-reranking
Este modelo de reordenamiento se construye a partir del modelo cmarkea/bloomz-3b-dpo-chat y tiene como objetivo medir la correspondencia semántica entre una pregunta (consulta) y un contexto. Con su puntuación normalizada, ayuda a filtrar las coincidencias consulta/contexto generadas por un recuperador en un contexto de ODQA (Open-Domain Question Answering). Además, permite reordenar los resultados utilizando un enfoque de modelado más eficiente que el del recuperador. Sin embargo, este tipo de modelado no es adecuado para la búsqueda directa en bases de datos debido a su alto costo computacional. Desarrollado para ser independiente del idioma, este modelo admite tanto francés como inglés. En consecuencia, puede puntuar eficazmente en un contexto de múltiples idiomas sin verse influenciado por su comportamiento en un contexto monolingüe (inglés o francés).
Como usar
El siguiente ejemplo se basa en la API Pipeline de la biblioteca Transformers.
from transformers import pipeline
reranker = pipeline(
task='feature-extraction',
model='cmarkea/bloomz-3b-reranking',
top_k=None
)
query: str
contexts: List[str]
similarities = reranker(
[
dict(
text=context, # el modelo se entrenó con el contexto en `text`
text_pair=query # y la consulta en el argumento `text_pair`.
)
for context in contexts
]
)
contexts_reranked = sorted(
filter(
lambda x: x[0]['label'] == "LABEL_1",
zip(similarities, contexts)
),
key=lambda x: x[0],
reverse=True
)
score, contexts_cleaned = zip(
*filter(
lambda x: x[0] >= 0.8,
contexts_reranked
)
)
Funcionalidades
- Medición de la correspondencia semántica entre una consulta y un contexto.
- Puntuación normalizada para filtrar coincidencias consulta/contexto.
- Reordenamiento de resultados de búsqueda eficientes.
- Independencia del idioma (soporte multilingüe para francés e inglés).
Casos de uso
- Filtrado y reordenamiento de resultados de búsqueda en aplicaciones ODQA.
- Mejora de la precisión de las respuestas en sistemas de preguntas y respuestas.
- Aplicaciones que requieren puntuar correspondencias semánticas en múltiples idiomas.