jina-reranker-v1-tiny-en

jinaai
Clasificación de texto

Este modelo está diseñado para reordenar de forma extremadamente rápida manteniendo un rendimiento competitivo. Además, aprovecha el poder de nuestro modelo JinaBERT como base. JinaBERT es una variante única de la arquitectura BERT que soporta la variante simétrica bidireccional de ALiBi. Esto permite que el jina-reranker-v1-tiny-en procese secuencias de texto significativamente más largas en comparación con otros modelos de reordenamiento, hasta unos impresionantes 8192 tokens. Para lograr la velocidad notable, el jina-reranker-v1-tiny-en emplea una técnica llamada destilación del conocimiento. Aquí, un modelo complejo pero más lento (como nuestro original jina-reranker-v1-base-en) actúa como un maestro, condensando su conocimiento en un modelo estudiante más pequeño y rápido. Este estudiante conserva la mayoría del conocimiento del maestro, lo que le permite ofrecer una precisión similar en una fracción del tiempo.

Como usar

curl https://api.jina.ai/v1/rerank \n-H "Content-Type: application/json" \n-H "Authorization: Bearer YOUR_API_KEY" \n-d '{
  "model": "jina-reranker-v1-tiny-en",
  "query": "Productos de cuidado de la piel orgánicos para piel sensible",
  "documents": [
    "Utensilios de cocina ecológicos para hogares modernos",
    "Productos de limpieza biodegradables para consumidores conscientes del medio ambiente",
    "Ropa de bebé de algodón orgánico para piel sensible",
    "Gama de cuidado de la piel orgánica natural para piel sensible",
    "Gadgets tecnológicos para hogares inteligentes: edición 2024",
    "Herramientas de jardinería sostenibles y soluciones de compostaje",
    "Limpiadores faciales y tónicos aptos para piel sensible",
    "Envolturas y soluciones de almacenamiento de alimentos orgánicas",
    "Alimentos para mascotas totalmente naturales para perros con alergias",
    "Esterillas de yoga hechas con materiales reciclados"
  ],
  "top_n": 3
}'

pip install -U sentence-transformers

from sentence_transformers import CrossEncoder

# Cargar el modelo, aquí usamos nuestro modelo de tamaño pequeño
tmodel = CrossEncoder("jinaai/jina-reranker-v1-tiny-en", trust_remote_code=True)

# Ejemplo de consulta y documentos
query = "Productos de cuidado de la piel orgánicos para piel sensible"
documents = [
  "Utensilios de cocina ecológicos para hogares modernos",
  "Productos de limpieza biodegradables para consumidores conscientes del medio ambiente",
  "Ropa de bebé de algodón orgánico para piel sensible",
  "Gama de cuidado de la piel orgánica natural para piel sensible",
  "Gadgets tecnológicos para hogares inteligentes: edición 2024",
  "Herramientas de jardinería sostenibles y soluciones de compostaje",
  "Limpiadores faciales y tónicos aptos para piel sensible",
  "Envolturas y soluciones de almacenamiento de alimentos orgánicas",
  "Alimentos para mascotas totalmente naturales para perros con alergias",
  "Esterillas de yoga hechas con materiales reciclados"
]

results = model.rank(query, documents, return_documents=True, top_k=3)

!pip install transformers

from transformers import AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained(
'jinaai/jina-reranker-v1-tiny-en', num_labels=1, trust_remote_code=True
)

# Ejemplo de consulta y documentos
query = "Productos de cuidado de la piel orgánicos para piel sensible"
documents = [
  "Utensilios de cocina ecológicos para hogares modernos",
  "Productos de limpieza biodegradables para consumidores conscientes del medio ambiente",
  "Ropa de bebé de algodón orgánico para piel sensible",
  "Gama de cuidado de la piel orgánica natural para piel sensible",
  "Gadgets tecnológicos para hogares inteligentes: edición 2024",
  "Herramientas de jardinería sostenibles y soluciones de compostaje",
  "Limpiadores faciales y tónicos aptos para piel sensible",
  "Envolturas y soluciones de almacenamiento de alimentos orgánicas",
  "Alimentos para mascotas totalmente naturales para perros con alergias",
  "Esterillas de yoga hechas con materiales reciclados"
]

# construir pares de oraciones
sentence_pairs = [[query, doc] for doc in documents]

scores = model.compute_score(sentence_pairs)

Funcionalidades

Reordenamiento extremadamente rápido
Procesamiento de secuencias de texto largas (hasta 8192 tokens)
Utiliza el modelo JinaBERT
Emplea destilación del conocimiento

Casos de uso

Reordenamiento rápido de resultados de búsqueda
Procesar secuencias de texto largas para análisis
Acelerar modelos de lenguaje basados en la arquitectura BERT
Mejora de la precisión en clasificación de textos