gte-micro

Mihaiii
Similitud de oraciones

Este modelo es una versión destilada de gte-small. Está diseñado para su uso en la autocompletar semántico y tiene limitaciones similares a gte-small.

Como usar

Este modelo está diseñado para el uso en la autocompletar semántico.

import torch.nn.functional as F
from torch import Tensor
from transformers import AutoTokenizer, AutoModel

def average_pool(last_hidden_states: Tensor,
attention_mask: Tensor) -> Tensor:
  last_hidden = last_hidden_states.masked_fill(~attention_mask[..., None].bool(), 0.0)
  return last_hidden.sum(dim=1) / attention_mask.sum(dim=1)[..., None]

input_texts = [
  "¿Cuál es la capital de China?",
  "¿Cómo implementar quick sort en python?",
  "Beijing",
  "algoritmos de ordenación"
]

tokenizer = AutoTokenizer.from_pretrained("Mihaiii/gte-micro")
model = AutoModel.from_pretrained("Mihaiii/gte-micro")

# Tokenizar los textos de entrada
batch_dict = tokenizer(input_texts, max_length=512, padding=True, truncation=True, return_tensors='pt')

outputs = model(**batch_dict)
embeddings = average_pool(outputs.last_hidden_state, batch_dict['attention_mask'])

# (Opcionalmente) normalizar los embeddings
embeddings = F.normalize(embeddings, p=2, dim=1)
scores = (embeddings[:1] @ embeddings[1:].T) * 100
print(scores.tolist())

Uso con sentence-transformers:

from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim

sentences = ['Esa es una persona feliz', 'Esa es una persona muy feliz']

model = SentenceTransformer('Mihaiii/gte-micro')
embeddings = model.encode(sentences)
print(cos_sim(embeddings[0], embeddings[1]))

Funcionalidades

Utiliza ONNX y Safetensors
Basado en BERT
Extracción de características
Generación de embeddings de texto

Casos de uso

Autocompletar semántico
Extracción de características
Generación de embeddings de texto
Similaridad de oraciones