Reordenar resultados
Su primera búsqueda ya encontró los candidatos correctos en algún lugar de la lista; el problema es que están en la posición once en vez de la uno. Este endpoint toma una consulta y un conjunto de resultados ya recuperados y los reordena según qué tan bien responde cada uno realmente a la consulta, convirtiendo una lista preliminar en un ranking preciso.
Ejecútela online
Ejecute esto en nuestros servidores con su cuenta. Las herramientas gratuitas corren en su navegador; esta cobra de su saldo del KIT según el precio de arriba.
La brecha entre recuperar y ser relevante
La mayoría de los sistemas de búsqueda, incluidos los índices por palabra clave e incluso la búsqueda vectorial, están construidos para maximizar la cobertura: lanzar una red amplia, traer todo lo posiblemente relacionado, y aceptar que el orden dentro de esa red sea aproximado. Es razonable cuando recuperar de forma económica entre millones de candidatos importa más que un orden perfecto, pero deja una brecha: el primer resultado y el undécimo pueden ser ambos relevantes, pero solo uno responde de verdad lo preguntado. Reordenar resultados cierra esa brecha sin tocar cómo se encontraron los candidatos iniciales.
Qué hace el endpoint con su lista preliminar
Envía por POST una consulta junto con un conjunto de candidatos ya acotado a /search/rerank, y la tarea evalúa cada candidato directamente contra la consulta, puntuando la relevancia con más precisión de la que el paso de recuperación inicial podía permitirse, y devuelve el mismo conjunto reordenado según ese puntaje más fino. No se agrega ni se quita nada de su lista; el trabajo del endpoint es poner las entradas correctas cerca del primer lugar, justo lo que un sistema de recuperación de primera pasada suele ser demasiado tosco para acertar solo.
Una segunda pasada más costosa, por diseño
El patrón de dos etapas —recuperar de forma amplia, luego reordenar con precisión— existe porque evaluar cada documento de un corpus grande con la máxima precisión posible sería prohibitivamente lento a gran escala; una primera pasada rápida reduce millones de candidatos a unas decenas o cientos, y una segunda pasada más cuidadosa gasta su presupuesto de atención donde realmente importa. Es la misma división del trabajo que los motores de búsqueda y los sistemas de recomendación usan desde hace años, adaptada aquí a un solo paso que agrega después de cualquier método de recuperación que ya use.
Dónde el reordenamiento se gana su lugar
Es el paso final natural tras la búsqueda por palabra clave, la semántica o la híbrida, cuando los primeros resultados importan más que el resto de la lista, y es central en las canalizaciones RAG, donde solo un puñado de pasajes principales se le pasa a un modelo, así que acertar esa lista corta tiene un efecto grande en la calidad de la respuesta. También ayuda a la recomendación y al emparejamiento de contenido, donde existe un conjunto de candidatos aproximado pero el orden final mostrado necesita ser preciso.
Precio y cómo llegan los resultados
El endpoint cobra una tarifa base pequeña por solicitud más un cargo por consulta, publicado aquí sin costo adicional según cuántos candidatos tenga su lista. Funciona de forma asíncrona: envía la consulta y los candidatos, recibe un task_id de inmediato, y recupera los resultados reordenados mediante webhook firmado o un enlace firmado válido por 24 horas; una tarea fallida reintenta automáticamente hasta tres veces y nunca se cobra si sigue sin completarse.
Qué puede hacer con ella
Afinar el tope de los resultados de búsqueda
Un sitio reordena los primeros cincuenta resultados de su índice de búsqueda existente para que los tres o cuatro elementos genuinamente más relevantes queden hasta arriba en vez de enterrados a la mitad de la lista.
Pasada final de relevancia en una canalización RAG
Un asistente reordena un conjunto amplio de pasajes recuperados hasta el puñado que realmente vale la pena pasarle al modelo, mejorando la fundamentación de la respuesta sin cambiar el paso de recuperación.
Refinamiento de listas de recomendación
Una plataforma de contenido reordena un conjunto de artículos o productos similares por relevancia a una consulta o sesión específica antes de mostrar la lista final al usuario.
Consolidación de resultados de varias fuentes
Un equipo combina resultados obtenidos de varios sistemas de búsqueda distintos y reordena el conjunto combinado por relevancia para producir una sola lista coherente y priorizada.
Preguntas frecuentes
¿Qué hace exactamente una API de reordenamiento de resultados?
Toma una consulta y un conjunto de resultados candidatos ya recuperados y los reordena según qué tan relevante es realmente cada uno para la consulta, sin agregar ni quitar candidatos.
¿Necesito ejecutar primero mi propia búsqueda o paso de recuperación?
Sí, el reordenamiento trabaja sobre un conjunto de candidatos que ya recuperó mediante búsqueda por palabra clave, búsqueda semántica u otro método; es un paso de refinamiento, no un sistema de recuperación independiente.
¿La API de reordenamiento es gratuita?
No hay capa gratuita: las capas gratis se abusan y ralentizan a todos. El acceso funciona con un saldo prepago de ForHosting KIT: se recarga desde $10.00 (no caduca) y cada solicitud se cobra a su precio publicado, así que una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens ni créditos inventados, y una tarea fallida no se cobra.
¿En qué se diferencia del reordenamiento de la búsqueda semántica?
La búsqueda semántica encuentra candidatos en un corpus grande por significado; el reordenamiento toma un conjunto de candidatos ya acotado y lo reordena con relevancia más precisa respecto a la consulta.
¿Cuántos candidatos puedo enviar para reordenar?
Envía la lista corta que ya acotó mediante recuperación; el precio escala por solicitud y por consulta en lugar de un límite artificial de candidatos, aunque el reordenamiento está pensado para una lista corta y enfocada, no para un corpus entero.
¿Cómo recibo los resultados reordenados?
La tarea devuelve un task_id de inmediato y procesa de forma asíncrona, entregando la lista reordenada por webhook firmado o un enlace firmado válido por 24 horas.
¿Por qué no confiar simplemente en el orden original de mi búsqueda?
La recuperación inicial suele optimizarse para velocidad y cobertura sobre un conjunto enorme de candidatos, lo que deja el orden aproximado; el reordenamiento invierte más precisión justo donde importa, en la lista corta que realmente se mostrará o usará.
¿Qué pasa si falla una solicitud de reordenamiento?
La tarea reintenta automáticamente hasta tres veces antes de devolver un error claro, y una solicitud fallida nunca se cobra.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/search/rerank \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/search/rerank", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/search/rerank",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/search/rerank", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/search/rerank", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"input": "…"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "search.rerank",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_chunks | 10000 |
max_tokens | 20000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |