Chatear con una web
Un bot de soporte que responde con conocimiento general tarde o temprano inventa una política que su empresa nunca tuvo. Este endpoint limita cada respuesta a lo que realmente está publicado en su sitio, para que el bot no pueda decir más de lo que dicen sus propias páginas.
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.
El problema de alcance que enfrenta todo chatbot de sitio
Un chatbot genérico responde con fluidez sin importar si realmente conoce su política de devoluciones, sus planes de precios o los pasos de incorporación, y una respuesta incorrecta dicha con seguridad es peor para la experiencia de soporte que no responder nada. rag.chat_website resuelve el problema de alcance directamente: el conocimiento del bot queda limitado a las páginas que usted le indica, así que una pregunta fuera de ese alcance se trata como tal, no se adivina.
Cómo se estructura una solicitud
Envíe POST a /rag/chat-website con el sitio o el conjunto de páginas del cual partir y la pregunta del visitante, y la tarea corre de forma asíncrona: recibe un task_id de inmediato y la respuesta llega después, mediante una llamada de webhook firmada o un enlace firmado válido por 24 horas. La respuesta permanece anclada al contenido del sitio que se indexó, lo cual significa que actualizar las páginas fuente es la forma de corregir o ampliar lo que sabe el bot, no reentrenar nada.
Por qué un sitio web es una fuente más difícil que un solo documento
Un sitio web no es un texto estático único; son decenas o cientos de páginas que se editan, se agregan y a veces quedan desactualizadas, con la respuesta real a una pregunta a veces repartida entre una página de precios y una sección de preguntas frecuentes distinta. La recuperación tiene que encontrar las páginas correctas entre todas ellas antes de poder generar una respuesta, lo cual es un problema distinto a responder desde un solo archivo autocontenido. Precisamente por eso este patrón supera a un guion de preguntas frecuentes escrito a mano: se adapta automáticamente conforme cambia el contenido real del sitio, en lugar de desajustarse con un guion que nadie recordó actualizar.
Desplegarlo como una superficie de soporte en vivo
Como la tarea se cobra por solicitud más por consulta y corre de forma asíncrona, los equipos suelen colocarla detrás de un widget de chat donde cada pregunta dispara una solicitud y la respuesta vuelve a la interfaz por webhook. Un puñado de preguntas al día o varios miles cuestan lo mismo por unidad, así que un lanzamiento con tráfico repentino no requiere replanificar nada.
El modo de fallo honesto importa tanto como la respuesta
La verdadera prueba de un bot limitado a un sitio no es qué tan bien responde las preguntas fáciles, sino qué hace cuando un visitante pregunta algo que sus páginas simplemente no cubren. Como el bot solo se apoya en el contenido indexado del sitio, una pregunta genuinamente sin respuesta aparece como tal en vez de convertirse en una invención con apariencia plausible, y esa es la diferencia entre una herramienta de soporte en la que la gente confía y una que erosiona esa confianza en silencio la primera vez que se equivoca.
Qué puede hacer con ella
Chat previo a la venta en un sitio de marketing
Una empresa de software deja que los visitantes pregunten sobre precios y funciones, respondidas estrictamente desde la página de precios publicada y la documentación, sin especificaciones inventadas.
Ayuda de incorporación dentro de un producto
Un equipo de producto responde preguntas de 'cómo configuro X' apoyándose solo en los artículos vigentes del centro de ayuda, manteniéndose preciso conforme esos artículos cambian.
Preguntas sobre políticas de una tienda en línea
Una tienda en línea responde preguntas de envío y devoluciones desde sus páginas de política reales, evitando el riesgo de que un bot invente una política más generosa.
Búsqueda en documentación para desarrolladores
Una plataforma para desarrolladores permite hacer una pregunta en lenguaje sencillo y recibir una respuesta basada en las páginas actuales de la documentación de la API.
Preguntas frecuentes
¿Cómo funciona la API para chatear con un sitio web?
Envíe por POST el sitio o las páginas a indexar junto con la pregunta del visitante a /rag/chat-website, y reciba la respuesta anclada al contenido por webhook o mediante un enlace firmado válido por 24 horas.
¿Es gratis la API de chatbot para sitios web?
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.
¿El bot responderá preguntas ajenas a mi sitio?
No, las respuestas se toman únicamente del contenido del sitio indexado, así que las preguntas fuera de ese alcance se tratan como sin respuesta en lugar de adivinarse.
¿Cómo actualizo lo que sabe el bot?
Actualice las páginas fuente que le indica al endpoint; no hay un paso de reentrenamiento separado, ya que cada solicitud vuelve a leer el contenido vigente.
¿Puede manejar un sitio web grande con muchas páginas?
Sí, recupera las páginas relevantes de todo su sitio antes de generar cada respuesta, sin importar cuántas páginas tenga.
¿Puedo integrarlo en un widget de chat en vivo?
Sí, cada pregunta de un visitante corresponde a una solicitud asíncrona, y la respuesta se puede entregar por webhook a su interfaz de chat cuando termina.
¿Ya está disponible este endpoint?
Sí, /rag/chat-website está en vivo y aceptando tráfico de producción en este momento.
¿Se guarda el contenido de mi sitio después de responder?
No, el contenido indexado 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/chat-website \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/rag/chat-website", {
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/chat-website",
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/chat-website", 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/chat-website", 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.chat_website",
"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. |