spladev2-camembert-base-mmarcoFR

antoinelouis
Similitud de oraciones

Este es un modelo SPLADE-max para francés que puede ser utilizado para búsqueda semántica. El modelo mapea consultas y pasajes a vectores dispersos de 32k dimensiones que se utilizan para calcular la relevancia a través de la similitud coseno.

Como usar

Para comenzar a utilizar el modelo, instale primero la librería:

pip install -U transformers

Luego, puede usar el modelo de la siguiente manera:

import torch
from torch.nn.functional import relu, normalize
from transformers import AutoTokenizer, AutoModel

queries = ["Ceci est un exemple de requête.", "Voici un second exemple."]
passages = ["Ceci est un exemple de passage.", "Et voilà un deuxième exemple."]

tokenizer = AutoTokenizer.from_pretrained('antoinelouis/spladev2-camembert-base-mmarcoFR')
model = AutoModel.from_pretrained('antoinelouis/spladev2-camembert-base-mmarcoFR')

q_input = tokenizer(queries, padding=True, truncation=True, return_tensors='pt')
p_input = tokenizer(passages, padding=True, truncation=True, return_tensors='pt')

with torch.no_grad():
  q_output = model(**q_input)
  p_output = model(**p_input)

q_activations = torch.amax(torch.log1p(relu(q_output.logits * q_input['attention_mask'].unsqueeze(-1))), dim=1)
p_activations = torch.amax(torch.log1p(relu(p_output.logits * p_input['attention_mask'].unsqueeze(-1))), dim=1)

q_activations = normalize(q_activations, p=2, dim=1)
p_activations = normalize(p_activations, p=2, dim=1)

similarity = q_activations @ p_activations.T
print(similarity)

Funcionalidades

Transformers
Safetensors
Camembert
Rellenar máscara
Recuperación de pasajes
Compatibilidad con AutoTrain
Inferencia de representaciones de texto
Compatibilidad con endpoints

Casos de uso

Búsqueda semántica
Recuperación de pasajes relevantes
Evaluación de la relevancia de documentos en función de consultas basadas en similitud coseno