Respuestas con citas
Una respuesta sin fuente es una afirmación que hay que creer por fe. Este endpoint acompaña cada respuesta generada con los pasajes específicos de donde salió, para que un lector, o un revisor de cumplimiento, pueda verificarla en segundos.
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 confianza es el verdadero producto
Un modelo puede producir una respuesta fluida y segura sin que esa respuesta esté anclada en nada real. Esa brecha no molesta para una lluvia de ideas, pero resulta peligrosa cuando un cliente, un regulador o un equipo legal va a confiar en ella. rag.answer_sources existe para el segundo caso: equipos que construyen herramientas de soporte, bases de conocimiento internas o asistentes de investigación que necesitan que cada oración se pueda rastrear hasta un pasaje que alguien pueda abrir y leer por sí mismo.
Qué necesita la solicitud y qué recibe usted
Envíe POST a /rag/answer-sources con una pregunta y el conjunto de documentos o índice donde buscar, y la tarea corre de forma asíncrona: recibe un task_id de inmediato y el resultado terminado llega después, mediante una llamada de webhook firmada o un enlace firmado válido por 24 horas. La respuesta no es solo prosa: es una respuesta acompañada de los pasajes específicos, con suficiente detalle de ubicación para señalar de dónde exactamente salió cada afirmación.
Primero recuperar, luego generar, no generar sin más
Este es el patrón de generación aumentada por recuperación, que surgió justamente para resolver el problema de las respuestas sin fundamento: en lugar de pedirle a un modelo que responda solo con lo que memorizó durante su entrenamiento, el sistema primero recupera los pasajes más relevantes para la pregunta y luego genera una respuesta limitada a lo que esos pasajes realmente dicen. Citar las fuentes no es un adorno sobre ese patrón; es el paso de verificación que hace que valga la pena recuperar los pasajes en primer lugar, porque una cita escondida no vale más que ninguna cita.
Cómo encaja en un flujo automatizado
Como la tarea se cobra por solicitud más por consulta y corre de forma asíncrona, encaja sin fricción en un trabajo por lotes que responde un pendiente de preguntas durante la noche, o en una herramienta en vivo donde una consulta se resuelve en segundo plano mientras su interfaz hace otra cosa. Una tarea fallida no cuesta nada, hay tres reintentos automáticos antes de mostrar un error claro, así que una cola de mil preguntas se comporta de forma predecible.
Quién elige esto en vez de una respuesta de chat común
Cualquiera que después tenga que defender una respuesta. Un equipo de recursos humanos que documenta cómo llegó a interpretar una política, un grupo de investigación que construye un asistente de literatura, o un área legal o de cumplimiento que revisa lenguaje contractual necesitan el pasaje original, no solo el resumen. Las respuestas con citas convierten a un chatbot, de un oráculo que uno espera que tenga razón, en una herramienta de investigación cuya salida realmente se puede comprobar.
Qué puede hacer con ella
Interpretación de políticas con rastro auditable
Un equipo de recursos humanos pregunta sobre una regla de beneficios y recibe la respuesta junto con la cláusula exacta del documento de política, lista para adjuntar a un ticket.
Asistente de investigación sobre una colección de artículos
Un grupo de investigación consulta un conjunto de artículos y recibe una respuesta con los pasajes citados, para que un revisor pueda verificar la afirmación antes de incluirla en un informe.
Revisión legal de contratos
Un equipo legal pregunta si existe una cláusula dentro de un conjunto de contratos y recibe una respuesta con cita que señala la sección exacta, reduciendo la revisión manual de documentos.
Soporte al cliente con respuestas verificables
Una plataforma de soporte responde una pregunta de facturación y le muestra al agente el pasaje de origen junto a la respuesta, para que pueda citarlo con seguridad.
Preguntas frecuentes
¿Cómo funciona la API RAG con fuentes?
Envíe por POST una pregunta y su conjunto de documentos a /rag/answer-sources, y recibirá una respuesta junto con los pasajes específicos que la respaldan, entregados por webhook o mediante un enlace firmado válido por 24 horas.
¿Es gratis la API RAG con citas?
No, no hay plan gratuito ni prueba; cuesta $0.003 por solicitud más $0.015 por consulta, y una tarea fallida nunca se cobra.
¿Qué diferencia esto de una respuesta RAG normal?
Cada respuesta viene acompañada de los pasajes de origen exactos de donde proviene, no solo un resumen generado, así que usted puede verificar la afirmación en lugar de confiar en ella a ciegas.
¿Puedo usarla para revisión legal o de cumplimiento?
Sí, porque cada respuesta señala el pasaje específico del que proviene, está pensada exactamente para las situaciones donde hay que mostrar de dónde salió cada dato.
¿Qué formatos de documentos puedo consultar?
Cualquier conjunto de documentos o índice que usted proporcione como parte de la solicitud; el endpoint recupera de ahí los pasajes relevantes antes de generar la respuesta con cita.
¿Puedo procesar un lote grande de preguntas?
Sí, envíe una tarea asíncrona por pregunta y reciba cada resultado por webhook a medida que termine, lo cual escala sin problema a lotes grandes.
¿Ya está disponible este endpoint?
Sí, /rag/answer-sources está en vivo y aceptando tráfico de producción en este momento.
¿Se conservan mis documentos después de la consulta?
No, los documentos enviados y los resultados se eliminan después del período de retención y nunca se usan para entrenamiento.
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/rag/answer-sources \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/rag/answer-sources", {
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/rag/answer-sources",
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/rag/answer-sources", 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/rag/answer-sources", 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": "rag.answer_sources",
"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. |
422 | task_failed | La tarea falló tras 3 reintentos. No se cobra. |