Preguntar a IA local de Docs
Permite hacer una pregunta desde la wiki pública de Docs y recibir una respuesta generada en el navegador con IA local. El asistente usa artículos públicos como contexto, no requiere iniciar sesión y no guarda la conversación en backend.
En este artículo
Usa este flujo cuando estés consultando la documentación pública y quieras una respuesta rápida basada en los artículos de Docs disponibles. El panel vive dentro de la wiki pública y aparece desde el botón flotante `Preguntar en Docs`.
La respuesta depende de `globalThis.LanguageModel` en el navegador. Si el navegador o el dispositivo no soportan IA local, la wiki sigue funcionando con navegación, búsqueda y lectura normal de artículos.
Antes de empezar
- Abrir una ruta pública de Docs, como `/docs`, `/docs/:sectionSlug/:articleSlug`, `/manual` o `/wiki`.
- La pantalla debe haber cargado artículos desde `GET /api/public/docs`; si el índice está vacío, el asistente no aparece.
- El navegador debe exponer `globalThis.LanguageModel` y estar en un estado usable para preguntar.
- La pregunta debe tener texto real tras quitar espacios al inicio y al final.
- La API pública de Docs debe poder devolver el índice y los detalles de los artículos usados como contexto.
Instrucciones
- 1.
Abrir la wiki pública de Docs
Entra en `/docs` o en un artículo concreto, por ejemplo `/docs/acceso/es-iniciar-sesion-nativa?lang=es`. No necesitas sesión de Antylogic ni permisos de `Grupo Marea Demo`; esta superficie usa el contrato público de Docs.
- 2.
Abrir el panel Preguntar en Docs
Pulsa el botón flotante `Preguntar en Docs`. El panel muestra el estado de IA local del navegador y el campo de pregunta. Si el navegador no soporta `globalThis.LanguageModel` o el dispositivo no cumple requisitos, el campo queda deshabilitado.
- 3.
Escribir una pregunta operativa
Escribe una pregunta concreta, como `¿Cómo inicio sesión en la app nativa?`, y pulsa `Preguntar`. El asistente bloquea preguntas vacías, evita dobles envíos mientras responde y cancela una solicitud anterior si empiezas otra.
- 4.
Esperar la respuesta local
El asistente prioriza el artículo abierto como contexto y completa hasta cuatro artículos según coincidencias en título, palabra clave y resumen. Después carga los detalles públicos con `GET /api/public/docs/{sectionSlug}/{articleSlug}` y genera la respuesta en el navegador.
- 5.
Revisar fuentes y límites
Cuando termina, el panel muestra `Respuesta local` y `Artículos usados`. Los enlaces de fuentes apuntan a rutas canónicas `/docs/{section_slug}/{slug}`, aunque hayas entrado desde `/manual` o `/wiki`.
- 6.
Limpiar o cerrar el panel
Usa `Limpiar` para cancelar una solicitud activa y borrar pregunta, respuesta, errores, fuentes y progreso de descarga. Al recargar o desmontar la pantalla, el estado local se pierde.
Validaciones y límites
- No existe un endpoint `POST` para preguntar; la generación ocurre en el navegador con `globalThis.LanguageModel`.
- La pregunta, respuesta, fuentes, error y progreso viven solo en estado React; no se guardan en base de datos ni en API.
- El contexto máximo son cuatro artículos y el texto enviado al modelo se recorta a 12000 caracteres.
- La respuesta no está validada por backend contra las fuentes; el producto limita el alcance mediante prompt y mostrando los artículos usados.
- Si `LanguageModel.availability`, `create` o `prompt` fallan por firma no soportada, el código reintenta con opciones más simples.
- Si la respuesta queda vacía o falla la carga de detalles, el panel muestra un mensaje localizado y no persiste nada.
- Esta funcionalidad está limitada a la landing pública; la `DocumentationPage` autenticada de app nativa no monta `DocsLocalAIAssistant`.
Resultado esperado
El visitante obtiene una respuesta local basada en artículos de Docs y puede abrir las fuentes usadas. Si la IA local no está disponible, la wiki conserva la navegación y búsqueda normal sin simular una respuesta.