Saltar al contenido principal

Chat web

GRAIL trae un chat web bilingüe listo para usar — backend FastAPI, frontend React. Sin configuración adicional, sirve el chat sobre tu proyecto y queda accesible por navegador.

Pantalla de bienvenida del chat web de GRAIL en español

Levantarlo​

uv run grail ui ./mi-proyecto

Esto arranca el servidor en http://127.0.0.1:8765 por defecto. Abre esa URL en cualquier navegador.

Flags útiles:

FlagDefaultPara qué
--host, -h127.0.0.1Dirección de bind. Usa 0.0.0.0 para exponerlo en la red local.
--port, -p8765Puerto del servidor.
--devoffHabilita CORS para Vite dev server en :5173. Solo si estás iterando el frontend.
--debugoffImprime cada prompt y respuesta de LLM en la terminal con colores. Útil para entender qué hace el agente.

Primer ingreso​

La primera vez que abres el chat te pide crear una cuenta — usuario y contraseña. Esto crea el primer usuario administrador. Después puedes:

  • Loguearte con esa cuenta en futuras sesiones
  • Crear cuentas adicionales desde el panel de usuarios

Las cuentas viven en SQLite local (<proyecto>/.grail/users.db), no se sincronizan a ninguna parte.

Lo que ves en pantalla​

  • + Nuevo chat — crea una sesión nueva.
  • Lista de chats — agrupados por fecha (Hoy, Ayer, Esta semana, …). Cada chat se renombra automáticamente con el título de tu primera pregunta.
  • Tu cuenta abajo — email y el modo activo de GRAIL.
  • Selector de idioma — alterna entre ES y EN sin recargar. La interfaz completa cambia: títulos, descripciones, placeholders y prompts del agente.
Nuevo en esta versión

El chat web ahora es bilingüe ES/EN. El selector queda fijo en el footer del sidebar y persiste tu preferencia entre sesiones.

Pantalla de bienvenida​

Aparece cuando abres un chat nuevo, con tres elementos para arrancar sin pensar:

  • Tagline animada — "Pregúntale a tu grafo de conocimiento".
  • Tarjetas de modo recomendado — Agente (recomendado), Local, Global con descripciones de cuándo elegir cada uno.
  • Preguntas sugeridas — chips clicables como "¿Cuáles son los temas principales en mis documentos?" para no quedarse mirando un cursor parpadeando.

Selector de modo (sobre el input)​

Tienes acceso rápido a los modos de búsqueda principales:

  • Agente ⭐ — el LLM decide qué modo usar por cada pregunta. Default recomendado.
  • Local — entidades como ancla.
  • Cascada — entidades + rescate de texto. Mejor para hechos específicos.
  • Global — síntesis temática sobre comunidades.
  • Rerank — toggle que activa o desactiva el reranker cross-encoder.

Ver los seis modos de búsqueda si necesitas decidir cuál usar.

Input y streaming​

  • Enter envía. Shift+Enter inserta un salto de línea.
  • La respuesta se va streameando en tiempo real — verás texto aparecer palabra por palabra mientras el LLM piensa.
  • El markdown se renderiza con código, tablas, listas y citas.
  • Cuando el agente termina, ves un resumen abajo: cuántas llamadas a LLM se hicieron y el tiempo total.

Panel de fuentes​

Cada respuesta abre (opcionalmente) un panel lateral con las fuentes citadas: archivos exactos, número de chunk, snippets relevantes. Click en cualquiera para ver el contenido completo.

Esto es lo que hace que GRAIL no sea una caja negra — puedes verificar de dónde sacó cada afirmación.

Acceder desde otra máquina​

Si quieres conectarte desde tu teléfono o desde una segunda máquina en la red local:

uv run grail ui ./mi-proyecto --host 0.0.0.0 --port 8765

Luego desde el otro dispositivo abre http://<ip-de-tu-mac>:8765. Cuidado: esto deja el chat expuesto en tu red local, no en internet.

Comportamiento por sesión​

  • Las sesiones se persisten automáticamente en <proyecto>/.grail/chat.db (SQLite).
  • Puedes cerrar el chat y seguir donde lo dejaste — solo abre la misma sesión desde la lista lateral.
  • Cada sesión guarda el historial completo: tus preguntas, las respuestas, las herramientas que usó el agente, los costos por pregunta.

Si algo se ve raro​

SíntomaProbable causaSolución
El chat se queda colgado en "Cargando…"El proyecto no ha sido indexadoEjecuta grail index ./mi-proyecto primero
Respuestas vacíasLa pregunta no matchea ninguna entidadReformula con la fórmula QUIÉN + QUÉ + términos
401 al loguearteContraseña incorrecta o BD corruptaBorra <proyecto>/.grail/users.db y crea cuenta de nuevo
Missing dependencies for the chat UIFalta el extra uiuv pip install -e ".[ui]"

Siguiente paso​