Shitao/bge-m3

Shitao
Similitud de oraciones

Este es un modelo de sentence-transformers: Mapea oraciones y párrafos a un espacio vectorial denso de 1024 dimensiones y se puede usar para tareas como la agrupación o la búsqueda semántica.

Como usar

Uso (Sentence-Transformers)

Usar este modelo es fácil cuando tienes sentence-transformers instalado:

pip install -U sentence-transformers

Luego puedes usar el modelo así:

from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]

model = SentenceTransformer('Shitao/bge-m3')
embeddings = model.encode(sentences)
print(embeddings)

Uso (HuggingFace Transformers)

Sin sentence-transformers, puedes usar el modelo de esta manera: Primero, pasas tu entrada a través del modelo transformer, luego debes aplicar la operación de pooling adecuada sobre las incrustaciones de palabras contextualizadas.

from transformers import AutoTokenizer, AutoModel
import torch

def cls_pooling(model_output, attention_mask):
    return model_output[0][:,0]

# Oraciones para las que queremos incrustaciones de oraciones
sentences = ['This is an example sentence', 'Each sentence is converted']

# Cargar modelo desde HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('Shitao/bge-m3')
model = AutoModel.from_pretrained('Shitao/bge-m3')

# Tokenizar oraciones
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')

# Calcular incrustaciones de tokens
with torch.no_grad():
    model_output = model(**encoded_input)

# Realizar pooling. En este caso, pooling cls.
sentence_embeddings = cls_pooling(model_output, encoded_input['attention_mask'])

print("Incrustaciones de oraciones:")
print(sentence_embeddings)

Funcionalidades

Transformers
XLM-Roberta
Safetensors
Extracción de características
Inferencia de incrustaciones de texto
Compatible con AutoTrain
Compatible con Endpoints de inferencia

Casos de uso

Agrupación de oraciones
Búsqueda semántica
Comparación de similitud de oraciones