Halong Embedding

hiieu
Similitud de oraciones

Halong Embedding es una incrustación de texto en vietnamita centrada en la eficiencia de producción y RAG (Recuperación de Información Asistida por Generación). Está entrenado en un conjunto de datos propio que consta de aproximadamente 100,000 ejemplos de preguntas y documentos relacionados. Se ha entrenado con una pérdida Matryoshka, permitiendo truncar incrustaciones con pérdida mínima de rendimiento: las incrustaciones más pequeñas son más rápidas de comparar. Este es un modelo de sentence-transformers ajustado con intfloat/multilingual-e5-base. Mapea oraciones y párrafos a un espacio vectorial denso con dimensiones de 768 y puede usarse para similitud textual semántica, búsqueda semántica, minería de paráfrasis, clasificación de texto, agrupamiento, y más.

Como usar

Uso Directo (Sentence Transformers)

pip install -U sentence-transformers

from sentence_transformers import SentenceTransformer
import torch

# Descargar desde el Hub de 🤗
model = SentenceTransformer("hiieu/halong_embedding")

# Definir consulta y documentos
query = "Bóng đá có lợi ích gì cho sức khỏe?"
docs = [
"Bóng đá giúp cải thiện sức khỏe tim mạch y aumentar la resistencia.",
"Bóng đá es el deporte más popular del mundo.",
"Jugar al fútbol reduce el estrés y mejora el estado psicológico.",
"El fútbol puede ayudarte a conectarte con más personas.",
"El fútbol no solo es un deporte, también es una forma de entretenimiento."
]

# Codificar consulta y documentos
query_embedding = model.encode([query])
doc_embeddings = model.encode(docs)
similarities = model.similarity(query_embedding, doc_embeddings).flatten()

# Ordenar documentos por similitud del coseno
sorted_indices = torch.argsort(similarities, descending=True)
sorted_docs = [docs[idx] for idx in sorted_indices]
sorted_scores = [similarities[idx].item() for idx in sorted_indices]

# Imprimir documentos ordenados con sus puntuaciones de similitud del coseno
for doc, score in zip(sorted_docs, sorted_scores):
    print(f"Documento: {doc} - Similitud de Coseno: {score:.4f}")

Inferencia de Incrustaciones Matryoshka

from sentence_transformers import SentenceTransformer
import torch.nn.functional as F
import torch

matryoshka_dim = 64
model = SentenceTransformer(
"hiieu/halong_embedding",
truncate_dim=matryoshka_dim,
)

# Definir consulta y documentos
query = "Bóng đá có lợi ích gì cho sức khỏe?"
docs = [
"Bóng đá giúp cải thiện sức khỏe tim mạch y aumentar la resistencia.",
"Bóng đá es el deporte más popular del mundo.",
"Jugar al fútbol reduce el estrés y mejora el estado psicológico.",
"El fútbol puede ayudarte a conectarte con más personas.",
"El fútbol no solo es un deporte, también es una forma de entretenimiento."
]

# Codificar consulta y documentos
query_embedding = model.encode([query])
doc_embeddings = model.encode(docs)
similarities = model.similarity(query_embedding, doc_embeddings).flatten()

# Ordenar documentos por similitud del coseno
sorted_indices = torch.argsort(similarities, descending=True)
sorted_docs = [docs[idx] for idx in sorted_indices]
sorted_scores = [similarities[idx].item() for idx in sorted_indices]

# Imprimir documentos ordenados con sus puntuaciones de similitud del coseno
for doc, score in zip(sorted_docs, sorted_scores):
    print(f"Documento: {doc} - Similitud de Coseno: {score:.4f}")

Funcionalidades

Modelo sentence-transformers
Modelo base: intfloat/multilingual-e5-base
Longitud máxima de secuencia: 512 tokens
Dimensionalidad de salida: 768 tokens
Función de similitud: Similitud del coseno
Idioma: centrado en vietnamita, multilingüe
Licencia: apache-2.0

Casos de uso

Similitud textual semántica
Búsqueda semántica
Minería de paráfrasis
Clasificación de texto
Agrupamiento