Cite

En vivo

Proyecto personal explorando RAG agéntico. Cada respuesta está respaldada por citas en línea; al hacer clic en una se abre el documento fuente en la región exacta que la generó, y un juez automatizado evalúa si la fuente realmente sustenta la afirmación.

Rol
Solo — diseño, ingeniería
Período
mar 2026 – Actual
Stack
  • Next.js 16
  • TypeScript
  • Tailwind v4
  • shadcn/ui (Radix Nova)
  • Anthropic SDK (Sonnet 4.6 + Haiku 4.5)
  • Voyage 3 Large embeddings + Voyage Rerank 2.5
  • LlamaParse
  • Supabase (Auth + Postgres + pgvector)
  • Prisma
  • Inngest
  • Yarn 4

Qué hace

Los equipos suben sus documentos — PDFs, Word, HTML, Markdown — y chatean con ellos en lenguaje natural. Cada respuesta está respaldada por citas en línea. Al hacer clic en una cita se abre el documento fuente en la región exacta que generó la respuesta, con el fragmento relevante resaltado, y un juez automatizado evalúa si esa fuente realmente sustenta la afirmación.

Vista de respuesta de Cite: una pregunta y la respuesta de Cite con chips de citas numerados, junto a un panel fuente que muestra el pasaje exacto resaltado, marcado como Supported con un puntaje de confianza de 0.92.
Cada afirmación lleva una cita; el panel fuente muestra el pasaje exacto, calificado Supported · 0.92 por el juez.

Por qué lo construí

No es un producto — es un proyecto personal. Los chatbots RAG sin citas son infalsificables. El anclaje de citas hace que el output del modelo sea verificable, que es el punto central de usar un sistema de recuperación. También quería diseñar una UI donde la cita sea la interacción principal, no una nota al pie — el visor de documentos tiene el mismo peso que el chat — y cerrar el ciclo con un juez que evalúe si la fuente citada realmente sustenta la afirmación.

Cómo funciona

Recuperación agéntica

El modelo planifica e itera recuperaciones antes de responder: búsqueda híbrida de vectores + palabras clave sobre pgvector, descomposición de subconsultas para preguntas de múltiples partes, y Voyage Rerank 2.5 sobre el conjunto de candidatos. Ejecuta una verificación de suficiencia antes de responder — o declara que no puede.

El visor de citas

Al hacer clic en una cita se abre la fuente en un panel lateral, desplazado hasta el fragmento preciso — un bounding box en una página PDF (vía análisis de diseño de LlamaParse) o un rango de texto en HTML — resaltado en el flujo de evidencia. Un panel redimensionable vuelve a su posición cuando terminás.

Visor de documentos de Cite mostrando la página 12 de un PDF de MSA con la cláusula citada resaltada y anclada al marcador de cita 1.
Al hacer clic en una cita, el visor salta a la página y el fragmento exacto de donde proviene.

Auditoría de citas

Un juez automatizado califica cada cita como Supported, Partial o Unsupported, con un puntaje de confianza y un razonamiento breve. Los administradores tienen un dashboard para revisar las débiles — filtrar por afirmaciones no respaldadas en contexto, con razonamiento por cita en lugar de un único número opaco.

Colaboración y tenencia

Presencia en vivo, sincronización de mensajes en tiempo real y comentarios en hilo sobre mensajes y regiones del documento mantienen al equipo trabajando sobre una única fuente de verdad. Los documentos permanecen dentro del workspace de la organización, visibles solo para los miembros según su rol. La interfaz está disponible en inglés y portugués brasileño.

Estado

Disponible en cite.picoral.me. El pipeline de recuperación agéntica, el visor de citas y el juez funcionan de punta a punta; el foco actual es pulir la colaboración.

Preguntas

¿Qué es Cite?

Cite es una aplicación de chat con recuperación agéntica aumentada. Los equipos suben sus documentos y hacen preguntas en lenguaje natural. Cada respuesta está respaldada por citas en línea — al hacer clic en una se abre el documento fuente en la región exacta que generó la respuesta, con el fragmento relevante resaltado.

¿En qué se diferencia Cite de un chatbot RAG típico?

Dos cosas. Primero, la recuperación es agéntica — el modelo planifica e itera búsquedas híbridas de vectores + palabras clave con reranking antes de responder, en lugar de una única búsqueda por similitud top-k. Segundo, la cita es la interfaz, no una nota al pie. Las citas son elementos clicables que desplazan sincrónicamente el visor de documentos hasta el fragmento citado, así la verificación es un clic en lugar de una búsqueda.

¿Cómo se verifican las citas?

Un juez automatizado compara cada afirmación citada con su pasaje fuente y la etiqueta como Supported, Partial o Unsupported, con un puntaje de confianza y un razonamiento breve. Convierte el "confía en el modelo" en "revisa la evidencia".

¿Qué formatos de archivo puede procesar Cite?

PDF, DOCX, HTML y Markdown, hasta 100 MB cada uno. LlamaParse se encarga del análisis de PDFs con reconocimiento de diseño; Cite divide en fragmentos, genera embeddings con Voyage 3 Large y los indexa, mostrando el estado de ingesta por documento.